Bug 13466

Summary: Сегфолтится при запуске всех закачек/сидировании
Product: Sisyphus Reporter: Konstantin Pavlov <thresh>
Component: ktorrentAssignee: Sergey V Turchin <zerg>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P2 CC: vvk, zerg
Version: unstable   
Hardware: all   
OS: Linux   

Description Konstantin Pavlov 2007-11-18 18:52:34 MSK
Если при достаточно большом количестве закачек / сидирований быстро тыкать в
"запустить все" / "остановить все", ktorrent падает.

backtrace прицеплен:

thresh@dell ~ $ gdb --args /usr/bin/ktorrent -nofork
GNU gdb 6.6-alt2 (ALT Linux)
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "x86_64-alt-linux"...
Using host libthread_db library "/lib64/libthread_db.so.1".
(gdb) run
Starting program: /usr/bin/ktorrent -nofork
[Thread debugging using libthread_db enabled]
[New Thread 47159010726720 (LWP 10315)]
kdevelop (core): [virtual void DDockWindow::addWidget(const QString&, QWidget*,
bool)]
kdevelop (core): [virtual void DDockWindow::addWidget(const QString&, QWidget*,
bool)]
kdevelop (core): [virtual void DDockWindow::addWidget(const QString&, QWidget*,
bool)]
kdevelop (core): [virtual void DDockWindow::addWidget(const QString&, QWidget*,
bool)]
kdevelop (core): [virtual void DDockWindow::addWidget(const QString&, QWidget*,
bool)]  : activating last widget Участники
kdevelop (core): [void DDockWindow::selectWidget(Ideal::Button*)]
kdevelop (core): [virtual void DDockWindow::addWidget(const QString&, QWidget*,
bool)]
kdevelop (core): [virtual void DDockWindow::addWidget(const QString&, QWidget*,
bool)]
kdevelop (core): [virtual void DDockWindow::addWidget(const QString&, QWidget*,
bool)]
kdevelop (core): [virtual void DDockWindow::addWidget(const QString&, QWidget*,
bool)]
kdevelop (core): [virtual void DDockWindow::addWidget(const QString&, QWidget*,
bool)]
kdevelop (core): caption change
kdevelop (core): caption change
[New Thread 1082132800 (LWP 10329)]
[New Thread 1090525504 (LWP 10330)]
[New Thread 1098918208 (LWP 10331)]
[New Thread 1107310912 (LWP 10332)]
[New Thread 1115703616 (LWP 10333)]
[New Thread 1124096320 (LWP 10334)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1082132800 (LWP 10329)]
0x00002ae4125c9867 in QWidget::setUpdatesEnabled () from /usr/lib64/libdbus-1.so.3
(gdb) thread apply all bt

Thread 7 (Thread 1124096320 (LWP 10334)):
#0  0x00002ae40a7c7ef6 in poll () from /lib64/libc.so.6
#1  0x00002ae412192f5b in QWidget::setUpdatesEnabled () from
/usr/lib64/libavahi-common.so.3
#2  0x00002ae412191c46 in avahi_simple_poll_run () from
/usr/lib64/libavahi-common.so.3
#3  0x00002ae412192468 in avahi_simple_poll_iterate () from
/usr/lib64/libavahi-common.so.3
#4  0x00002ae41219249d in avahi_simple_poll_loop () from
/usr/lib64/libavahi-common.so.3
#5  0x00002ae412192e3e in QWidget::setUpdatesEnabled () from
/usr/lib64/libavahi-common.so.3
#6  0x00002ae40c66fe75 in start_thread () from /lib64/libpthread.so.0
#7  0x00002ae40a7cff7d in clone () from /lib64/libc.so.6

Thread 6 (Thread 1115703616 (LWP 10333)):
#0  0x00002ae40a7c7ef6 in poll () from /lib64/libc.so.6
#1  0x00002ae412192f5b in QWidget::setUpdatesEnabled () from
/usr/lib64/libavahi-common.so.3
#2  0x00002ae412191c46 in avahi_simple_poll_run () from
/usr/lib64/libavahi-common.so.3
#3  0x00002ae412192468 in avahi_simple_poll_iterate () from
/usr/lib64/libavahi-common.so.3
#4  0x00002ae41219249d in avahi_simple_poll_loop () from
/usr/lib64/libavahi-common.so.3
#5  0x00002ae412192e3e in QWidget::setUpdatesEnabled () from
/usr/lib64/libavahi-common.so.3
#6  0x00002ae40c66fe75 in start_thread () from /lib64/libpthread.so.0
#7  0x00002ae40a7cff7d in clone () from /lib64/libc.so.6

Thread 5 (Thread 1107310912 (LWP 10332)):
#0  0x00002ae40a7c7ef6 in poll () from /lib64/libc.so.6
#1  0x00002ae412192f5b in QWidget::setUpdatesEnabled () from
/usr/lib64/libavahi-common.so.3
#2  0x00002ae412191c46 in avahi_simple_poll_run () from
/usr/lib64/libavahi-common.so.3
#3  0x00002ae412192468 in avahi_simple_poll_iterate () from
/usr/lib64/libavahi-common.so.3
#4  0x00002ae41219249d in avahi_simple_poll_loop () from
/usr/lib64/libavahi-common.so.3
#5  0x00002ae412192e3e in QWidget::setUpdatesEnabled () from
/usr/lib64/libavahi-common.so.3
#6  0x00002ae40c66fe75 in start_thread () from /lib64/libpthread.so.0
#7  0x00002ae40a7cff7d in clone () from /lib64/libc.so.6

Thread 4 (Thread 1098918208 (LWP 10331)):
#0  0x00002ae40a7c7ef6 in poll () from /lib64/libc.so.6
#1  0x00002ae412192f5b in QWidget::setUpdatesEnabled () from
/usr/lib64/libavahi-common.so.3
#2  0x00002ae412191c46 in avahi_simple_poll_run () from
/usr/lib64/libavahi-common.so.3
#3  0x00002ae412192468 in avahi_simple_poll_iterate () from
/usr/lib64/libavahi-common.so.3
---Type <return> to continue, or q <return> to quit---
#4  0x00002ae41219249d in avahi_simple_poll_loop () from
/usr/lib64/libavahi-common.so.3
#5  0x00002ae412192e3e in QWidget::setUpdatesEnabled () from
/usr/lib64/libavahi-common.so.3
#6  0x00002ae40c66fe75 in start_thread () from /lib64/libpthread.so.0
#7  0x00002ae40a7cff7d in clone () from /lib64/libc.so.6

Thread 3 (Thread 1090525504 (LWP 10330)):
#0  0x00002ae40a7c7ef6 in poll () from /lib64/libc.so.6
#1  0x00002ae412192f5b in QWidget::setUpdatesEnabled () from
/usr/lib64/libavahi-common.so.3
#2  0x00002ae412191c46 in avahi_simple_poll_run () from
/usr/lib64/libavahi-common.so.3
#3  0x00002ae412192468 in avahi_simple_poll_iterate () from
/usr/lib64/libavahi-common.so.3
#4  0x00002ae41219249d in avahi_simple_poll_loop () from
/usr/lib64/libavahi-common.so.3
#5  0x00002ae412192e3e in QWidget::setUpdatesEnabled () from
/usr/lib64/libavahi-common.so.3
#6  0x00002ae40c66fe75 in start_thread () from /lib64/libpthread.so.0
#7  0x00002ae40a7cff7d in clone () from /lib64/libc.so.6

Thread 2 (Thread 1082132800 (LWP 10329)):
#0  0x00002ae4125c9867 in QWidget::setUpdatesEnabled () from
/usr/lib64/libdbus-1.so.3
#1  0x00002ae4125b6f64 in QWidget::setUpdatesEnabled () from
/usr/lib64/libdbus-1.so.3
#2  0x00002ae4125bb861 in dbus_message_get_reply_serial () from
/usr/lib64/libdbus-1.so.3
#3  0x00002ae4125b549e in QWidget::setUpdatesEnabled () from
/usr/lib64/libdbus-1.so.3
#4  0x00002ae4125c5089 in QWidget::setUpdatesEnabled () from
/usr/lib64/libdbus-1.so.3
#5  0x00002ae4125c5db7 in QWidget::setUpdatesEnabled () from
/usr/lib64/libdbus-1.so.3
#6  0x00002ae4125c635f in QWidget::setUpdatesEnabled () from
/usr/lib64/libdbus-1.so.3
#7  0x00002ae4125c4cea in QWidget::setUpdatesEnabled () from
/usr/lib64/libdbus-1.so.3
#8  0x00002ae4125b5448 in QWidget::setUpdatesEnabled () from
/usr/lib64/libdbus-1.so.3
#9  0x00002ae4125c6b41 in dbus_watch_handle () from /usr/lib64/libdbus-1.so.3
#10 0x00002ae412191f3b in avahi_simple_poll_dispatch () from
/usr/lib64/libavahi-common.so.3
#11 0x00002ae41219249d in avahi_simple_poll_loop () from
/usr/lib64/libavahi-common.so.3
#12 0x00002ae412192e3e in QWidget::setUpdatesEnabled () from
/usr/lib64/libavahi-common.so.3
#13 0x00002ae40c66fe75 in start_thread () from /lib64/libpthread.so.0
#14 0x00002ae40a7cff7d in clone () from /lib64/libc.so.6

Thread 1 (Thread 47159010726720 (LWP 10315)):
#0  0x00002ae4125c9867 in QWidget::setUpdatesEnabled () from
/usr/lib64/libdbus-1.so.3
#1  0x00002ae4125b6f64 in QWidget::setUpdatesEnabled () from
/usr/lib64/libdbus-1.so.3
#2  0x00002ae4125bb861 in dbus_message_get_reply_serial () from
/usr/lib64/libdbus-1.so.3
---Type <return> to continue, or q <return> to quit---
#3  0x00002ae4125b549e in QWidget::setUpdatesEnabled () from
/usr/lib64/libdbus-1.so.3
#4  0x00002ae4125c5089 in QWidget::setUpdatesEnabled () from
/usr/lib64/libdbus-1.so.3
#5  0x00002ae4125c5db7 in QWidget::setUpdatesEnabled () from
/usr/lib64/libdbus-1.so.3
#6  0x00002ae4125c62b2 in QWidget::setUpdatesEnabled () from
/usr/lib64/libdbus-1.so.3
#7  0x00002ae4125c4b34 in QWidget::setUpdatesEnabled () from
/usr/lib64/libdbus-1.so.3
#8  0x00002ae4125b336e in QWidget::setUpdatesEnabled () from
/usr/lib64/libdbus-1.so.3
#9  0x00002ae4125b4f39 in QWidget::setUpdatesEnabled () from
/usr/lib64/libdbus-1.so.3
#10 0x00002ae4125b453c in dbus_connection_send_with_reply_and_block () from
/usr/lib64/libdbus-1.so.3
#11 0x00002ae4125b047a in dbus_bus_register () from /usr/lib64/libdbus-1.so.3
#12 0x00002ae4125b07a4 in QWidget::setUpdatesEnabled () from
/usr/lib64/libdbus-1.so.3
#13 0x00002ae41239ab21 in avahi_client_new () from /usr/lib64/libavahi-client.so.3
#14 0x00002ae411f83925 in kt::AvahiService::startPublishing (this=0x103a970) at
avahiservice.cpp:290
#15 0x00002ae411f85189 in kt::AvahiService::start (this=0x101a4b8) at
avahiservice.cpp:274
#16 0x00002ae409f5db91 in bt::PeerSourceManager::start (this=0xea2440) at
peersourcemanager.cpp:115
#17 0x00002ae409f23e85 in bt::TorrentControl::continueStart (this=0xea1cf0) at
torrentcontrol.cpp:403
#18 0x00002ae409f240f1 in bt::TorrentControl::start (this=0xea1cf0) at
torrentcontrol.cpp:375
#19 0x00002ae409f54ee7 in bt::QueueManager::startSafely (this=<value optimized
out>, tc=0x2ae4) at queuemanager.cpp:734
#20 0x00002ae409f55502 in bt::QueueManager::start (this=0xac8280, tc=0xea1cf0,
user=<value optimized out>)
    at queuemanager.cpp:166
#21 0x0000000000435955 in KTorrentCore::start (this=0xac8110, tc=0x2ae4) at
ktorrentcore.cpp:437
#22 0x0000000000439940 in KTorrentCore::qt_invoke (this=0xac8110, _id=6,
_o=0x7fffa15c26e0) at ktorrentcore.moc:309
#23 0x00002ae40b92d31e in QObject::activate_signal () from /usr/lib64/libqt-mt.so.3
#24 0x00000000004402c6 in KTorrentView::wantToStart (this=0xaec670, t0=0xea1cf0)
at ktorrentview.moc:284
#25 0x0000000000440355 in KTorrentView::startDownload (this=0x101a4b8,
tc=0x2ae4) at ktorrentview.cpp:215
#26 0x00000000004403f5 in KTorrentView::startAllDownloads (this=0xaec670) at
ktorrentview.cpp:289
#27 0x00000000004316e7 in KTorrent::qt_invoke (this=0x785560, _id=91,
_o=0x7fffa15c2810) at ktorrent.moc:196
#28 0x00002ae40b92d31e in QObject::activate_signal () from /usr/lib64/libqt-mt.so.3
#29 0x00002ae40b92d8eb in QObject::activate_signal () from /usr/lib64/libqt-mt.so.3
#30 0x00002ae40ac90599 in KAction::qt_invoke () from /usr/lib64/libkdeui.so.4
#31 0x00002ae40b92d31e in QObject::activate_signal () from /usr/lib64/libqt-mt.so.3
#32 0x00002ae40ac17fcd in KToolBarButton::buttonClicked () from
/usr/lib64/libkdeui.so.4
#33 0x00002ae40ac3d88b in KToolBarButton::mouseReleaseEvent () from
/usr/lib64/libkdeui.so.4
#34 0x00002ae40b94e500 in QWidget::event () from /usr/lib64/libqt-mt.so.3
#35 0x00002ae40ac424fa in KToolBarButton::event () from /usr/lib64/libkdeui.so.4
#36 0x00002ae40b8f41d6 in QApplication::internalNotify () from
/usr/lib64/libqt-mt.so.3
#37 0x00002ae40b8f452f in QApplication::notify () from /usr/lib64/libqt-mt.so.3
---Type <return> to continue, or q <return> to quit---
#38 0x00002ae40b0e06d1 in KApplication::notify () from /usr/lib64/libkdecore.so.4
#39 0x00002ae40b8af056 in QApplication::sendSpontaneousEvent () from
/usr/lib64/libqt-mt.so.3
#40 0x00002ae40b8ac7a7 in QETWidget::translateMouseEvent () from
/usr/lib64/libqt-mt.so.3
#41 0x00002ae40b8ab77f in QApplication::x11ProcessEvent () from
/usr/lib64/libqt-mt.so.3
#42 0x00002ae40b8ba37d in QEventLoop::processEvents () from /usr/lib64/libqt-mt.so.3
#43 0x00002ae40b8fe929 in QEventLoop::enterLoop () from /usr/lib64/libqt-mt.so.3
#44 0x00002ae40b8fe84d in QEventLoop::exec () from /usr/lib64/libqt-mt.so.3
#45 0x000000000044b065 in main (argc=<value optimized out>, argv=0x7fffa15c3858)
at main.cpp:179
#0  0x00002ae4125c9867 in QWidget::setUpdatesEnabled () from
/usr/lib64/libdbus-1.so.3
(gdb)
Comment 1 Konstantin Pavlov 2007-11-18 18:53:21 MSK
reassign to maintainer
Comment 2 Damir Shayhutdinov 2007-11-18 19:48:39 MSK
У меня не воспроизводится (Сизиф x86_64).

Предлагаю подождать до 2.2.4 - может там это исправят.

Пока предлагаю не заниматься быстротыканием в "запустить все/остановить все".
Comment 3 Konstantin Pavlov 2008-01-08 17:48:50 MSK
Проблема была в zeroconf-плагине.

Предлагается отключить его сборку во избежание.
Comment 4 Damir Shayhutdinov 2008-02-04 16:29:17 MSK
Проверьте в новой версии (2.2.5-alt1)
Comment 5 Damir Shayhutdinov 2008-03-29 13:09:04 MSK
У меня в новой версии вроде не воспроизводится.