mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2026-03-02 22:57:32 -05:00
Segfault on latest Opensuse Tumbleweed #12437
Labels
No labels
Accessibility
AppImage
Bounty
Build system
CI
Can't reproduce
Code cleanup
Confirmed bug
Confirmed bug
Core
Crash
Data loss
Discussion
Docker
Documentation
Duplicate
Feature
Feature request
Feature request
Feature request
Filters
Flatpak
GUI
Has workaround
I2P
Invalid
Libtorrent
Look and feel
Meta
NSIS
Network
Not an issue
OS: *BSD
OS: Linux
OS: Windows
OS: macOS
PPA
Performance
Project management
Proxy/VPN
Qt bugs
Qt6 compat
RSS
Search engine
Security
Temp folder
Themes
Translations
Triggers
Waiting diagnosis
Waiting info
Waiting upstream
Waiting web implementation
Watched folders
WebAPI
WebUI
autoCloseOldIssue
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/qBittorrent#12437
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @AlexCzar on GitHub (Sep 27, 2021).
qBittorrent & operating system versions
qBittorrent: 4.3.8 x64
Operating system: Opensuse Tumbleweed 20210924
Qt: 5.15.2
libtorrent-rasterbar: 1.2.14
What is the problem?
Steps to reproduce
Additional context
Nothing to add here, it started after I updated to the mentioned OS version yesterady.
Log(s) & preferences file(s)
Prefs
Logs
@pmanousis commented on GitHub (Sep 28, 2021):
Another one in the same distro:
`qBittorrent version: v4.3.8
Caught signal: SIGSEGV
Stack trace:
qbittorrent : ()+0xef262 [0x56391aa63262]
qbittorrent : ()+0xf0b7b [0x56391aa64b7b]
/lib64/libQt5Core.so.5 : QObject::event(QEvent*)+0x2ae [0x7fa1c5330fbe]
/lib64/libQt5Widgets.so.5 : QApplicationPrivate::notify_helper(QObject*, QEvent*)+0x7f [0x7fa1c680ca7f]
/lib64/libQt5Core.so.5 : QCoreApplication::notifyInternal2(QObject*, QEvent*)+0x12a [0x7fa1c53049ca]
/lib64/libQt5Core.so.5 : QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)+0x187 [0x7fa1c5307a17]
/lib64/libQt5Core.so.5 : ()+0x332823 [0x7fa1c535c823]
/lib64/libglib-2.0.so.0 : g_main_context_dispatch()+0x16f [0x7fa1c3fdd82f]
/lib64/libglib-2.0.so.0 : ()+0x56bb8 [0x7fa1c3fddbb8]
/lib64/libglib-2.0.so.0 : g_main_context_iteration()+0x2f [0x7fa1c3fddc6f]
/lib64/libQt5Core.so.5 : QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag)+0x64 [0x7fa1c535bea4]
/lib64/libQt5Core.so.5 : QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag)+0x12b [0x7fa1c53033cb]
/lib64/libQt5Core.so.5 : QCoreApplication::exec()+0x90 [0x7fa1c530b6b0]
qbittorrent : ()+0xb0f7f [0x56391aa24f7f]
/lib64/libc.so.6 : ()+0x2d540 [0x7fa1c4b3c540]
/lib64/libc.so.6 : __libc_start_main()+0x7c [0x7fa1c4b3c5ec]
qbittorrent : ()+0xb45a5 [0x56391aa285a5]
Segmentation fault (core dumped)`
@kyawthusoe45 commented on GitHub (Sep 28, 2021):
@AlexCzar Very detailed report. Yeah. I'm affected too.
@thalieht commented on GitHub (Sep 28, 2021):
qBittorrent is missing symbols in these stacktraces so we can't see where it crashed.
@pmanousis commented on GitHub (Sep 28, 2021):
After running
qbittorentingdbI got the following (not sure if it is any more helpful though):Thread 1 "qbittorrent" received signal SIGSEGV, Segmentation fault.
BitTorrent::Session::handleStateUpdateAlert (p=, this=0x555555f888c0) at /usr/src/debug/qbittorrent-4.3.8-1.2.x86_64/src/base/bittorrent/session.cpp:5010
Downloading source file /usr/src/debug/qbittorrent-4.3.8-1.2.x86_64/src/base/bittorrent/session.cpp...
5010 const auto id = TorrentID::fromInfoHash(status.info_hash);
Missing separate debuginfos, use: zypper install qbittorrent-debuginfo-4.3.8-1.2.x86_64
(gdb)
(gdb) where
#0 BitTorrent::Session::handleStateUpdateAlert (p=, this=0x555555f888c0) at /usr/src/debug/qbittorrent-4.3.8-1.2.x86_64/src/base/bittorrent/session.cpp:5010
#1 BitTorrent::Session::handleAlert (this=0x555555f888c0, a=) at /usr/src/debug/qbittorrent-4.3.8-1.2.x86_64/src/base/bittorrent/session.cpp:4505
#2 0x0000555555644b7b in BitTorrent::Session::readAlerts (this=0x555555f888c0) at /usr/src/debug/qbittorrent-4.3.8-1.2.x86_64/src/base/bittorrent/session.cpp:4480
#3 0x00007ffff656dfbe in QObject::event (this=0x555555f888c0, e=0x555556a29470) at kernel/qobject.cpp:1314
#4 0x00007ffff7a49a7f in QApplicationPrivate::notify_helper (this=, receiver=0x555555f888c0, e=0x555556a29470) at kernel/qapplication.cpp:3632
#5 0x00007ffff65419ca in QCoreApplication::notifyInternal2 (receiver=0x555555f888c0, event=0x555556a29470) at kernel/qcoreapplication.cpp:1064
#6 0x00007ffff6544a17 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x555555deeec0) at kernel/qcoreapplication.cpp:1821
#7 0x00007ffff6599823 in postEventSourceDispatch (s=s@entry=0x555555fd5530) at kernel/qeventdispatcher_glib.cpp:277
#8 0x00007ffff521a82f in g_main_dispatch (context=0x7fffec005000) at ../glib/gmain.c:3337
#9 g_main_context_dispatch (context=0x7fffec005000) at ../glib/gmain.c:4055
#10 0x00007ffff521abb8 in g_main_context_iterate (context=context@entry=0x7fffec005000, block=block@entry=1, dispatch=dispatch@entry=1, self=) at ../glib/gmain.c:4131
#11 0x00007ffff521ac6f in g_main_context_iteration (context=0x7fffec005000, may_block=1) at ../glib/gmain.c:4196
#12 0x00007ffff6598ea4 in QEventDispatcherGlib::processEvents (this=0x555555fd12f0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#13 0x00007ffff65403cb in QEventLoop::exec (this=this@entry=0x7fffffffd7d0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#14 0x00007ffff65486b0 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#15 0x0000555555604f7f in main (argc=, argv=) at /usr/src/debug/qbittorrent-4.3.8-1.2.x86_64/src/app/main.cpp:310
Installing the missing separate debuginfos (qbittorrent-debuginfo-4.3.8-1.2.x86_64) gave no additional output.
@balping commented on GitHub (Sep 28, 2021):
openSUSE Tumbleweed upgraded libc recently to 2.34, I think that might be the reason. Have you considered reporting it at bugzilla?
@pmanousis commented on GitHub (Sep 28, 2021):
No, I have not reported it. On the apps that I use, there are two that have issues after the update I had a couple of days ago (and yes, it was an update of libc, since around 10000 packages got updated 😄 ). To my understanding this is that the libc is more or less okay, but the two apps might need an update to be working as expected. If you think otherwise, please, help me understand and I will report the issues at https://bugzilla.opensuse.org/index.cgi 😉
@balping commented on GitHub (Sep 28, 2021):
Yes, this is probably true. I just suggested bugzilla, because I don't know if it should be fixed on the packaging side, or upstream, but probably upstream.
@Chocobo1 commented on GitHub (Sep 29, 2021):
@pmanousis @balping and anyone using openSUSE Tumbleweed
Please file an issue to openSUSE anyway. If something is broken due to some updates, they deserve to know the situation too.
@lbilli commented on GitHub (Sep 29, 2021):
Indeed it may be an issue on openSUSE side.
I was having the exact same problem but I found a workaround by installing qBittorrent from the openSUSE:network repo (which is the devel area of Tumbleweed) and it runs ok.
It might be just a matter of refreshing openSUSE:Tumbleweed repo.
EDIT:
bugzilla: #1191150
@tguruswamy commented on GitHub (Sep 29, 2021):
The problem was likely this one, an incompatibility between libtorrent-rasterbar and boost1.77, already addressed:
https://build.opensuse.org/request/show/921546
The update will be out in the next snapshot or two.
@userdocs commented on GitHub (Oct 1, 2021):
@tguruswamy that fix is specific to v2 and the OP is building or using v1.2
It also broke docker so I can't even play around with it: https://stackoverflow.com/questions/69314156/zypper-not-working-in-a-fresh-opensuse-tumbleweed-container
I mean, that was a bold move, updating to glibc 2.34 and probably just derailed things for a bit.
I am going to try a vm and see if my builds work or i can build it.
@tguruswamy commented on GitHub (Oct 2, 2021):
Yes you are right.
I think glibc-2.34 is not the immediate cause, as the problem appeared a few snapshots later (coincident with the boost1.77 update).
I can also report that loading with no fastresume files works fine.
@userdocs commented on GitHub (Oct 2, 2021):
Not directly but is this not an issue with libc + and libQt5Core? according to the stack traces (if i read them correctly)
@tguruswamy commented on GitHub (Oct 2, 2021):
The libc call is always there, that's just main(), and all the QEvents are from other threads. I got another user to provide a better stacktrace under gdb (sorry, it's an image), it does seem to be boost allocation related (within the libtorrent fastresume feature):
https://i.imgur.com/SYkibgS.png
https://www.reddit.com/r/openSUSE/comments/pwjxlp/qbittorrent_sigsegv_on_start_after_latest_update/hejenfg/
@userdocs commented on GitHub (Oct 2, 2021):
That package is using libtorrent 1.2 and not 2.04
I will try that debug build and paste a text version.
@userdocs commented on GitHub (Oct 2, 2021):
Also, how do you replicate this issue?
Works fine
How is boost 1.77 involved here?
I cannot replicate the issue. Can someone explain what I am missing or need to do? As far as i can see this is based on the command
And i have OS
20210929and the op has20210924@tguruswamy commented on GitHub (Oct 2, 2021):
qbittorrent loading a .fastresume file from a running torrent is the condition for the stacktrace I linked. Maybe OP's issue is actually different.
And Tumbleweed 20210924 onwards has boost1.77, so I have to investigate why it still says boost1.76. Presumably something has not rebuilt right but I haven't yet worked out what.
@userdocs commented on GitHub (Oct 2, 2021):
OK, i can reproduce it when adding a torrent. With no torrents it loads without errors.
I also saw this https://github.com/qbittorrent/qBittorrent/issues/15512#issuecomment-932799174 but i forgot to backtrace it. When i see it again i'll update the post.
@userdocs commented on GitHub (Oct 2, 2021):
@tgregerson looking at this https://build.opensuse.org/package/show/openSUSE:Factory/qbittorrent being built 1 month ago but boost was updated to 1.77 12 days ago
Does the maintainer not just need to trigger a rebuild to build against 1.77 as it looks like it's built with 1.76 and linking to 1.77
Is that not the problem?
@tguruswamy commented on GitHub (Oct 2, 2021):
I have come to the same conclusion (I am an openSUSE maintainer, though not for this package). This is supposed to happen automatically, I think this is a bug in our build system.
Thanks for investigating, in the end I don't think there's any upstream issue.
For any openSUSE users reading, the workaround until we release a fixed package is to use qbittorrent from the development project, which has been rebuilt against boost1.77
https://software.opensuse.org/download/package?package=qbittorrent&project=network
@olegantonyan commented on GitHub (Oct 2, 2021):
Just for the context: after recent boost update to 1.77 qbittorent started crashing. But I was able to compile the same versions of libtorrent-rasterbar 1.2.14 and qbittorent 4.3.4 against boost 1.77 without any problems and now qbittorrent is working
@tguruswamy commented on GitHub (Oct 11, 2021):
The version in the Tumbleweed main repo is now (re)built correctly against boost1.77. The issue is that because boost is header-only, with no library dependency in the final binary, the automatic build system doesn't detect that qbittorrent needed a rebuild. We will try to work out a solution, but the immediate problem is fixed.
qbittorrent-4.3.8-1.3
openSUSE Tumbleweed 20211008
@userdocs commented on GitHub (Oct 11, 2021):
The main boost dep is with libtorrent? That can use just the headers but builds the libs on install
libboost-system.sofor example. I'm not sure what qbittorrent does with boost to be honest.b2 --with-systemwould also just build boost-system and skip all other modules if neededI think it's better to use libtorrent for that check
@Chocobo1 commented on GitHub (Oct 11, 2021):
Closing as per https://github.com/qbittorrent/qBittorrent/issues/15501#issuecomment-940149317