Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ProxyCacheException: offset < 0: -2147476036 #301

Open
zhuxing1990 opened this issue Jun 10, 2021 · 1 comment
Open

ProxyCacheException: offset < 0: -2147476036 #301

zhuxing1990 opened this issue Jun 10, 2021 · 1 comment

Comments

@zhuxing1990
Copy link

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) 

@zhuxing1990
Copy link
Author

zhuxing1990 commented Jun 10, 2021

备注:缓存失败的原因是 文件的类型 (long) 被强制转换成了(int)类型 ,int类型的长度不够,从而导致文件缓冲失败。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant