mirror of
https://github.com/rclone/rclone
synced 2024-11-29 07:55:12 +01:00
cache: catch panic and add more logging for #1896
This commit is contained in:
parent
845b22a628
commit
3d2f3d9a7f
7
cache/handle.go
vendored
7
cache/handle.go
vendored
@ -232,6 +232,11 @@ func (r *Handle) getChunk(chunkStart int64) ([]byte, error) {
|
||||
|
||||
// first chunk will be aligned with the start
|
||||
if offset > 0 {
|
||||
if offset >= len(data) {
|
||||
fs.Errorf(r, "unexpected conditions during reading. current position: %v, current chunk position: %v, current chunk size: %v, offset: %v, chunk size: %v, file size: %v",
|
||||
r.offset, chunkStart, len(data), offset, r.cacheFs().chunkSize, r.cachedObject.Size())
|
||||
return nil, io.ErrUnexpectedEOF
|
||||
}
|
||||
data = data[int(offset):]
|
||||
}
|
||||
|
||||
@ -256,7 +261,7 @@ func (r *Handle) Read(p []byte) (n int, err error) {
|
||||
currentOffset := r.offset
|
||||
buf, err = r.getChunk(currentOffset)
|
||||
if err != nil && len(buf) == 0 {
|
||||
fs.Errorf(r, "(%v/%v) empty and error (%v) response", currentOffset, r.cachedObject.Size(), err)
|
||||
fs.Errorf(r, "(%v/%v) error (%v) response", currentOffset, r.cachedObject.Size(), err)
|
||||
return 0, io.EOF
|
||||
}
|
||||
readSize := copy(p, buf)
|
||||
|
Loading…
Reference in New Issue
Block a user