Segfault при запросе авторизации от другого клиента
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
qutim |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
При запросе авторизации от другого клиента, не находящегося в контакт-листе, qutIM вылетает.
SVN rev 174, дебаг-сборка, Debian lenny/sid.
Программа прогонялась под valgrind'овским callgrind'ом в момент падения. Бектрейс прилагается:
==15166== Process terminating with default action of signal 11 (SIGSEGV)
==15166== Access not within mapped region at address 0x48
==15166== at 0x4C67F1: contactListTree
==15166== by 0x631AE9: contactListTree
==15166== by 0x5E18763: QMetaObject:
==15166== by 0x634EB0: snacChannel:
==15166== by 0x586C17: snacChannel:
==15166== by 0x54EE9A: oscarProtocol:
==15166== by 0x63400A: oscarProtocol:
==15166== by 0x5E18763: QMetaObject:
==15166== by 0x5A393EE: QAbstractSocket
==15166== by 0x5A2A250: QReadNotifier:
==15166== by 0x502CE5C: QApplicationPri
==15166== by 0x5034B29: QApplication:
Последующие попытки выйти в онлайн также завершаются сегфолтом:
(gdb) run
Starting program: /home/d34df00d/
[Thread debugging using libthread_db enabled]
[New Thread 0x2ac612cf4c30 (LWP 15526)]
[New Thread 0x40800950 (LWP 15533)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x2ac612cf4c30 (LWP 15526)]
0x00000000004d2b98 in contactListTree
at ../protocol/
1618 buddy = new treeBuddyItem(
(gdb) bt
#0 0x00000000004d2b98 in contactListTree
at ../protocol/
#1 0x0000000000631299 in contactListTree
_id=24, _a=0x7fff9d5e7b70) at build/moc/
#2 0x00002ac60e8d8764 in QMetaObject:
to_
#3 0x000000000063505a in snacChannel:
#4 0x00000000005858bf in snacChannel:
at ../protocol/
#5 0x0000000000586c79 in snacChannel:
at ../protocol/
#6 0x000000000054ee9b in oscarProtocol:
at ../protocol/
#7 0x000000000063400b in oscarProtocol:
_id=12, _a=0x7fff9d5e7f30) at build/moc/
#8 0x00002ac60e8d8764 in QMetaObject:
to_
#9 0x00002ac60e4f83ef in QAbstractSocket
at socket/
#10 0x00002ac60e4e9251 in QReadNotifier:
at socket/
#11 0x00002ac60daebe5d in QApplicationPri
e=0x7fff9d5
#12 0x00002ac60daf3b2a in QApplication:
at kernel/
#13 0x00002ac60e8c4411 in QCoreApplicatio
event=
#14 0x00002ac60e8ecab9 in socketNotifierS
at ../../include/
#15 0x00002ac610376892 in g_main_
#16 0x00002ac61037a01d in ?? () from /usr/lib/
#17 0x00002ac61037a1db in g_main_
#18 0x00002ac60e8ec83f in QEventDispatche
at kernel/
#19 0x00002ac60db7d16f in QGuiEventDispat
flags=<value optimized out>) at kernel/
#20 0x00002ac60e8c2d22 in QEventLoop:
at kernel/
#21 0x00002ac60e8c2ead in QEventLoop::exec (this=0x7fff9d5
at kernel/
#22 0x00002ac60e8c537d in QCoreApplicatio
#23 0x000000000041ccd8 in main (argc=1, argv=0x7fff9d5e
Changed in qutim: | |
status: | New → Confirmed |
Changed in qutim: | |
status: | Confirmed → Fix Committed |
Changed in qutim: | |
status: | Fix Committed → Fix Released |
gdb показал, что в указываемых строчках переменна group равна 0.