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

qbittorrent-4.5.0 gets into some infinite loop upon exit and uses 100% cpu #18093

Closed
slashbeast opened this issue Nov 28, 2022 · 12 comments · Fixed by #18108
Closed

qbittorrent-4.5.0 gets into some infinite loop upon exit and uses 100% cpu #18093

slashbeast opened this issue Nov 28, 2022 · 12 comments · Fixed by #18108
Labels
Crash OS: Linux Issues specific to Linux distributions

Comments

@slashbeast
Copy link

slashbeast commented Nov 28, 2022

qBittorrent & operating system versions

qbittorrent: 4.5.0
OS: Gentoo ~amd64
Qt: 5.15.5
libtorrent-rastbar-1.2.18

What is the problem?

While 4.4.5 version works okay, the 4.5.0 seems to go into some infinite loop on exit and spam the console with the following until kill -9'd

2055# 0x00007F2C81AC082C in /lib64/libc.so.6
2056# gsignal in /lib64/libc.so.6
2057# abort in /lib64/libc.so.6
2058# 0x00007F2C81492CE5 in /usr/lib64/libQt5Core.so.5
2059# 0x00007F2C8315754B in /usr/lib64/libQt5Widgets.so.5
2060# QDialog::QDialog(QWidget*, QFlags<Qt::WindowType>) in /usr/lib64/libQt5Widgets.so.5
2061# StacktraceDialog::StacktraceDialog(QWidget*) in qbittorrent
2062# 0x000055FCACEEA595 in qbittorrent
2063# 0x00007F2C81A70380 in /lib64/libc.so.6
2064# 0x00007F2C81AC082C in /lib64/libc.so.6
2065# gsignal in /lib64/libc.so.6
2066# abort in /lib64/libc.so.6
2067# 0x00007F2C81492CE5 in /usr/lib64/libQt5Core.so.5
2068# 0x00007F2C8315754B in /usr/lib64/libQt5Widgets.so.5
2069# QDialog::QDialog(QWidget*, QFlags<Qt::WindowType>) in /usr/lib64/libQt5Widgets.so.5
2070# StacktraceDialog::StacktraceDialog(QWidget*) in qbittorrent
2071# 0x000055FCACEEA595 in qbittorrent
2072# 0x00007F2C81A70380 in /lib64/libc.so.6
2073# 0x00007F2C81AC082C in /lib64/libc.so.6
2074# gsignal in /lib64/libc.so.6
2075# abort in /lib64/libc.so.6
2076# 0x00007F2C81492CE5 in /usr/lib64/libQt5Core.so.5
2077# 0x00007F2C8315754B in /usr/lib64/libQt5Widgets.so.5
2078# QDialog::QDialog(QWidget*, QFlags<Qt::WindowType>) in /usr/lib64/libQt5Widgets.so.5
2079# StacktraceDialog::StacktraceDialog(QWidget*) in qbittorrent
2080# 0x000055FCACEEA595 in qbittorrent
2081# 0x00007F2C81A70380 in /lib64/libc.so.6
2082# 0x00007F2C81AC082C in /lib64/libc.so.6
2083# gsignal in /lib64/libc.so.6
2084# abort in /lib64/libc.so.6
2085# 0x00007F2C81492CE5 in /usr/lib64/libQt5Core.so.5
2086# 0x00007F2C8315754B in /usr/lib64/libQt5Widgets.so.5
2087# QDialog::QDialog(QWidget*, QFlags<Qt::WindowType>) in /usr/lib64/libQt5Widgets.so.5
2088# StacktraceDialog::StacktraceDialog(QWidget*) in qbittorrent
2089# 0x000055FCACEEA595 in qbittorrent
2090# 0x00007F2C81A70380 in /lib64/libc.so.6
2091# QWidget::~QWidget() in /usr/lib64/libQt5Widgets.so.5
2092# 0x00007F2C835861AD in /usr/lib64/libQt5Widgets.so.5
2093# 0x00007F2C83585802 in /usr/lib64/libQt5Widgets.so.5
2094# QSystemTrayIcon::~QSystemTrayIcon() in /usr/lib64/libQt5Widgets.so.5
2095# QSystemTrayIcon::~QSystemTrayIcon() in /usr/lib64/libQt5Widgets.so.5
2096# QObjectPrivate::deleteChildren() in /usr/lib64/libQt5Core.so.5
2097# QObject::~QObject() in /usr/lib64/libQt5Core.so.5
2098# DesktopIntegration::~DesktopIntegration() in qbittorrent
2099# QObjectPrivate::deleteChildren() in /usr/lib64/libQt5Core.so.5
2100# QObject::~QObject() in /usr/lib64/libQt5Core.so.5
2101# Application::~Application() in qbittorrent
2102# main in qbittorrent
2103# 0x00007F2C81A5B2CA in /lib64/libc.so.6
2104# __libc_start_main in /lib64/libc.so.6
2105# _start in qbittorrent

QWidget: Must construct a QApplication before a QWidget
zsh: terminated  qbittorrent

Steps to reproduce

  1. start qbittorrent
  2. exit qbittorrent
  3. See it using 100% CPU and spamming the stdout/err with the above.

Additional context

No response

Log(s) & preferences file(s)

No response

@pitsi
Copy link

pitsi commented Nov 29, 2022

Same thing here and I am killing it with killall -9! :(
Debian testing/unstable x64, qt 5.15.6, libtorrent-rasterbar 2.0.8.0.

---edit
I have moved ~/.local/share/data/qBittorrent to .local/share/qBittorrent as suggested by the output in the terminal, but nothing changed

@marillat
Copy link

marillat commented Nov 29, 2022

I see also this bug under Debian unstable amd4
qbittorrent: 4.5.0
Qt: 5.15.6
ibtorrent-rastbar: 2.0.8

Here in the gdb backtrace

Thread 1 "qbittorrent" received signal SIGSEGV, Segmentation fault.
0x00007ffff6da07a7 in QWidget::~QWidget (this=0x55555613ea80, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1478
1478	kernel/qwidget.cpp: Aucun fichier ou dossier de ce type.
(gdb) bt
#0  0x00007ffff6da07a7 in QWidget::~QWidget (this=0x55555613ea80, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1478
#1  0x00007ffff7106fad in QSystemTrayIconSys::~QSystemTrayIconSys (this=0x55555613ea80, __in_chrg=<optimized out>) at util/qsystemtrayicon_x11.cpp:76
#2  QSystemTrayIconSys::~QSystemTrayIconSys (this=0x55555613ea80, __in_chrg=<optimized out>) at util/qsystemtrayicon_x11.cpp:76
#3  0x00007ffff71065c2 in QSystemTrayIconPrivate::destroyIcon (this=0x555556262370) at util/qsystemtrayicon_x11.cpp:278
#4  QSystemTrayIconPrivate::destroyIcon (this=0x555556262370) at util/qsystemtrayicon_x11.cpp:272
#5  QSystemTrayIconPrivate::remove_sys (this=0x555556262370) at util/qsystemtrayicon_x11.cpp:269
#6  0x00007ffff70e5d0b in QSystemTrayIcon::~QSystemTrayIcon (this=0x555556233590, __in_chrg=<optimized out>) at util/qsystemtrayicon.cpp:182
#7  0x00007ffff70e5d29 in QSystemTrayIcon::~QSystemTrayIcon (this=0x555556233590, __in_chrg=<optimized out>) at util/qsystemtrayicon.cpp:183
#8  0x00007ffff5edafee in QObjectPrivate::deleteChildren() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007ffff5ee6db4 in QObject::~QObject() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x000055555596a6ed in DesktopIntegration::~DesktopIntegration() ()
#11 0x00007ffff5edafee in QObjectPrivate::deleteChildren() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007ffff5ee6db4 in QObject::~QObject() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00005555556cc4f9 in Application::~Application() ()
#14 0x00005555556a2dc4 in main ()

@thalieht thalieht added OS: Linux Issues specific to Linux distributions Crash labels Nov 29, 2022
@corvus1
Copy link

corvus1 commented Nov 29, 2022

I see also this bug under Debian unstable amd4

Could you link it to me? I have a suspicion about what might be causing this and why I can't reproduce. And I'd like to participate.

@shanechko
Copy link

I am unable to reproduce too.

Qt: 5.15.5
Libtorrent: 2.0.8.0
Boost: 1.80.0
OpenSSL: 3.0.7
Zlib: 1.2.13

Environment: KDE, Xorg

@marillat
Copy link

I see also this bug under Debian unstable amd4

Could you link it to me? I have a suspicion about what might be causing this and why I can't reproduce. And I'd like to participate.

http://ftp.fr.debian.org/debian/pool/main/q/qbittorrent/qbittorrent_4.5.0-1_amd64.deb

@corvus1
Copy link

corvus1 commented Nov 30, 2022

Unfortunately I wasn't able to run it on my system, even though, I even went as far as downloading and LD_PRELOADING openssl3 from debian. We probably have different ABIs. and qbit crashed on start.

Anyway. My hunch is, we also have different glibc versions. I'm currently running 2.36. But that probably won't tell us much. We'd probably have to compare what kind of patches and stuff we have in our distributions.

@shanechko
Copy link

@slashbeast could you show you USE flags for Qt ?
My is:

  • dev-qt/qtwidgets-5.15.5-r1:5/5.15::gentoo USE="X dbus png -debug -gles2-only -gtk -test"
  • dev-qt/qtgui-5.15.5-r2:5/5.15.5::gentoo USE="X accessibility dbus egl evdev gif jpeg libinput png udev vulkan wayland -debug -eglfs -gles2-only -ibus -linuxfb -test -tslib -tuio -vnc"

@slashbeast
Copy link
Author

Sure

  • qtwidgets USE="X dbus png -debug -gles2-only -gtk -test"
  • qtgui USE="X dbus egl jpeg libinput png udev vulkan wayland -accessibility -debug -eglfs -evdev -gles2-only -ibus
    -linuxfb -test -tslib -tuio -vnc"

This is on xorg. I see the 5.15.7 is in tree, will bump the whole thing and see if I can still reproduce it.

@corvus1
Copy link

corvus1 commented Nov 30, 2022

5.15.7 didn't change anything for me. It was working fine before, it works fine now.

@marillat
Copy link

As the gdb backtrace suggest this bug is related to notification.

Disabling notification 'fix' this issue.

As noticed by @corvus1 this bug is a duplicate with #18072

@marillat
Copy link

I confirm that PR #18108 fix this issue

glassez added a commit that referenced this issue Nov 30, 2022
Otherwise it is destructed in QObject destructor, i.e. after GUI application is already destructed.
This can be related to some problems with system tray icon.

PR #18108.
Closes #18093.
glassez added a commit to glassez/qBittorrent that referenced this issue Nov 30, 2022
Otherwise it is destructed in QObject destructor, i.e. after GUI application is already destructed.
This can be related to some problems with system tray icon.

PR qbittorrent#18108.
Closes qbittorrent#18093.
@pitsi
Copy link

pitsi commented Nov 30, 2022

I confirm that disabling the tray icon as suggested by @marillat fixes the issue.
I will keep it that way until the next update that will fix it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Crash OS: Linux Issues specific to Linux distributions
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants