qbittorrent / qBittorrent

qBittorrent BitTorrent client
https://www.qbittorrent.org
Other
28.07k stars 3.96k forks source link

v4.4.0 64bit Linux crash, possible reason fastresume file #16285

Closed fredvej closed 2 years ago

fredvej commented 2 years ago

qBittorrent & operating system versions

qBittorrent: 4.4.0 x64 Operating System: Manjaro Linux 21.2.2 on kernel 5.16.2-1-MANJARO Qt: 6.2.2-5 libtorrent-rasterbar: 1:2.0.5-1

What is the problem?

Attempt to start qBittorrent after first time run causes segmentation fault.

Caught signal: SIGSEGV Stack trace: qbittorrent : ()+0xc1c34 [0x558571d24c34] qbittorrent : ()+0x13d0c8 [0x558571da00c8] qbittorrent : ()+0x114e9d [0x558571d77e9d] qbittorrent : ()+0x117e5b [0x558571d7ae5b] /usr/lib/libQt6Core.so.6 : QObject::event(QEvent)+0x28b [0x7f06b00faedb] /usr/lib/libQt6Widgets.so.6 : QApplicationPrivate::notify_helper(QObject, QEvent)+0x8d [0x7f06b188cf4d] /usr/lib/libQt6Core.so.6 : QCoreApplication::notifyInternal2(QObject, QEvent)+0x13a [0x7f06b00b4eba] /usr/lib/libQt6Core.so.6 : QCoreApplicationPrivate::sendPostedEvents(QObject, int, QThreadData*)+0x188 [0x7f06b00b5098] /usr/lib/libQt6Core.so.6 : ()+0x333238 [0x7f06b02a1238] /usr/lib/libglib-2.0.so.0 : g_main_context_dispatch()+0x193 [0x7f06af776fd3] /usr/lib/libglib-2.0.so.0 : ()+0xab049 [0x7f06af7cd049] /usr/lib/libglib-2.0.so.0 : g_main_context_iteration()+0x35 [0x7f06af774545] /usr/lib/libQt6Core.so.6 : QEventDispatcherGlib::processEvents(QFlags)+0x70 [0x7f06b02a7870] /usr/lib/libQt6Core.so.6 : QEventLoop::exec(QFlags)+0x1e3 [0x7f06b00bf5e3] /usr/lib/libQt6Core.so.6 : QCoreApplication::exec()+0x96 [0x7f06b00b7fc6] qbittorrent : ()+0xb938d [0x558571d1c38d] /usr/lib/libc.so.6 : __libc_start_main()+0xd5 [0x7f06afa31b25] qbittorrent : ()+0xc0b3e [0x558571d23b3e] Segmentation fault (core dumped)

Steps to reproduce

  1. start qBittorrent , start some torrents
  2. exit qBittorrent
  3. start qBittorrent qBittorrent does not start, dies with segmentation fault
  4. delete ~/.local/share/qBittorrent/BT_backup/34dfaeb7cd234a6c863bb88e62c6f2daa3333479.fastresume
  5. start qBittorrent - now it works

Additional context

When qBittorrent gets torrents, files are created in ~/.local/share/qBittorrent/BT_backup/ : for each torrent a hash.torrent and a hash.fastresume

When qBittorrent exits, the file 34dfaeb7cd234a6c863bb88e62c6f2daa3333479.fastresume is created in ~/.local/share/qBittorrent/BT_backup/

When qBittorrent starts and finds the 34dfaeb7cd234a6c863bb88e62c6f2daa3333479.fastresume file, qBittorrent segfaults and does not even create a log file.

The files ~/.config/qBittorrent/ipc-socket and ~/.config/qBittorrent/lockfile are created, but no log file in ~/.local/share/data/qBittorrent/logs , regardless if that folder is created already.

Log(s) & preferences file(s)

qBittorrent does not create the folder ~/.local/share/data/qBittorrent/logs despite the config file having FileLogger\Path=/home/freddy/.local/share/data/qBittorrent/logs watched_folders.json.txt qBittorrent.conf.txt

glassez commented 2 years ago

qBittorrent: 4.4.0 x64 Operating System: Manjaro Linux 21.2.2 on kernel 5.16.2-1-MANJARO Qt: 6.2.2-5 libtorrent-rasterbar: 1:2.0.5-1

It shows a broken sracktrace (that is useless). I wonder how is this build created. Is it official or some 3rd party?

fredvej commented 2 years ago

qBittorent Help / About / Software Used says: qBittorent v4.4.0 (64-bit) qBittorrent was built with the following libraries: Qt: 6.2.2 Libtorrent: 2.0.5.0 Boost: 1.78.0 OpenSSL: 1.1.1m zlib: 1.2.11

Suggestion: put a button on that tab to copy the content to clipboard. As of now I cannot even mark that info for copy/pasting.

I run KDE desktop. All packages are from Manjaro Linux stable repository

$ pacman -Qs 'qbittorrent|libtorrent' local/libtorrent-rasterbar 1:2.0.5-1 A C++ BitTorrent library that aims to be a good alternative to all the other implementations around local/qbittorrent 4.4.0-2 An advanced BitTorrent client programmed in C++, based on Qt toolkit and libtorrent-rasterbar

$ pacman -Qs 'qt6' local/qt6-base 6.2.2-5 (qt6) A cross-platform application and UI framework local/qt6-svg 6.2.2-1 (qt6) Classes for displaying the contents of SVG files local/qt6-translations 6.2.2-2 (qt6) A cross-platform application and UI framework (Translations)

fredvej commented 2 years ago

I downloaded and ran the official AppImage, and it behaves exactly like the one from Manjaro repository:

qBittorrent version: v4.4.0

Caught signal: SIGSEGV
Stack trace:
  /tmp/.mount_qbittomeUvf2/AppRun.wrapped : ()+0x14d4a9  [0x5568504514a9]
  /tmp/.mount_qbittomeUvf2/AppRun.wrapped : ()+0x152892  [0x556850456892]
  /tmp/.mount_qbittomeUvf2/AppRun.wrapped : ()+0x11ac76  [0x55685041ec76]
  /tmp/.mount_qbittomeUvf2/AppRun.wrapped : ()+0x13212b  [0x55685043612b]
  /tmp/.mount_qbittomeUvf2/AppRun.wrapped : ()+0x1322bb  [0x5568504362bb]
  /tmp/.mount_qbittomeUvf2/usr/bin/../lib/libQt6Core.so.6 : QObject::event(QEvent*)+0x123  [0x7fe54682ef9d]
  /tmp/.mount_qbittomeUvf2/usr/bin/../lib/libQt6Widgets.so.6 : QApplicationPrivate::notify_helper(QObject*, QEvent*)+0xe0  [0x7fe547e22a3e]
  /tmp/.mount_qbittomeUvf2/usr/bin/../lib/libQt6Widgets.so.6 : QApplication::notify(QObject*, QEvent*)+0x1989  [0x7fe547e2bac5]
  /tmp/.mount_qbittomeUvf2/usr/bin/../lib/libQt6Core.so.6 : QCoreApplication::notifyInternal2(QObject*, QEvent*)+0xa7  [0x7fe546854485]
  /tmp/.mount_qbittomeUvf2/usr/bin/../lib/libQt6Core.so.6 : QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)+0x215  [0x7fe546854f3f]
  /tmp/.mount_qbittomeUvf2/usr/bin/../lib/libQt6Core.so.6 : ()+0xcaf6d  [0x7fe546715f6d]
  /usr/lib/libglib-2.0.so.0 : g_main_context_dispatch()+0x193  [0x7fe545fb0fd3]
  /usr/lib/libglib-2.0.so.0 : ()+0xab049  [0x7fe546007049]
  /usr/lib/libglib-2.0.so.0 : g_main_context_iteration()+0x35  [0x7fe545fae545]
  /tmp/.mount_qbittomeUvf2/usr/bin/../lib/libQt6Core.so.6 : QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)+0x65  [0x7fe546714ae5]
  /tmp/.mount_qbittomeUvf2/usr/bin/../lib/libQt6Core.so.6 : QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)+0x14d  [0x7fe54685491f]
  /tmp/.mount_qbittomeUvf2/usr/bin/../lib/libQt6Core.so.6 : QCoreApplication::exec()+0x11f  [0x7fe546855165]
  /tmp/.mount_qbittomeUvf2/AppRun.wrapped : ()+0xca51a  [0x5568503ce51a]
  /tmp/.mount_qbittomeUvf2/AppRun.wrapped : ()+0xbfdf9  [0x5568503c3df9]
  /usr/lib/libc.so.6 : __libc_start_main()+0xd5  [0x7fe54610eb25]
  /tmp/.mount_qbittomeUvf2/AppRun.wrapped : ()+0xc412e  [0x5568503c812e]
glassez commented 2 years ago
  • start qBittorrent , start some torrents
  • exit qBittorrent
  • start qBittorrent qBittorrent does not start, dies with segmentation fault

Does this happen with any torrent, or only with some specific one(s)? Does this happen each time you repeat the steps above with the same torrent?

fredvej commented 2 years ago

Now I cannot reproduce the error. Here is what I did:

I stopped qBittorrent with all torrents seeding.

I removed ~/.local/share/qBittorrent/BT_backup/34dfaeb7cd234a6c863bb88e62c6f2daa3333479.fastresume and started qBittorrent.

I stopped and removed some torrents including removing files, and stopped the rest of the torrents and removed them without removing files. qBittorrent should have removed all files in ~/.local/share/qBittorrent/BT_backup/ , but .torrent and .fastresume were still there for 2 torrents, clonezilla-live-2.8.1-12-amd64.iso and systemrescue-9.00-amd64.iso from linuxtracker.org. Then I stopped qBittorrent and deleted all files in ~/.local/share/qBittorrent/BT_backup/ and started qBittorrent. Clean start with no torrents.

The RSS was updated, and I doubleclicked on antiX 19.5 x64 base ISO from linuxtracker and downloaded it. Now ~/.local/share/qBittorrent/BT_backup/ contained 78ad9fb79a32cea782c91bdc59dc304a68d63d95.torrent and 78ad9fb79a32cea782c91bdc59dc304a68d63d95.fastresume as it should. I stopped qBittorrent with the torrent seeding. Same files in ~/.local/share/qBittorrent/BT_backup/ , so far so good. I started qBittorrent, and the torrent resumed seeding.

Downloaded https://unblockedrarbg.org/download.php?id=csvg42m&h=15b&f=Ghostbusters.Afterlife.2021.1080p.BluRay.x264.DTS-HD.MA.5.1-MT-[rarbg.to].torrent into my watched folder ~/Downloads/TORRENTS/1_incomingtorfil/ , and qBittorrent found it and downloaded the torrent content. Doubleclicked on bluestar linux 5.16.2 2022.01.24 x86 64 ISO in RSS feed from linuxtracker, and qBittorrent downloaded it. Then I stopped qBittorrent and started it again - no problems.

Opened clonezilla-live-2.8.1-12-amd64.iso.torrent, qBittorrent checked the files on disc and resumed seeding it. This torrent has files 34dfaeb7cd234a6c863bb88e62c6f2daa3333479.torrent and .fastresume in ~/.local/share/qBittorrent/BT_backup/ - AHA! Then I stopped qBittorrent and started it again a couple of times - no problems. Stopped clonezilla torrent and removed it without removing files on disc. Then I stopped qBittorrent and started it again - no problems.

Then I stopped qBittorrent and started copied clonezilla-live-2.8.1-12-amd64.iso.torrent manjaro-kde-21.2.2-minimal-220123-linux515.iso.torrent and systemrescue-9.00-amd64.iso.torrent to ~/Downloads/TORRENTS/1_incomingtorfil/ and started qBittorrent. It checked the files on disc and resumed seeding. Stopped qBittorrent, copied clonezilla-live-2.8.1-12-amd64.iso.torrent to ~/Downloads/TORRENTS/1_incomingtorfil/ and started qBittorrent, which resumed all torrents and removed clonezilla-live-2.8.1-12-amd64.iso.torrent from ~/Downloads/TORRENTS/1_incomingtorfil/ without comments. Stopped and removed clonezilla torrent including files on disc.

Now I cannot reproduce the error.

When I upgraded to qBittorrent 4.4.0 I had been seeding clonezilla, manjaro and systemrescue from the former qBittorrent 4.3.9, and their .torrent and .fastresume files were still in ~/.local/share/qBittorrent/BT_backup/ .

Hypothesis: something went wrong when I started qBittorrent 4.4.0 for the first time, and somehow qBittorrent kept recreating 34dfaeb7cd234a6c863bb88e62c6f2daa3333479.fastresume without 34dfaeb7cd234a6c863bb88e62c6f2daa3333479.torrent and could not handle it. The problem went away when I removed all torrents and started clean.

glassez commented 2 years ago

@fredvej So you was affected by #15955.

glassez commented 2 years ago

Duplicate of #15955