Comments (4)
The cause is within the underlying file system implementation:
java.io.IOException: Incorrect function
at java.base/sun.nio.ch.FileDispatcherImpl.pread0(Native Method)
at java.base/sun.nio.ch.FileDispatcherImpl.pread(Unknown Source)
at java.base/sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source)
at java.base/sun.nio.ch.IOUtil.read(Unknown Source)
at java.base/sun.nio.ch.FileChannelImpl.readInternal(Unknown Source)
at java.base/sun.nio.ch.FileChannelImpl.read(Unknown Source)
I.e. Google File Stream doesn't seem to behave as defined. Seems to be an upstream bug, as there is no Cryptomator code involved here.
from dokany-nio-adapter.
When you google for "incorrect function" in conjuction with IO errors, you find plenty of reports such as this post in the evernote forum or this comment in another GitHub project.
Since the root cause is within the basic I/O operations (FileChannel.read), this issue is not related to Dokany in any way. You should get the same issue with WebDAV-based drives.
At the moment we can only wait for a fix from either Google (if it is indeed an I/O bug in file stream) or the JDK (if it can be solved by a more resilient implementation on unreliable file systems).
from dokany-nio-adapter.
Thank you, @overheadhunter .
But, I wonder if Cryptomator's handling of a read error situation on Dokany could be improved.
Right now, the entire vault is placed in a failed state and no further file access is successful. The only solution currently known is to close then reopen the vault. But Cryptomator was designed specifically for use with these types of cloud access interfaces, and perhaps should handle failures more gracefully.
Though I have experienced occasional read errors with WebDAV, they do not seem to shut down the vault altogether as they do with Dokany.
Thanks,
Chris.
from dokany-nio-adapter.
Good point, I'll migrate this issue to the dokany-nio-adapter then.
from dokany-nio-adapter.
Related Issues (20)
- Add option to use custom mount options HOT 2
- Migration to JDK 11 HOT 1
- Very slow writing speed / Always synchronised writing HOT 1
- Wrong UNC name HOT 3
- Shutdown hook never invoked
- Handling of `FILE_NO_INTERMEDIATE_BUFFERING` HOT 1
- Add Cryptomator-Icon to Drive HOT 8
- Too Long File Names Error Code Support
- Google Drive File Stream: Certain applications do not write to file HOT 6
- Add method to API to check if there are open handles
- Windows CMD access the wrong folder HOT 1
- Windows tool XCOPY: File metadata preservation issue
- FindFilesWithPattern: Wrong pattern matching HOT 1
- Unable to stream video files with VLC HOT 1
- Impossible to mount more filesystems than number of CPU cores HOT 1
- Delegate revealing a drive to the API consumer HOT 3
- Default mount options are used if none are given HOT 1
- Observe status of mounted filesystem
- Relax condition of successful mount
- Migrate to Dokany 2.x HOT 12
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dokany-nio-adapter.