danikula / danikula/AndroidVideoCache

ProxyCacheException: offset < 0: -2147476036

Đang mở
#301 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Java
Star
5.5k
Fork
1.2k
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

The code that caused the exception at com.danikula.videocache.file.FileCache.available(FileCache.java:46)

//old code :
@Override
public synchronized long available() throws ProxyCacheException {
try {
return (int) dataFile.length();
} catch (IOException e) {
throw new ProxyCacheException("Error reading length of file " + file, e);
}
}

//change code
@Override
public synchronized long available() throws ProxyCacheException {
try {
long fileSize = dataFile.length();
return fileSize;
} catch (IOException e) {
throw new ProxyCacheException("Error reading length of file " + file, e);
}
}

this is error log:
com.danikula.videocache.ProxyCacheException: Error writing 8192 bytes to java.io.RandomAccessFile@530f0a3 from buffer with size 8192. Version: 2.7.1
at com.danikula.videocache.file.FileCache.append(FileCache.java:73)
at com.danikula.videocache.ProxyCache.readSource(ProxyCache.java:132)
at com.danikula.videocache.ProxyCache.access$100(ProxyCache.java:19)
at com.danikula.videocache.ProxyCache$SourceReaderRunnable.run(ProxyCache.java:187)
at java.lang.Thread.run(Thread.java:919)
Caused by: java.io.IOException: offset < 0: -2147476036
at java.io.RandomAccessFile.seek(RandomAccessFile.java:612)
at com.danikula.videocache.file.FileCache.append(FileCache.java:69)
at com.danikula.videocache.ProxyCache.readSource(ProxyCache.java:132) 
at com.danikula.videocache.ProxyCache.access$100(ProxyCache.java:19) 
at com.danikula.videocache.ProxyCache$SourceReaderRunnable.run(ProxyCache.java:187) 
at java.lang.Thread.run(Thread.java:919) 

com.danikula.videocache.ProxyCacheException: Error writing 764 bytes to java.io.RandomAccessFile@530f0a3 from buffer with size 8192. Version: 2.7.1
at com.danikula.videocache.file.FileCache.append(FileCache.java:73)
at com.danikula.videocache.ProxyCache.readSource(ProxyCache.java:132)
at com.danikula.videocache.ProxyCache.access$100(ProxyCache.java:19)
at com.danikula.videocache.ProxyCache$SourceReaderRunnable.run(ProxyCache.java:187)
at java.lang.Thread.run(Thread.java:919)
Caused by: java.io.IOException: offset < 0: -2147476036
at java.io.RandomAccessFile.seek(RandomAccessFile.java:612)
at com.danikula.videocache.file.FileCache.append(FileCache.java:69)
at com.danikula.videocache.ProxyCache.readSource(ProxyCache.java:132) 
at com.danikula.videocache.ProxyCache.access$100(ProxyCache.java:19) 
at com.danikula.videocache.ProxyCache$SourceReaderRunnable.run(ProxyCache.java:187) 
at java.lang.Thread.run(Thread.java:919) 

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Bắt đầu với com.danikula.videocache.file.FileCache.available tại FileCache.java:46 và FileCache.append ở các dòng 69-73, sau đó lần theo ProxyCache.readSource tại dòng 132. Tái hiện lỗi offset đã được báo cáo và xác minh rằng việc nối thêm vào cache không còn gây ra exception; issue có kèm thay đổi được đề xuất cho available() để đối chiếu.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
android, java
Lĩnh vực
mobile-dev
Loại issue
Lỗi
Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Đặc tả rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.