Bug 334132

Summary: Crash when starting a group chat
Product: [Unmaintained] telepathy Reporter: Daniele E. Domenichelli <ddomenichelli>
Component: text-uiAssignee: Telepathy Bugs <kde-telepathy-bugs>
Status: RESOLVED FIXED    
Severity: major Keywords: drkonqi
Priority: HI    
Version: 0.8.1   
Target Milestone: Future   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Daniele E. Domenichelli 2014-04-30 11:50:13 UTC
Application: ktp-text-ui (0.8.1)
KDE Platform Version: 4.11.5 (Compiled from sources)
Qt Version: 4.8.6
Operating System: Linux 3.13-1-amd64 x86_64
Distribution: Debian GNU/Linux testing (jessie)

-- Information about the crash:
Starting a group chat with latest master crashes the text-ui

The breaking commit is cb5a95ecb90d5a59a6945cd968019cb25e1ba2ee6

d->channel->targetContact() is null in lib/chat-widget.cpp:168

The crash can be reproduced every time.

-- Backtrace:
Application: Chat Application (ktp-text-ui), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f8caa031900 (LWP 19028))]

Thread 3 (Thread 0x7f8c8bd77700 (LWP 19029)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f8ca74a47d2 in WTF::TCMalloc_PageHeap::scavengerThread (this=<optimized out>) at wtf/FastMalloc.cpp:2499
#2  0x00007f8ca74a4809 in WTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at wtf/FastMalloc.cpp:1622
#3  0x00007f8ca21a5062 in start_thread (arg=0x7f8c8bd77700) at pthread_create.c:312
#4  0x00007f8ca2aeaa3d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7f8c8b476700 (LWP 19030)):
#0  0x00007f8ca2adf72d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f8c9fbc6fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f8c9fbc70ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f8ca50a2746 in QEventDispatcherGlib::processEvents (this=0x7f8c840008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:427
#4  0x00007f8ca50740bf in QEventLoop::processEvents (this=this@entry=0x7f8c8b475ce0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f8ca50743b5 in QEventLoop::exec (this=this@entry=0x7f8c8b475ce0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f8ca4f70c5f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:537
#7  0x00007f8ca4f7332f in QThreadPrivate::start (arg=0xa26790) at thread/qthread_unix.cpp:349
#8  0x00007f8ca21a5062 in start_thread (arg=0x7f8c8b476700) at pthread_create.c:312
#9  0x00007f8ca2aeaa3d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7f8caa031900 (LWP 19028)):
[KCrash Handler]
#6  0x00007f8ca87c5411 in Tp::Contact::manager() const () from /usr/lib/x86_64-linux-gnu/libtelepathy-qt4.so.2
#7  0x00007f8ca83a0e8d in KTp::Contact::fileTransferCapability (this=0x0) at /opt/telepathy/ktp-common-internals/KTp/contact.cpp:106
#8  0x00007f8ca5ad7c10 in ChatWidget::ChatWidget (this=0x126a250, channel=..., account=..., parent=0x0) at /opt/telepathy/ktp-text-ui/lib/chat-widget.cpp:176
#9  0x000000000042373d in ChatTab::ChatTab (this=0x126a250, channel=..., account=..., parent=0x0) at /opt/telepathy/ktp-text-ui/app/chat-tab.cpp:38
#10 0x0000000000412eff in TelepathyChatUi::handleChannels (this=0x8f0980, context=..., account=..., connection=..., channels=..., channelRequests=..., userActionTime=..., handlerInfo=...) at /opt/telepathy/ktp-text-ui/app/telepathy-chat-ui.cpp:208
#11 0x00007f8ca8773800 in ?? () from /usr/lib/x86_64-linux-gnu/libtelepathy-qt4.so.2
#12 0x00007f8ca508977a in QMetaObject::activate (sender=0x12750d0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffa3100a00) at kernel/qobject.cpp:3539
#13 0x00007f8ca889f66f in Tp::PendingOperation::finished(Tp::PendingOperation*) () from /usr/lib/x86_64-linux-gnu/libtelepathy-qt4.so.2
#14 0x00007f8ca889f761 in ?? () from /usr/lib/x86_64-linux-gnu/libtelepathy-qt4.so.2
#15 0x00007f8ca508db1e in QObject::event (this=0x12750d0, e=<optimized out>) at kernel/qobject.cpp:1194
#16 0x00007f8ca39ea6cc in QApplicationPrivate::notify_helper (this=this@entry=0x90a3b0, receiver=receiver@entry=0x12750d0, e=e@entry=0xc38f70) at kernel/qapplication.cpp:4567
#17 0x00007f8ca39f0d40 in QApplication::notify (this=this@entry=0x8f0980, receiver=receiver@entry=0x12750d0, e=e@entry=0xc38f70) at kernel/qapplication.cpp:4353
#18 0x00007f8ca95b048a in KApplication::notify (this=0x8f0980, receiver=0x12750d0, event=0xc38f70) at ../../kdeui/kernel/kapplication.cpp:311
#19 0x00007f8ca50754ed in QCoreApplication::notifyInternal (this=0x8f0980, receiver=receiver@entry=0x12750d0, event=event@entry=0xc38f70) at kernel/qcoreapplication.cpp:953
#20 0x00007f8ca5078b4d in sendEvent (event=0xc38f70, receiver=0x12750d0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#21 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x8a4300) at kernel/qcoreapplication.cpp:1577
#22 0x00007f8ca5078ff3 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1470
#23 0x00007f8ca50a2e63 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#24 postEventSourceDispatch (s=0x905c00) at kernel/qeventdispatcher_glib.cpp:280
#25 0x00007f8c9fbc6e04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007f8c9fbc7048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#27 0x00007f8c9fbc70ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#28 0x00007f8ca50a2725 in QEventDispatcherGlib::processEvents (this=0x8a5b40, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#29 0x00007f8ca3a88776 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#30 0x00007f8ca50740bf in QEventLoop::processEvents (this=this@entry=0x7fffa3101030, flags=...) at kernel/qeventloop.cpp:149
#31 0x00007f8ca50743b5 in QEventLoop::exec (this=this@entry=0x7fffa3101030, flags=...) at kernel/qeventloop.cpp:204
#32 0x00007f8ca5079b89 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#33 0x00000000004109a5 in main (argc=1, argv=0x7fffa3101478) at /opt/telepathy/ktp-text-ui/app/main.cpp:72

Reported using DrKonqi
Comment 1 Jekyll Wu 2014-05-01 00:06:25 UTC

*** This bug has been marked as a duplicate of bug 333174 ***
Comment 2 Daniele E. Domenichelli 2014-05-05 08:59:07 UTC
Not the same bug.
Comment 3 David Edmundson 2014-05-13 09:09:58 UTC
Git commit db71b8ccc01735dcf6b3262e94c8f699ac24f5ed by David Edmundson.
Committed on 13/05/2014 at 09:08.
Pushed by davidedmundson into branch 'master'.

Guard against null targetContact
REVIEWED-BY: Ahmed Khalil

M  +1    -1    lib/chat-widget.cpp

http://commits.kde.org/telepathy-text-ui/db71b8ccc01735dcf6b3262e94c8f699ac24f5ed