BiglySoftware / BiglyBT

Feature-filled Bittorrent client based on the Azureus open source project
https://www.biglybt.com
GNU General Public License v2.0
1.55k stars 153 forks source link

Automatic switch to "upload only" stickier then expected [Beta channel] #3352

Closed 2peer closed 1 week ago

2peer commented 3 weeks ago

This relates to the new feature in the Beta channel releases: https://github.com/BiglySoftware/BiglyBT/issues/3303

I happened to notice that if the automatic switch to "upload only" / "Down speed->Disabled" happens because of running out of space on the drive, then when you resolve the issue (free up some space) and try to enable the download again within the same session, in most cases it switches back to "Disabled" immediately. No new notifications in this case, it just switches.

It can be resolved by running "Force Re-check" on the torrent, but maybe it's worth looking into (for convenience)?

parg commented 3 weeks ago

Are you sure that just stopping and starting the download won't fix things?

2peer commented 3 weeks ago

You are right, it does. Didn't occur to me that it might be the case. Maybe put a hint for the user someplace?

parg commented 3 weeks ago

I'll add some code to reset things if you manually clear the "disabled" limit, that should work

parg commented 3 weeks ago

Try B34

2peer commented 3 weeks ago

What I see now is the error ("flush fail" notification) being triggered again when trying to switch to "No limit" directly. The stop & resume method still works and in some cases it seems to automatically perform a check first before resuming the download.

parg commented 2 weeks ago

Have you got a full stack trace for that subsequent "flush fail" error? I've looked into things and can't reproduce here.

2peer commented 2 weeks ago

Had to dig it up in my daily backups, but based on the timestamps this could be it (taken from debug_1.log):

[20:23:48] [stderr] DEBUG::Tue Aug 20 20:23:48 CEST 2024::com.biglybt.core.disk.impl.access.impl.DMWriterImpl$3::writeFailed::573:
[20:23:48] [stderr]   com.biglybt.core.diskmanager.cache.CacheFileManagerException: flush fails
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.multiBlockFlush(CacheFileWithCache.java:1110)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCacheSupport(CacheFileWithCache.java:1030)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCache(CacheFileWithCache.java:829)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCache(CacheFileWithCache.java:1149)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileManagerImpl.allocateCacheSpace(CacheFileManagerImpl.java:400)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.readCache(CacheFileWithCache.java:497)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.read(CacheFileWithCache.java:1804)
  at com.biglybt.core.diskmanager.access.impl.DiskAccessRequestImpl.runRequest(DiskAccessRequestImpl.java:102)
  at com.biglybt.core.diskmanager.access.impl.DiskAccessControllerInstance$requestDispatcher$1.run(DiskAccessControllerInstance.java:694)
  at com.biglybt.core.util.AEThread2$threadWrapper.run(AEThread2.java:334)
Caused by: com.biglybt.core.diskmanager.file.FMFileManagerException: write failed
  at com.biglybt.core.diskmanager.file.impl.FMFileAccessLinear.write(FMFileAccessLinear.java:543)
  at com.biglybt.core.diskmanager.file.impl.FMFileAccessController.write(FMFileAccessController.java:521)
  at com.biglybt.core.diskmanager.file.impl.FMFileImpl.writeSupport(FMFileImpl.java:859)
  at com.biglybt.core.diskmanager.file.impl.FMFileLimited.write(FMFileLimited.java:334)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.multiBlockFlush(CacheFileWithCache.java:1100)
  ... 9 more
Caused by: java.io.IOException: Na zařízení není volné místo
  at java.base/sun.nio.ch.UnixFileDispatcherImpl.writev0(Native Method)
  at java.base/sun.nio.ch.UnixFileDispatcherImpl.writev(UnixFileDispatcherImpl.java:77)
  at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:227)
  at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:165)
  at java.base/sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:335)
  at java.base/java.nio.channels.FileChannel.write(FileChannel.java:478)
  at com.biglybt.core.diskmanager.file.impl.FMFileAccessLinear.write(FMFileAccessLinear.java:482)
  ... 13 more
[20:23:48] [stderr]
[20:23:49] [stderr] DEBUG::Tue Aug 20 20:23:49 CEST 2024::com.biglybt.core.disk.impl.access.impl.DMWriterImpl$3::writeFailed::573:
[20:23:49] [stderr]   com.biglybt.core.diskmanager.cache.CacheFileManagerException: flush fails
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.multiBlockFlush(CacheFileWithCache.java:1110)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCacheSupport(CacheFileWithCache.java:1030)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCache(CacheFileWithCache.java:829)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCache(CacheFileWithCache.java:1149)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileManagerImpl.allocateCacheSpace(CacheFileManagerImpl.java:400)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.readCache(CacheFileWithCache.java:497)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.read(CacheFileWithCache.java:1804)
  at com.biglybt.core.diskmanager.access.impl.DiskAccessRequestImpl.runRequest(DiskAccessRequestImpl.java:102)
  at com.biglybt.core.diskmanager.access.impl.DiskAccessControllerInstance$requestDispatcher$1.run(DiskAccessControllerInstance.java:694)
  at com.biglybt.core.util.AEThread2$threadWrapper.run(AEThread2.java:334)
Caused by: com.biglybt.core.diskmanager.file.FMFileManagerException: write failed
  at com.biglybt.core.diskmanager.file.impl.FMFileAccessLinear.write(FMFileAccessLinear.java:543)
  at com.biglybt.core.diskmanager.file.impl.FMFileAccessController.write(FMFileAccessController.java:521)
  at com.biglybt.core.diskmanager.file.impl.FMFileImpl.writeSupport(FMFileImpl.java:859)
  at com.biglybt.core.diskmanager.file.impl.FMFileLimited.write(FMFileLimited.java:334)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.multiBlockFlush(CacheFileWithCache.java:1100)
  ... 9 more
Caused by: java.io.IOException: Na zařízení není volné místo
  at java.base/sun.nio.ch.UnixFileDispatcherImpl.writev0(Native Method)
  at java.base/sun.nio.ch.UnixFileDispatcherImpl.writev(UnixFileDispatcherImpl.java:77)
  at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:227)
  at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:165)
  at java.base/sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:335)
  at java.base/java.nio.channels.FileChannel.write(FileChannel.java:478)
  at com.biglybt.core.diskmanager.file.impl.FMFileAccessLinear.write(FMFileAccessLinear.java:482)
  ... 13 more
[20:23:49] [stderr]
[20:23:50] [stderr] DEBUG::Tue Aug 20 20:23:50 CEST 2024::com.biglybt.core.disk.impl.access.impl.DMWriterImpl$3::writeFailed::573:
[20:23:50] [stderr]   com.biglybt.core.diskmanager.cache.CacheFileManagerException: flush fails
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.multiBlockFlush(CacheFileWithCache.java:1110)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCacheSupport(CacheFileWithCache.java:1030)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCache(CacheFileWithCache.java:829)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCache(CacheFileWithCache.java:1149)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileManagerImpl.allocateCacheSpace(CacheFileManagerImpl.java:400)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.readCache(CacheFileWithCache.java:497)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.read(CacheFileWithCache.java:1804)
  at com.biglybt.core.diskmanager.access.impl.DiskAccessRequestImpl.runRequest(DiskAccessRequestImpl.java:102)
  at com.biglybt.core.diskmanager.access.impl.DiskAccessControllerInstance$requestDispatcher$1.run(DiskAccessControllerInstance.java:694)
  at com.biglybt.core.util.AEThread2$threadWrapper.run(AEThread2.java:334)
Caused by: com.biglybt.core.diskmanager.file.FMFileManagerException: write failed
  at com.biglybt.core.diskmanager.file.impl.FMFileAccessLinear.write(FMFileAccessLinear.java:543)
  at com.biglybt.core.diskmanager.file.impl.FMFileAccessController.write(FMFileAccessController.java:521)
  at com.biglybt.core.diskmanager.file.impl.FMFileImpl.writeSupport(FMFileImpl.java:859)
  at com.biglybt.core.diskmanager.file.impl.FMFileLimited.write(FMFileLimited.java:334)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.multiBlockFlush(CacheFileWithCache.java:1100)
  ... 9 more
Caused by: java.io.IOException: Na zařízení není volné místo
  at java.base/sun.nio.ch.UnixFileDispatcherImpl.writev0(Native Method)
  at java.base/sun.nio.ch.UnixFileDispatcherImpl.writev(UnixFileDispatcherImpl.java:77)
  at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:227)
  at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:165)
  at java.base/sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:335)
  at java.base/java.nio.channels.FileChannel.write(FileChannel.java:478)
  at com.biglybt.core.diskmanager.file.impl.FMFileAccessLinear.write(FMFileAccessLinear.java:482)
  ... 13 more
parg commented 2 weeks ago

And you got that error AFTER ensuring there is enough space on the file system? Because the OS is still reporting "Na zařízení není volné místo" ...

2peer commented 2 weeks ago

And you got that error AFTER ensuring there is enough space on the file system?

I sure did and the stop/start method did work just after that.

Is it possible that that there were multiple failed syscalls and the result is somehow queued for the next time the torrent is switched to "No limit"? There is a slight possibility I might have miss matched the timestamp (unfortunately I'm just guessing here based on the timestamp of my original Github response), but I find it unlikely since so far as I remember I discovered the "out of space" situation quite a long time after it happened so the timestamp should be far apart from the original event.

Also, would you consider using the full ISO 8601 date+time timestamps in the logs? It would waste a little bit of space but make searching for events much nicer.

parg commented 2 weeks ago

Can't see there being any "queued syscalls" - when a write operation fails BiglyBT will attempt the operation again after closing and re-opening the file, so if there was anything queued associated with the previous file open then that should be discarded.

parg commented 2 weeks ago

You should however get a

Debug.outNoStack( "Recovered connection to " + getName() + " after access failure" );

log message if the connection is closed + reopened

2peer commented 2 weeks ago

OK. Unfortunately I no longer remember when I sent the report exactly in relation to when it happend, but found this in a log (day before):

[13:28:22] [stderr]
[13:28:22] DEBUG::Sun Aug 18 13:28:22 CEST 2024  Recovered connection to /same_file_path/same_filename.az! after access failure
[13:28:22] [stderr] DEBUG::Sun Aug 18 13:28:22 CEST 2024::com.biglybt.core.diskmanager.file.impl.FMFileImpl::writeSupport::865:
[13:28:22] [stderr]   com.biglybt.core.diskmanager.file.FMFileManagerException: write failed
  at com.biglybt.core.diskmanager.file.impl.FMFileAccessLinear.write(FMFileAccessLinear.java:543)
  at com.biglybt.core.diskmanager.file.impl.FMFileAccessController.write(FMFileAccessController.java:521)
  at com.biglybt.core.diskmanager.file.impl.FMFileImpl.writeSupport(FMFileImpl.java:859)
  at com.biglybt.core.diskmanager.file.impl.FMFileLimited.write(FMFileLimited.java:334)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.multiBlockFlush(CacheFileWithCache.java:1100)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCacheSupport(CacheFileWithCache.java:967)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCache(CacheFileWithCache.java:829)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCache(CacheFileWithCache.java:1149)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileManagerImpl.allocateCacheSpace(CacheFileManagerImpl.java:400)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.readCache(CacheFileWithCache.java:497)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.read(CacheFileWithCache.java:1804)
  at com.biglybt.core.diskmanager.access.impl.DiskAccessRequestImpl.runRequest(DiskAccessRequestImpl.java:102)
  at com.biglybt.core.diskmanager.access.impl.DiskAccessControllerInstance$requestDispatcher$1.run(DiskAccessControllerInstance.java:694)
  at com.biglybt.core.util.AEThread2$threadWrapper.run(AEThread2.java:334)
Caused by: java.io.IOException: Na zařízení není volné místo
  at java.base/sun.nio.ch.UnixFileDispatcherImpl.writev0(Native Method)
  at java.base/sun.nio.ch.UnixFileDispatcherImpl.writev(UnixFileDispatcherImpl.java:77)
  at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:227)
  at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:165)
  at java.base/sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:335)
  at java.base/java.nio.channels.FileChannel.write(FileChannel.java:478)
  at com.biglybt.core.diskmanager.file.impl.FMFileAccessLinear.write(FMFileAccessLinear.java:482)
  ... 13 more
[13:28:22] [stderr]
[13:28:22] DEBUG::Sun Aug 18 13:28:22 CEST 2024  Recovered connection to /same_file_path/same_filename.az! after access failure
[13:28:22] [stderr] DEBUG::Sun Aug 18 13:28:22 CEST 2024::com.biglybt.core.diskmanager.file.impl.FMFileImpl::writeSupport::865:
[13:28:22] [stderr]   com.biglybt.core.diskmanager.file.FMFileManagerException: write failed
  at com.biglybt.core.diskmanager.file.impl.FMFileAccessLinear.write(FMFileAccessLinear.java:543)
  at com.biglybt.core.diskmanager.file.impl.FMFileAccessController.write(FMFileAccessController.java:521)
  at com.biglybt.core.diskmanager.file.impl.FMFileImpl.writeSupport(FMFileImpl.java:859)
  at com.biglybt.core.diskmanager.file.impl.FMFileLimited.write(FMFileLimited.java:334)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.multiBlockFlush(CacheFileWithCache.java:1100)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCacheSupport(CacheFileWithCache.java:967)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCache(CacheFileWithCache.java:829)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCache(CacheFileWithCache.java:1149)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileManagerImpl.allocateCacheSpace(CacheFileManagerImpl.java:400)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.readCache(CacheFileWithCache.java:497)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.read(CacheFileWithCache.java:1804)
  at com.biglybt.core.diskmanager.access.impl.DiskAccessRequestImpl.runRequest(DiskAccessRequestImpl.java:102)
  at com.biglybt.core.diskmanager.access.impl.DiskAccessControllerInstance$requestDispatcher$1.run(DiskAccessControllerInstance.java:694)
  at com.biglybt.core.util.AEThread2$threadWrapper.run(AEThread2.java:334)
Caused by: java.io.IOException: Na zařízení není volné místo
  at java.base/sun.nio.ch.UnixFileDispatcherImpl.writev0(Native Method)
  at java.base/sun.nio.ch.UnixFileDispatcherImpl.writev(UnixFileDispatcherImpl.java:77)
  at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:227)
  at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:165)
  at java.base/sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:335)
  at java.base/java.nio.channels.FileChannel.write(FileChannel.java:478)
  at com.biglybt.core.diskmanager.file.impl.FMFileAccessLinear.write(FMFileAccessLinear.java:482)
  ... 13 more
[13:28:22] [stderr]
[13:28:22] DEBUG::Sun Aug 18 13:28:22 CEST 2024  Recovered connection to /same_file_path/same_filename.az! after access failure
[13:28:22] [stderr] DEBUG::Sun Aug 18 13:28:22 CEST 2024::com.biglybt.core.diskmanager.file.impl.FMFileImpl::writeSupport::865:
[13:28:22] [stderr]   com.biglybt.core.diskmanager.file.FMFileManagerException: write failed
  at com.biglybt.core.diskmanager.file.impl.FMFileAccessLinear.write(FMFileAccessLinear.java:543)
  at com.biglybt.core.diskmanager.file.impl.FMFileAccessController.write(FMFileAccessController.java:521)
  at com.biglybt.core.diskmanager.file.impl.FMFileImpl.writeSupport(FMFileImpl.java:859)
  at com.biglybt.core.diskmanager.file.impl.FMFileLimited.write(FMFileLimited.java:334)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.multiBlockFlush(CacheFileWithCache.java:1100)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCacheSupport(CacheFileWithCache.java:967)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCache(CacheFileWithCache.java:829)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCache(CacheFileWithCache.java:1149)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileManagerImpl.allocateCacheSpace(CacheFileManagerImpl.java:400)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.readCache(CacheFileWithCache.java:497)
  at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.read(CacheFileWithCache.java:1804)
  at com.biglybt.core.diskmanager.access.impl.DiskAccessRequestImpl.runRequest(DiskAccessRequestImpl.java:102)
  at com.biglybt.core.diskmanager.access.impl.DiskAccessControllerInstance$requestDispatcher$1.run(DiskAccessControllerInstance.java:694)
  at com.biglybt.core.util.AEThread2$threadWrapper.run(AEThread2.java:334)
Caused by: java.io.IOException: Na zařízení není volné místo
  at java.base/sun.nio.ch.UnixFileDispatcherImpl.writev0(Native Method)
  at java.base/sun.nio.ch.UnixFileDispatcherImpl.writev(UnixFileDispatcherImpl.java:77)
  at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:227)
  at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:165)
  at java.base/sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:335)
  at java.base/java.nio.channels.FileChannel.write(FileChannel.java:478)
  at com.biglybt.core.diskmanager.file.impl.FMFileAccessLinear.write(FMFileAccessLinear.java:482)
  ... 13 more

There are not ms precision timestamps but those are all events on the same file at the same second and there is the "Recovered connection to" line interleaved.

2peer commented 2 weeks ago

If this is no help, then I might try to recreate the scenario manually later, but I'm starting to suspect this might something to do with OS differences (Linux / Windows).

parg commented 2 weeks ago

If you can reproduce it that would definitely help as I can't get it to fail (on Windows)

parg commented 2 weeks ago

I ran kubuntu in a virtualbox VM, used veracrypt to create a small volume and tried to reproduce the probem - everytime it ran out of disk space and I made some space then set the download speed limit the download finished ok.

2peer commented 2 weeks ago

Ok. Tried to do something similar (mounting a small file-backed ext4 file-system over loopback).

At first when I tried with a single torrent and in pretty quick succession after the event it looked like it worked this time as well.

Thinking about what else could be different from the original case I added a second torrent & tried again. Filled the drive again & on my second attempt tried to set both torrents to "no limit" at once & also initially forgot to free the space first. Realizing my mistake I freed it & tried again but now I can reproduce it consistently (setting "No limit" on both torrents or just one), I get notifications: Download 'Fedora-KDE-Live-x86_64-40' has been switched to upload only due to a disk write error (Disk write error: flush fails, write failed, Na zařízení není volné místo) & Download 'Fedora-Workstation-Live-x86_64-40' has been switched to upload only due to a disk write error (Disk write error: flush fails, write failed, Na zařízení není volné místo)

while there is still 600MB free on the virtual drive. Looking into the logs I get:

[20:32:53] [stderr] DEBUG::Sun Aug 25 20:32:53 CEST 2024::com.biglybt.core.disk.impl.access.impl.DMWriterImpl$3::writeFailed::573:
[20:32:53] [stderr]   com.biglybt.core.diskmanager.cache.CacheFileManagerException: flush fails
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.multiBlockFlush(CacheFileWithCache.java:1110)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCacheSupport(CacheFileWithCache.java:1030)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCache(CacheFileWithCache.java:829)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCache(CacheFileWithCache.java:1149)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileManagerImpl.allocateCacheSpace(CacheFileManagerImpl.java:400)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.readCache(CacheFileWithCache.java:497)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.read(CacheFileWithCache.java:1804)
    at com.biglybt.core.diskmanager.access.impl.DiskAccessRequestImpl.runRequest(DiskAccessRequestImpl.java:102)
    at com.biglybt.core.diskmanager.access.impl.DiskAccessControllerInstance$requestDispatcher$1.run(DiskAccessControllerInstance.java:694)
    at com.biglybt.core.util.AEThread2$threadWrapper.run(AEThread2.java:334)
Caused by: com.biglybt.core.diskmanager.file.FMFileManagerException: write failed
    at com.biglybt.core.diskmanager.file.impl.FMFileAccessLinear.write(FMFileAccessLinear.java:543)
    at com.biglybt.core.diskmanager.file.impl.FMFileAccessController.write(FMFileAccessController.java:521)
    at com.biglybt.core.diskmanager.file.impl.FMFileImpl.writeSupport(FMFileImpl.java:859)
    at com.biglybt.core.diskmanager.file.impl.FMFileLimited.write(FMFileLimited.java:334)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.multiBlockFlush(CacheFileWithCache.java:1100)
    ... 9 more
Caused by: java.io.IOException: Na zařízení není volné místo
    at java.base/sun.nio.ch.UnixFileDispatcherImpl.writev0(Native Method)
    at java.base/sun.nio.ch.UnixFileDispatcherImpl.writev(UnixFileDispatcherImpl.java:77)
    at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:227)
    at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:165)
    at java.base/sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:335)
    at java.base/java.nio.channels.FileChannel.write(FileChannel.java:478)
    at com.biglybt.core.diskmanager.file.impl.FMFileAccessLinear.write(FMFileAccessLinear.java:482)
    ... 13 more
[20:32:53] [stderr] 
[20:32:53] [stderr] DEBUG::Sun Aug 25 20:32:53 CEST 2024::com.biglybt.core.disk.impl.access.impl.DMWriterImpl$3::writeFailed::573:
[20:32:53] [stderr]   com.biglybt.core.diskmanager.cache.CacheFileManagerException: flush fails
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.multiBlockFlush(CacheFileWithCache.java:1110)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCacheSupport(CacheFileWithCache.java:1030)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCache(CacheFileWithCache.java:829)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCache(CacheFileWithCache.java:1149)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileManagerImpl.allocateCacheSpace(CacheFileManagerImpl.java:400)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.readCache(CacheFileWithCache.java:497)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.read(CacheFileWithCache.java:1804)
    at com.biglybt.core.diskmanager.access.impl.DiskAccessRequestImpl.runRequest(DiskAccessRequestImpl.java:102)
    at com.biglybt.core.diskmanager.access.impl.DiskAccessControllerInstance$requestDispatcher$1.run(DiskAccessControllerInstance.java:694)
    at com.biglybt.core.util.AEThread2$threadWrapper.run(AEThread2.java:334)
Caused by: com.biglybt.core.diskmanager.file.FMFileManagerException: write failed
    at com.biglybt.core.diskmanager.file.impl.FMFileAccessLinear.write(FMFileAccessLinear.java:543)
    at com.biglybt.core.diskmanager.file.impl.FMFileAccessController.write(FMFileAccessController.java:521)
    at com.biglybt.core.diskmanager.file.impl.FMFileImpl.writeSupport(FMFileImpl.java:859)
    at com.biglybt.core.diskmanager.file.impl.FMFileLimited.write(FMFileLimited.java:334)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.multiBlockFlush(CacheFileWithCache.java:1100)
    ... 9 more
Caused by: java.io.IOException: Na zařízení není volné místo
    at java.base/sun.nio.ch.UnixFileDispatcherImpl.writev0(Native Method)
    at java.base/sun.nio.ch.UnixFileDispatcherImpl.writev(UnixFileDispatcherImpl.java:77)
    at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:227)
    at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:165)
    at java.base/sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:335)
    at java.base/java.nio.channels.FileChannel.write(FileChannel.java:478)
    at com.biglybt.core.diskmanager.file.impl.FMFileAccessLinear.write(FMFileAccessLinear.java:482)
    ... 13 more
[20:32:53] [stderr] 
[20:32:53] [stderr] DEBUG::Sun Aug 25 20:32:53 CEST 2024::com.biglybt.core.disk.impl.access.impl.DMWriterImpl$3::writeFailed::573:
[20:32:53] [stderr]   com.biglybt.core.diskmanager.cache.CacheFileManagerException: flush fails
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.multiBlockFlush(CacheFileWithCache.java:1110)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCacheSupport(CacheFileWithCache.java:1030)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCache(CacheFileWithCache.java:829)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCache(CacheFileWithCache.java:1149)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileManagerImpl.allocateCacheSpace(CacheFileManagerImpl.java:400)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.readCache(CacheFileWithCache.java:497)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.read(CacheFileWithCache.java:1804)
    at com.biglybt.core.diskmanager.access.impl.DiskAccessRequestImpl.runRequest(DiskAccessRequestImpl.java:102)
    at com.biglybt.core.diskmanager.access.impl.DiskAccessControllerInstance$requestDispatcher$1.run(DiskAccessControllerInstance.java:694)
    at com.biglybt.core.util.AEThread2$threadWrapper.run(AEThread2.java:334)
Caused by: com.biglybt.core.diskmanager.file.FMFileManagerException: write failed
    at com.biglybt.core.diskmanager.file.impl.FMFileAccessLinear.write(FMFileAccessLinear.java:543)
    at com.biglybt.core.diskmanager.file.impl.FMFileAccessController.write(FMFileAccessController.java:521)
    at com.biglybt.core.diskmanager.file.impl.FMFileImpl.writeSupport(FMFileImpl.java:859)
    at com.biglybt.core.diskmanager.file.impl.FMFileLimited.write(FMFileLimited.java:334)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.multiBlockFlush(CacheFileWithCache.java:1100)
    ... 9 more
Caused by: java.io.IOException: Na zařízení není volné místo
    at java.base/sun.nio.ch.UnixFileDispatcherImpl.writev0(Native Method)
    at java.base/sun.nio.ch.UnixFileDispatcherImpl.writev(UnixFileDispatcherImpl.java:77)
    at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:227)
    at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:165)
    at java.base/sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:335)
    at java.base/java.nio.channels.FileChannel.write(FileChannel.java:478)
    at com.biglybt.core.diskmanager.file.impl.FMFileAccessLinear.write(FMFileAccessLinear.java:482)
    ... 13 more
[20:32:53] [stderr] 
[20:32:53] [stderr] DEBUG::Sun Aug 25 20:32:53 CEST 2024::com.biglybt.core.disk.impl.access.impl.DMWriterImpl$3::writeFailed::573:
[20:32:53] [stderr]   com.biglybt.core.diskmanager.cache.CacheFileManagerException: flush fails
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.multiBlockFlush(CacheFileWithCache.java:1110)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCacheSupport(CacheFileWithCache.java:1030)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCache(CacheFileWithCache.java:829)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCache(CacheFileWithCache.java:1149)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileManagerImpl.allocateCacheSpace(CacheFileManagerImpl.java:400)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.readCache(CacheFileWithCache.java:497)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.read(CacheFileWithCache.java:1804)
    at com.biglybt.core.diskmanager.access.impl.DiskAccessRequestImpl.runRequest(DiskAccessRequestImpl.java:102)
    at com.biglybt.core.diskmanager.access.impl.DiskAccessControllerInstance$requestDispatcher$1.run(DiskAccessControllerInstance.java:694)
    at com.biglybt.core.util.AEThread2$threadWrapper.run(AEThread2.java:334)
Caused by: com.biglybt.core.diskmanager.file.FMFileManagerException: write failed
    at com.biglybt.core.diskmanager.file.impl.FMFileAccessLinear.write(FMFileAccessLinear.java:543)
    at com.biglybt.core.diskmanager.file.impl.FMFileAccessController.write(FMFileAccessController.java:521)
    at com.biglybt.core.diskmanager.file.impl.FMFileImpl.writeSupport(FMFileImpl.java:859)
    at com.biglybt.core.diskmanager.file.impl.FMFileLimited.write(FMFileLimited.java:334)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.multiBlockFlush(CacheFileWithCache.java:1100)
    ... 9 more
Caused by: java.io.IOException: Na zařízení není volné místo
    at java.base/sun.nio.ch.UnixFileDispatcherImpl.writev0(Native Method)
    at java.base/sun.nio.ch.UnixFileDispatcherImpl.writev(UnixFileDispatcherImpl.java:77)
    at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:227)
    at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:165)
    at java.base/sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:335)
    at java.base/java.nio.channels.FileChannel.write(FileChannel.java:478)
    at com.biglybt.core.diskmanager.file.impl.FMFileAccessLinear.write(FMFileAccessLinear.java:482)
    ... 13 more
[20:32:53] [stderr] 
[20:32:53] [stderr] DEBUG::Sun Aug 25 20:32:53 CEST 2024::com.biglybt.core.disk.impl.access.impl.DMWriterImpl$3::writeFailed::573:
[20:32:53] [stderr]   com.biglybt.core.diskmanager.cache.CacheFileManagerException: flush fails
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.multiBlockFlush(CacheFileWithCache.java:1110)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCacheSupport(CacheFileWithCache.java:1030)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCache(CacheFileWithCache.java:829)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCache(CacheFileWithCache.java:1149)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileManagerImpl.allocateCacheSpace(CacheFileManagerImpl.java:400)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.readCache(CacheFileWithCache.java:497)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.read(CacheFileWithCache.java:1804)
    at com.biglybt.core.diskmanager.access.impl.DiskAccessRequestImpl.runRequest(DiskAccessRequestImpl.java:102)
    at com.biglybt.core.diskmanager.access.impl.DiskAccessControllerInstance$requestDispatcher$1.run(DiskAccessControllerInstance.java:694)
    at com.biglybt.core.util.AEThread2$threadWrapper.run(AEThread2.java:334)
Caused by: com.biglybt.core.diskmanager.file.FMFileManagerException: write failed
    at com.biglybt.core.diskmanager.file.impl.FMFileAccessLinear.write(FMFileAccessLinear.java:543)
    at com.biglybt.core.diskmanager.file.impl.FMFileAccessController.write(FMFileAccessController.java:521)
    at com.biglybt.core.diskmanager.file.impl.FMFileImpl.writeSupport(FMFileImpl.java:859)
    at com.biglybt.core.diskmanager.file.impl.FMFileLimited.write(FMFileLimited.java:334)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.multiBlockFlush(CacheFileWithCache.java:1100)
    ... 9 more
Caused by: java.io.IOException: Na zařízení není volné místo
    at java.base/sun.nio.ch.UnixFileDispatcherImpl.writev0(Native Method)
    at java.base/sun.nio.ch.UnixFileDispatcherImpl.writev(UnixFileDispatcherImpl.java:77)
    at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:227)
    at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:165)
    at java.base/sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:335)
    at java.base/java.nio.channels.FileChannel.write(FileChannel.java:478)
    at com.biglybt.core.diskmanager.file.impl.FMFileAccessLinear.write(FMFileAccessLinear.java:482)
    ... 13 more
[20:32:53] [stderr] 
[20:32:53] [stderr] DEBUG::Sun Aug 25 20:32:53 CEST 2024::com.biglybt.core.disk.impl.access.impl.DMWriterImpl$3::writeFailed::573:
[20:32:53] [stderr]   com.biglybt.core.diskmanager.cache.CacheFileManagerException: flush fails
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.multiBlockFlush(CacheFileWithCache.java:1110)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCacheSupport(CacheFileWithCache.java:1030)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCache(CacheFileWithCache.java:829)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCache(CacheFileWithCache.java:1149)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileManagerImpl.allocateCacheSpace(CacheFileManagerImpl.java:400)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.readCache(CacheFileWithCache.java:497)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.read(CacheFileWithCache.java:1804)
    at com.biglybt.core.diskmanager.access.impl.DiskAccessRequestImpl.runRequest(DiskAccessRequestImpl.java:102)
    at com.biglybt.core.diskmanager.access.impl.DiskAccessControllerInstance$requestDispatcher$1.run(DiskAccessControllerInstance.java:694)
    at com.biglybt.core.util.AEThread2$threadWrapper.run(AEThread2.java:334)
Caused by: com.biglybt.core.diskmanager.file.FMFileManagerException: write failed
    at com.biglybt.core.diskmanager.file.impl.FMFileAccessLinear.write(FMFileAccessLinear.java:543)
    at com.biglybt.core.diskmanager.file.impl.FMFileAccessController.write(FMFileAccessController.java:521)
    at com.biglybt.core.diskmanager.file.impl.FMFileImpl.writeSupport(FMFileImpl.java:859)
    at com.biglybt.core.diskmanager.file.impl.FMFileLimited.write(FMFileLimited.java:334)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.multiBlockFlush(CacheFileWithCache.java:1100)
    ... 9 more
Caused by: java.io.IOException: Na zařízení není volné místo
    at java.base/sun.nio.ch.UnixFileDispatcherImpl.writev0(Native Method)
    at java.base/sun.nio.ch.UnixFileDispatcherImpl.writev(UnixFileDispatcherImpl.java:77)
    at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:227)
    at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:165)
    at java.base/sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:335)
    at java.base/java.nio.channels.FileChannel.write(FileChannel.java:478)
    at com.biglybt.core.diskmanager.file.impl.FMFileAccessLinear.write(FMFileAccessLinear.java:482)
    ... 13 more
[20:32:53] [stderr] 
[20:33:08] DEBUG::Sun Aug 25 20:33:08 CEST 2024  Unable to decode peer correctly - peer ID bytes: 74-82de-aec9d5e14846
[20:33:11] [stderr] DEBUG::Sun Aug 25 20:33:11 CEST 2024::com.biglybt.core.disk.impl.access.impl.DMWriterImpl$3::writeFailed::573:
[20:33:11] [stderr]   com.biglybt.core.diskmanager.cache.CacheFileManagerException: flush fails
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.multiBlockFlush(CacheFileWithCache.java:1110)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCacheSupport(CacheFileWithCache.java:1030)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCache(CacheFileWithCache.java:829)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.flushCache(CacheFileWithCache.java:1149)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileManagerImpl.allocateCacheSpace(CacheFileManagerImpl.java:400)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.readCache(CacheFileWithCache.java:497)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.read(CacheFileWithCache.java:1804)
    at com.biglybt.core.diskmanager.access.impl.DiskAccessRequestImpl.runRequest(DiskAccessRequestImpl.java:102)
    at com.biglybt.core.diskmanager.access.impl.DiskAccessControllerInstance$requestDispatcher$1.run(DiskAccessControllerInstance.java:694)
    at com.biglybt.core.util.AEThread2$threadWrapper.run(AEThread2.java:334)
Caused by: com.biglybt.core.diskmanager.file.FMFileManagerException: write failed
    at com.biglybt.core.diskmanager.file.impl.FMFileAccessLinear.write(FMFileAccessLinear.java:543)
    at com.biglybt.core.diskmanager.file.impl.FMFileAccessController.write(FMFileAccessController.java:521)
    at com.biglybt.core.diskmanager.file.impl.FMFileImpl.writeSupport(FMFileImpl.java:859)
    at com.biglybt.core.diskmanager.file.impl.FMFileLimited.write(FMFileLimited.java:334)
    at com.biglybt.core.diskmanager.cache.impl.CacheFileWithCache.multiBlockFlush(CacheFileWithCache.java:1100)
    ... 9 more
Caused by: java.io.IOException: Na zařízení není volné místo
    at java.base/sun.nio.ch.UnixFileDispatcherImpl.writev0(Native Method)
    at java.base/sun.nio.ch.UnixFileDispatcherImpl.writev(UnixFileDispatcherImpl.java:77)
    at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:227)
    at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:165)
    at java.base/sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:335)
    at java.base/java.nio.channels.FileChannel.write(FileChannel.java:478)
    at com.biglybt.core.diskmanager.file.impl.FMFileAccessLinear.write(FMFileAccessLinear.java:482)
    ... 13 more
[20:33:11] [stderr] 
2peer commented 1 week ago

Did you happen to replicate it in the end? Should I expect a fix in the next Beta? Would be nice to mention the commits in the close.

parg commented 1 week ago

nope, I'm not planning on doing anything more on this

2peer commented 1 week ago

Ok. It seems like a good practice upon open-source projects to close such issues with something like a WONTFIX tag & some (optional) explanation, like:

...to let both users & other devs know

Thanks for your effort.