Bug 452654 - crash receiving a packet
Summary: crash receiving a packet
Status: REPORTED
Alias: None
Product: ktorrent
Classification: Applications
Component: general (show other bugs)
Version: 21.12.3
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Joris Guisson
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2022-04-15 11:15 UTC by Jaime Torres
Modified: 2022-04-15 11:15 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jaime Torres 2022-04-15 11:15:01 UTC
Application: ktorrent (21.12.3)

Qt Version: 5.15.2
Frameworks Version: 5.93.0
Operating System: Linux 5.18.0-rc2-3.gd8f6a40-default x86_64
Windowing System: Wayland
Distribution: "openSUSE Tumbleweed"
DrKonqi: 5.24.4 [KCrashBackend]

-- Information about the crash:
- What I was doing when the application crashed:
Nothing inusual, it was just waiting for a magnet and serving torrents.

The reporter is unsure if this crash is reproducible.

-- Backtrace:
Application: KTorrent (ktorrent), signal: Segmentation fault

[KCrash Handler]
#4  0x00007f806d28bca2 in utp::RemoteWindow::packetReceived(utp::Header const*, utp::SelectiveAck const*, utp::Retransmitter*) (this=0x7f7fdc398700, hdr=0x7f80515fd608, sack=0x7f80515fd620, conn=0x564b17976160) at /usr/src/debug/libktorrent-21.12.3-1.1.x86_64/src/utp/remotewindow.cpp:58
#5  0x00007f806d28de84 in utp::Connection::handlePacket(utp::PacketParser const&, QSharedPointer<bt::Buffer>) (this=0x564b17976150, parser=..., packet=...) at /usr/src/debug/libktorrent-21.12.3-1.1.x86_64/src/utp/connection.cpp:120
#6  0x00007f806d28e7e6 in utp::UTPServer::handlePacket(QSharedPointer<bt::Buffer>, net::Address const&) (this=0x564b11fadce0, buffer=..., addr=<optimized out>) at /usr/src/debug/libktorrent-21.12.3-1.1.x86_64/src/utp/utpserver.cpp:321
#7  0x00007f806d280de7 in utp::UTPServer::Private::dataReceived(QSharedPointer<bt::Buffer>, net::Address const&) (this=0x564b11f6e120, buffer=..., addr=...) at /usr/src/debug/libktorrent-21.12.3-1.1.x86_64/src/utp/utpserver.cpp:183
#8  0x00007f806d20c2e0 in net::ServerSocket::readyToRead(int) (this=0x564b11f77720) at /usr/src/debug/libktorrent-21.12.3-1.1.x86_64/src/net/serversocket.cpp:133
#9  0x00007f806b311503 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7f80515fd850, r=0x564b11f77720, this=0x7f804800c0a0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#10 doActivate<false>(QObject*, int, void**) (sender=0x564b11fa13c0, signal_index=3, argv=0x7f80515fd850) at kernel/qobject.cpp:3886
#11 0x00007f806b30a9cf in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x564b11fa13c0, m=m@entry=0x7f806b5b0ac0 <QSocketNotifier::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7f80515fd850) at kernel/qobject.cpp:3946
#12 0x00007f806b3148df in QSocketNotifier::activated(QSocketDescriptor, QSocketNotifier::Type, QSocketNotifier::QPrivateSignal) (this=this@entry=0x564b11fa13c0, _t1=..., _t2=<optimized out>, _t3=...) at .moc/moc_qsocketnotifier.cpp:178
#13 0x00007f806b3150db in QSocketNotifier::event(QEvent*) (this=0x564b11fa13c0, e=0x7f80515fd970) at kernel/qsocketnotifier.cpp:302
#14 0x00007f806bfa5a7f in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x564b11fa13c0, e=0x7f80515fd970) at kernel/qapplication.cpp:3632
#15 0x00007f806b2dae3a in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x564b11fa13c0, event=0x7f80515fd970) at kernel/qcoreapplication.cpp:1064
#16 0x00007f806b332f3d in socketNotifierSourceDispatch(GSource*, GSourceFunc, gpointer) (source=source@entry=0x7f8034004840) at kernel/qeventdispatcher_glib.cpp:107
#17 0x00007f8069471122 in g_main_dispatch (context=0x7f8034000c30) at ../glib/gmain.c:3417
#18 g_main_context_dispatch (context=0x7f8034000c30) at ../glib/gmain.c:4135
#19 0x00007f80694714b8 in g_main_context_iterate (context=context@entry=0x7f8034000c30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4211
#20 0x00007f806947156f in g_main_context_iteration (context=0x7f8034000c30, may_block=1) at ../glib/gmain.c:4276
#21 0x00007f806b332384 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f8034000b70, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#22 0x00007f806b2d983b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f80515fdb80, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#23 0x00007f806b0f4d7e in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#24 0x00007f806b0f5eef in QThreadPrivate::start(void*) (arg=0x564b11f6d500) at thread/qthread_unix.cpp:331
#25 0x00007f806a8a42ba in start_thread (arg=<optimized out>) at pthread_create.c:442
#26 0x00007f806a92e460 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 7 (Thread 0x7f8051dff640 (LWP 5146) "Qt bearer threa"):
#1  0x00007f806947144e in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f80400029e0, timeout=<optimized out>, context=0x7f8040000c30) at ../glib/gmain.c:4516
#2  g_main_context_iterate (context=context@entry=0x7f8040000c30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4206
#3  0x00007f806947156f in g_main_context_iteration (context=0x7f8040000c30, may_block=1) at ../glib/gmain.c:4276
#4  0x00007f806b3323f6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f8040000b70, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007f806b2d983b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f8051dfeb80, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#6  0x00007f806b0f4d7e in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007f806b0f5eef in QThreadPrivate::start(void*) (arg=0x564b11f4ce80) at thread/qthread_unix.cpp:331
#8  0x00007f806a8a42ba in start_thread (arg=<optimized out>) at pthread_create.c:442
#9  0x00007f806a92e460 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 6 (Thread 0x7f805ddfe640 (LWP 5133) "QDBusConnection"):
#1  0x00007f806947144e in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f80480148e0, timeout=<optimized out>, context=0x7f8048000c30) at ../glib/gmain.c:4516
#2  g_main_context_iterate (context=context@entry=0x7f8048000c30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4206
#3  0x00007f806947156f in g_main_context_iteration (context=0x7f8048000c30, may_block=1) at ../glib/gmain.c:4276
#4  0x00007f806b3323f6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f8048000b70, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007f806b2d983b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f805ddfdb50, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#6  0x00007f806b0f4d7e in QThread::exec() (this=this@entry=0x7f806c66e440 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007f806c5f5287 in QDBusConnectionManager::run() (this=0x7f806c66e440 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:179
#8  0x00007f806b0f5eef in QThreadPrivate::start(void*) (arg=0x7f806c66e440 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:331
#9  0x00007f806a8a42ba in start_thread (arg=<optimized out>) at pthread_create.c:442
#10 0x00007f806a92e460 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 5 (Thread 0x7f805e5ff640 (LWP 5132) "ktorren:disk$0"):
#1  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x564b11d60068, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87
#2  0x00007f806a8a097f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x564b11d60068, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007f806a8a35b0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x564b11d60018, cond=0x564b11d60040) at pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x564b11d60040, mutex=0x564b11d60018) at pthread_cond_wait.c:618
#5  0x00007f805e6c1e4b in cnd_wait (mtx=0x564b11d60018, cond=0x564b11d60040) at ../include/c11/threads_posix.h:155
#6  util_queue_thread_func(void*) (input=input@entry=0x564b11e701f0) at ../src/util/u_queue.c:294
#7  0x00007f805e6bbfa7 in impl_thrd_routine(void*) (p=<optimized out>) at ../include/c11/threads_posix.h:87
#8  0x00007f806a8a42ba in start_thread (arg=<optimized out>) at pthread_create.c:442
#9  0x00007f806a92e460 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 4 (Thread 0x7f8064b45640 (LWP 5131) "ktorrent:rcs0"):
#1  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x564b11e72b90, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87
#2  0x00007f806a8a097f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x564b11e72b90, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007f806a8a35b0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x564b11e72b40, cond=0x564b11e72b68) at pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x564b11e72b68, mutex=0x564b11e72b40) at pthread_cond_wait.c:618
#5  0x00007f805e6c1e4b in cnd_wait (mtx=0x564b11e72b40, cond=0x564b11e72b68) at ../include/c11/threads_posix.h:155
#6  util_queue_thread_func(void*) (input=input@entry=0x564b11e75870) at ../src/util/u_queue.c:294
#7  0x00007f805e6bbfa7 in impl_thrd_routine(void*) (p=<optimized out>) at ../include/c11/threads_posix.h:87
#8  0x00007f806a8a42ba in start_thread (arg=<optimized out>) at pthread_create.c:442
#9  0x00007f806a92e460 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 3 (Thread 0x7f8065658640 (LWP 5073) "WaylandEventThr"):
#1  0x00007f806872f0ec in poll (__timeout=-1, __nfds=2, __fds=0x7f8065657b70) at /usr/include/bits/poll2.h:39
#2  QtWaylandClient::EventThread::run() (this=0x564b11dd5de0) at qwaylanddisplay.cpp:208
#3  0x00007f806b0f5eef in QThreadPrivate::start(void*) (arg=0x564b11dd5de0) at thread/qthread_unix.cpp:331
#4  0x00007f806a8a42ba in start_thread (arg=<optimized out>) at pthread_create.c:442
#5  0x00007f806a92e460 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 2 (Thread 0x7f8065e59640 (LWP 5072) "WaylandEventThr"):
#1  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x564b11dc55b4, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87
#2  0x00007f806a8a097f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x564b11dc55b4, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x00007f806a8a35b0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x564b11dc5560, cond=0x564b11dc5588) at pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x564b11dc5588, mutex=0x564b11dc5560) at pthread_cond_wait.c:618
#5  0x00007f806b0fbd6b in QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., deadline=..., this=0x564b11dc5560) at thread/qwaitcondition_unix.cpp:146
#6  QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=this@entry=0x564b11ddc7c0, mutex=mutex@entry=0x564b11ddc7b8, deadline=...) at thread/qwaitcondition_unix.cpp:225
#7  0x00007f806872f08f in QtWaylandClient::EventThread::waitForReading() (this=0x564b11ddc780) at /usr/include/qt5/QtCore/qdeadlinetimer.h:68
#8  QtWaylandClient::EventThread::run() (this=0x564b11ddc780) at qwaylanddisplay.cpp:206
#9  0x00007f806b0f5eef in QThreadPrivate::start(void*) (arg=0x564b11ddc780) at thread/qthread_unix.cpp:331
#10 0x00007f806a8a42ba in start_thread (arg=<optimized out>) at pthread_create.c:442
#11 0x00007f806a92e460 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 1 (Thread 0x7f806814d980 (LWP 5038) "ktorrent"):
#1  0x00007f806b0f6225 in QtLinuxFutex::_q_futex(int*, int, int, unsigned long long, int*, int) (val3=0, addr2=0x0, val2=0, val=3, op=0, addr=0x564b11fadd88) at thread/qfutex_p.h:116
#2  QtLinuxFutex::futexWait<QBasicAtomicPointer<QMutexData> >(QBasicAtomicPointer<QMutexData>&, QBasicAtomicPointer<QMutexData>::Type) (expectedValue=0x3, futex=...) at thread/qfutex_p.h:135
#3  lockInternal_helper<false> (timeout=-1, elapsedTimer=0x0, d_ptr=...) at thread/qmutex_linux.cpp:142
#4  QBasicMutex::lockInternal() (this=0x564b11fadd88) at thread/qmutex_linux.cpp:159
#5  0x00007f806b0f6533 in QBasicMutex::lock() (this=0x564b11fadd88) at thread/qmutex.h:81
#6  QRecursiveMutexPrivate::lock(int) (this=0x564b11fadd70, timeout=timeout@entry=-1) at thread/qmutex.cpp:780
#7  0x00007f806b0f6425 in QMutex::lock() (this=this@entry=0x564b11f6e150) at thread/qmutex.cpp:235
#8  0x00007f806d28d2a7 in QMutexLocker::QMutexLocker(QBasicMutex*) (m=0x564b11f6e150, this=0x7ffdc7e0bd78) at /usr/include/qt5/QtCore/qmutex.h:238
#9  utp::UTPServer::connectTo(net::Address const&) (this=0x564b11fadce0, addr=...) at /usr/src/debug/libktorrent-21.12.3-1.1.x86_64/src/utp/utpserver.cpp:368
#10 0x00007f806d28d5d5 in utp::UTPSocket::connectTo(net::Address const&) (this=0x564b1734a620, addr=...) at /usr/src/debug/libktorrent-21.12.3-1.1.x86_64/src/utp/utpsocket.cpp:83
#11 0x00007f806d20e85b in bt::Authenticate::Authenticate(net::Address const&, bt::TransportProtocol, bt::SHA1Hash const&, bt::PeerID const&, QWeakPointer<bt::PeerConnector>) (this=0x564b1afa7980, addr=..., proto=<optimized out>, info_hash=<optimized out>, peer_id=<optimized out>, pcon=..., this=<optimized out>, addr=<optimized out>, proto=<optimized out>, info_hash=<optimized out>, peer_id=<optimized out>, pcon=...) at /usr/include/qt5/QtCore/qsharedpointer_impl.h:301
#12 0x00007f806d22523c in mse::EncryptedAuthenticate::EncryptedAuthenticate(net::Address const&, bt::TransportProtocol, bt::SHA1Hash const&, bt::PeerID const&, QWeakPointer<bt::PeerConnector>) (pcon=..., peer_id=..., info_hash=..., proto=bt::UTP, addr=..., this=0x564b1afa7980) at /usr/src/debug/libktorrent-21.12.3-1.1.x86_64/src/mse/encryptedauthenticate.cpp:29
#13 bt::PeerConnector::Private::start(bt::PeerConnector::Method) (this=0x564b1b650e60, method=<optimized out>) at /usr/src/debug/libktorrent-21.12.3-1.1.x86_64/src/peer/peerconnector.cpp:176
#14 0x00007f806d20b6c8 in bt::Authenticate::onFinish(bool) (this=0x564b16fad3c0, succes=<optimized out>) at /usr/src/debug/libktorrent-21.12.3-1.1.x86_64/src/peer/authenticate.cpp:135
#15 0x00007f806b311503 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffdc7e0c130, r=0x564b16fad3c0, this=0x564b1743a400) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#16 doActivate<false>(QObject*, int, void**) (sender=0x564b16fad3e0, signal_index=3, argv=0x7ffdc7e0c130) at kernel/qobject.cpp:3886
#17 0x00007f806b30a9cf in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=<optimized out>, m=m@entry=0x7f806b5b0c00, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffdc7e0c130) at kernel/qobject.cpp:3946
#18 0x00007f806b3153ba in QTimer::timeout(QTimer::QPrivateSignal) (this=<optimized out>, _t1=...) at .moc/moc_qtimer.cpp:205
#19 0x00007f806b3073cf in QObject::event(QEvent*) (this=0x564b16fad3e0, e=0x7ffdc7e0c2b0) at kernel/qobject.cpp:1336
#20 0x00007f806bfa5a7f in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x564b16fad3e0, e=0x7ffdc7e0c2b0) at kernel/qapplication.cpp:3632
#21 0x00007f806b2dae3a in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x564b16fad3e0, event=0x7ffdc7e0c2b0) at kernel/qcoreapplication.cpp:1064
#22 0x00007f806b33172b in QTimerInfoList::activateTimers() (this=this@entry=0x564b11dd81b0) at kernel/qtimerinfo_unix.cpp:643
#23 0x00007f806b331fc4 in timerSourceDispatch(GSource*, GSourceFunc, gpointer) (source=source@entry=0x564b11dd8150) at kernel/qeventdispatcher_glib.cpp:183
#24 0x00007f8069471122 in g_main_dispatch (context=0x564b11dddbe0) at ../glib/gmain.c:3417
#25 g_main_context_dispatch (context=0x564b11dddbe0) at ../glib/gmain.c:4135
#26 0x00007f80694714b8 in g_main_context_iterate (context=context@entry=0x564b11dddbe0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4211
#27 0x00007f806947156f in g_main_context_iteration (context=0x564b11dddbe0, may_block=1) at ../glib/gmain.c:4276
#28 0x00007f806b332384 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x564b11dd7550, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#29 0x00007f806b2d983b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffdc7e0c4f0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#30 0x00007f806b2e1b10 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#31 0x00007f806b76d25c in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1867
#32 0x00007f806bfa59f5 in QApplication::exec() () at kernel/qapplication.cpp:2824
#33 0x0000564b1128f3ea in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/ktorrent-21.12.3-1.1.x86_64/ktorrent/main.cpp:235
[Inferior 1 (process 5038) detached]

Possible duplicates by query: bug 443666, bug 306286, bug 281693, bug 281507, bug 277331.

Reported using DrKonqi