Bug 276777 - KTorrent crash while exiting - MediaPlayer used before
Summary: KTorrent crash while exiting - MediaPlayer used before
Status: RESOLVED FIXED
Alias: None
Product: ktorrent
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Joris Guisson
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-06-29 20:39 UTC by Alexey Shildyakov
Modified: 2011-08-20 17:07 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey Shildyakov 2011-06-29 20:39:14 UTC
Application: ktorrent (4.2dev)
KDE Platform Version: 4.6.3 (4.6.3) (Compiled from sources)
Qt Version: 4.7.3
Operating System: Linux 2.6.38-gentoo-r3 x86_64
Distribution (Platform): Gentoo Packages

-- Information about the crash:
- What I was doing when the application crashed:
Try to play several times video while torrent was downloading, so "live play". Video window opened but immediately closed. Memory usage increase every time by 150 MiB, so KTorrent use 850 MiB at the end.
Use GStreamer Phonon backend - 4.5.1.
KTorrent at the commit: 9203f06d6fb2fa8ae3b40cde7b9e863370ba4ce4

-- Backtrace:
Application: KTorrent (ktorrent), signal: Aborted
[Current thread is 1 (Thread 0x7fefd6ee5760 (LWP 11798))]

Thread 3 (Thread 0x7fefad2c2700 (LWP 19066)):
#0  0x00007fefd2b5ff33 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fefce49d464 in g_main_context_poll (context=0x7fefa8413a60, block=1, dispatch=1, self=<value optimized out>) at gmain.c:3405
#2  g_main_context_iterate (context=0x7fefa8413a60, block=1, dispatch=1, self=<value optimized out>) at gmain.c:3087
#3  0x00007fefce49d95f in g_main_context_iteration (context=0x7fefa8413a60, may_block=1) at gmain.c:3155
#4  0x00007fefd4620d76 in QEventDispatcherGlib::processEvents (this=0x73cbe60, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007fefd45f5012 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007fefd45f5294 in QEventLoop::exec (this=0x7fefad2c1de0, flags=...) at kernel/qeventloop.cpp:201
#7  0x00007fefd450af64 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:492
#8  0x00007fefd45d6c60 in QInotifyFileSystemWatcherEngine::run (this=0x6ec1590) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x00007fefd450d7c5 in QThreadPrivate::start (arg=0x6ec1590) at thread/qthread_unix.cpp:320
#10 0x00007fefd427cc3a in start_thread (arg=<value optimized out>) at pthread_create.c:301
#11 0x00007fefd2b68d1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 2 (Thread 0x7fef94c9c700 (LWP 18872)):
#0  0x00007fefd2b5ff33 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fefcc6fef33 in poll_func (ufds=0x101a9cd0, nfds=<value optimized out>, timeout=<value optimized out>, userdata=0x1904ae60) at pulse/thread-mainloop.c:75
#2  0x00007fefcc6f0d36 in pa_mainloop_poll (m=0x19a69bb0) at pulse/mainloop.c:879
#3  0x00007fefcc6f1389 in pa_mainloop_iterate (m=0x19a69bb0, block=<value optimized out>, retval=0x0) at pulse/mainloop.c:961
#4  0x00007fefcc6f1450 in pa_mainloop_run (m=0x19a69bb0, retval=0x0) at pulse/mainloop.c:979
#5  0x00007fefcc6feed3 in thread (userdata=0x1c2a0710) at pulse/thread-mainloop.c:94
#6  0x00007fefcb6d5ff7 in internal_thread_func (userdata=0x11e5e920) at pulsecore/thread-posix.c:83
#7  0x00007fefd427cc3a in start_thread (arg=<value optimized out>) at pthread_create.c:301
#8  0x00007fefd2b68d1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 1 (Thread 0x7fefd6ee5760 (LWP 11798)):
[KCrash Handler]
#6  0x00007fefd2ac3675 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#7  0x00007fefd2ac4a90 in abort () at abort.c:92
#8  0x00007fefd2aff2db in __libc_message (do_abort=<value optimized out>, fmt=<value optimized out>) at ../sysdeps/unix/sysv/linux/libc_fatal.c:186
#9  0x00007fefd2b7ef47 in __fortify_fail (msg=0x7fefd2bdb48a "longjmp causes uninitialized stack frame") at fortify_fail.c:32
#10 0x00007fefd2b7eed9 in ____longjmp_chk () at ../sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S:86
#11 0x00007fefd2b7ee43 in __longjmp_chk (env=0x7fefd6d27dc0, val=1) at ../setjmp/longjmp.c:40
#12 0x00007fefd6a78d35 in bt::signal_handler (sig=<value optimized out>, siginfo=<value optimized out>, ptr=0x6) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/util/signalcatcher.cpp:36
#13 <signal handler called>
#14 QSortFilterProxyModelPrivate::proxy_to_source (this=0x59e23b0, proxy_index=...) at itemviews/qsortfilterproxymodel.cpp:368
#15 0x00007fefd3d06f4d in QSortFilterProxyModel::mapToSource (this=<value optimized out>, proxyIndex=<value optimized out>) at itemviews/qsortfilterproxymodel.cpp:2499
#16 0x00007fefd3d081ae in QSortFilterProxyModelPrivate::store_persistent_indexes (this=<value optimized out>) at itemviews/qsortfilterproxymodel.cpp:994
#17 0x00007fefd3d0a77f in QSortFilterProxyModelPrivate::clear_mapping (this=0x59e23b0) at itemviews/qsortfilterproxymodel.cpp:299
#18 0x00007fefd3d04caa in QAbstractProxyModel::qt_metacall (this=0x5b32bf0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=<value optimized out>) at .moc/release-shared/moc_qabstractproxymodel.cpp:72
#19 0x00007fefd3d0d8b7 in QSortFilterProxyModel::qt_metacall (this=0x5b32bf0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffe373c7a0) at .moc/release-shared/moc_qsortfilterproxymodel.cpp:118
#20 0x00007fefd460a59f in QMetaObject::activate (sender=0x5746300, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fffe373c7a0) at kernel/qobject.cpp:3278
#21 0x00007fefd460aaaf in QObject::destroyed (this=<value optimized out>, _t1=0x5746300) at .moc/release-shared/moc_qobject.cpp:149
#22 0x00007fefd460ce77 in QObject::~QObject (this=0x5746300, __in_chrg=<value optimized out>) at kernel/qobject.cpp:843
#23 0x00007fefbaa12c1a in kt::MediaModel::~MediaModel (this=0x5746300, __in_chrg=<value optimized out>) at /var/tmp/portage/net-p2p/ktorrent-9999/work/ktorrent-9999/plugins/mediaplayer/mediamodel.cpp:54
#24 0x00007fefd46087cb in QObjectPrivate::deleteChildren (this=0x5747710) at kernel/qobject.cpp:1955
#25 0x00007fefd37d598f in QWidget::~QWidget (this=0x5746810, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1631
#26 0x00007fefbaa0fc24 in kt::MediaPlayerActivity::~MediaPlayerActivity (this=0x5746810, __in_chrg=<value optimized out>) at /var/tmp/portage/net-p2p/ktorrent-9999/work/ktorrent-9999/plugins/mediaplayer/mediaplayeractivity.cpp:95
#27 0x00007fefbaa10cc0 in kt::MediaPlayerPlugin::unload (this=0x5742ab0) at /var/tmp/portage/net-p2p/ktorrent-9999/work/ktorrent-9999/plugins/mediaplayer/mediaplayerplugin.cpp:65
#28 0x00007fefd66ab4c6 in kt::PluginManager::unloadAll (this=0x7fefbc005790) at /var/tmp/portage/net-p2p/ktorrent-9999/work/ktorrent-9999/libktcore/plugin/pluginmanager.cpp:189
#29 0x0000000000431329 in kt::Core::onExit (this=0x7fefbc0044f0) at /var/tmp/portage/net-p2p/ktorrent-9999/work/ktorrent-9999/ktorrent/core.cpp:925
#30 0x000000000043a211 in kt::GUI::queryExit (this=0x7fefbc000b90) at /var/tmp/portage/net-p2p/ktorrent-9999/work/ktorrent-9999/ktorrent/gui.cpp:568
#31 0x00007fefd512d484 in KMainWindowPrivate::_k_shuttingDown (this=<value optimized out>) at /var/tmp/portage/kde-base/kdelibs-4.6.3-r2/work/kdelibs-4.6.3/kdeui/widgets/kmainwindow.cpp:1142
#32 0x00007fefd512fec9 in KMainWindow::qt_metacall (this=0x7fefbc000b90, _c=QMetaObject::InvokeMetaMethod, _id=7, _a=0x7fffe373cbf0) at /var/tmp/portage/kde-base/kdelibs-4.6.3-r2/work/kdelibs-4.6.3_build/kdeui/kmainwindow.moc:102
#33 0x00007fefd5167357 in KXmlGuiWindow::qt_metacall (this=0x7fefbc000b90, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffe373cbf0) at /var/tmp/portage/kde-base/kdelibs-4.6.3-r2/work/kdelibs-4.6.3_build/kdeui/kxmlguiwindow.moc:102
#34 0x00007fefd611aff5 in KParts::MainWindow::qt_metacall (this=0x7fefbc000b90, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffe373cbf0) at /var/tmp/portage/kde-base/kdelibs-4.6.3-r2/work/kdelibs-4.6.3_build/kparts/mainwindow.moc:75
#35 0x000000000043c8d5 in kt::GUI::qt_metacall (this=0x0, _c=94249904, _id=-478952048, _a=0x0) at /var/tmp/portage/net-p2p/ktorrent-9999/work/ktorrent-9999_build/ktorrent/gui.moc:102
#36 0x00007fefd460a59f in QMetaObject::activate (sender=0x7fffe373cce0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x0) at kernel/qobject.cpp:3278
#37 0x00007fefd45f97a3 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1013
#38 0x000000000042d6bb in main (argc=<value optimized out>, argv=<value optimized out>) at /var/tmp/portage/net-p2p/ktorrent-9999/work/ktorrent-9999/ktorrent/main.cpp:177

Reported using DrKonqi
Comment 1 Joris Guisson 2011-08-20 17:07:04 UTC
Git commit 028b8e0e0d8124fbf26b32cc6e934538f8aaca1b by Joris Guisson.
Committed on 20/08/2011 at 19:06.
Pushed by guisson into branch 'master'.

Improve SIGBUS handling, fixes a crash

BUG: 276777

M  +0    -4    src/util/functions.cpp
M  +10   -5    src/util/signalcatcher.h
M  +19   -3    src/util/signalcatcher.cpp
M  +0    -1    src/util/tests/signalcatchertest.cpp
M  +1    -0    ChangeLog

http://commits.kde.org/libktorrent/028b8e0e0d8124fbf26b32cc6e934538f8aaca1b