Bug 300599

Summary: plasma crash after clicking on uBlog twitter link
Product: [Plasma] plasma4 Reporter: Solerman Kaplon <solerman>
Component: widget-microbloggingAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: adaptee, solerman
Priority: NOR    
Version: 4.7.4   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 4.9
Attachments: New crash information added by DrKonqi

Description Solerman Kaplon 2012-05-25 11:18:25 UTC
Application: plasma-desktop (0.4)
KDE Platform Version: 4.7.4 (4.7.4)
Qt Version: 4.7.4
Operating System: Linux 3.0.0-20-generic x86_64
Distribution: Ubuntu 11.10

-- Information about the crash:
Basically default desktop usage, after seeing a new message appear on uBlog twitter account, right after clicking it (maybe on mouse down?) it crashed the entire desktop. I dont think it even managed to do anything with the URL, maybe its a plasmoid specific bug. The system is a very updated kubuntu 11.10

The crash can be reproduced some of the time.

-- Backtrace:
Application: Shell da área de trabalho do Plasma (plasma-desktop), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f98d3db77a0 (LWP 1884))]

Thread 8 (Thread 0x7f98b747c700 (LWP 1885)):
#0  0x00007f98c79e3451 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f98d088af3e in QEventDispatcherGlib::processEvents (this=0x2ab1390, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#2  0x00007f98d085ecf2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#3  0x00007f98d085eef7 in QEventLoop::exec (this=0x7f98b747bdb0, flags=...) at kernel/qeventloop.cpp:201
#4  0x00007f98d077627f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:498
#5  0x00007f98d0841cbf in QInotifyFileSystemWatcherEngine::run (this=0x2ab0c30) at io/qfilesystemwatcher_inotify.cpp:248
#6  0x00007f98d0778d05 in QThreadPrivate::start (arg=0x2ab0c30) at thread/qthread_unix.cpp:331
#7  0x00007f98c84efefc in start_thread (arg=0x7f98b747c700) at pthread_create.c:304
#8  0x00007f98d36ac59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#9  0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f98b49cf700 (LWP 1886)):
#0  0xffffffffff60017b in ?? ()
#1  0x00007f98b49cead0 in ?? ()
#2  0x00007fff355ff7e7 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 6 (Thread 0x7f98a4708700 (LWP 1896)):
#0  0xffffffffff60017b in ?? ()
#1  0x00007f98a4707b00 in ?? ()
#2  0x00007fff355ff7e7 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 5 (Thread 0x7f98a3c9f700 (LWP 27393)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f98d07791ab in wait (time=18446744073709551615, this=0x2b56bb0) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x2b3ac50, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f98cc572864 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x2bc2490, th=0x3f6bbf0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f98cc574e0b in ThreadWeaver::WorkingHardState::applyForWork (this=0x2b3b020, th=0x3f6bbf0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f98cc573ccf in ThreadWeaver::ThreadRunHelper::run (this=0x7f98a3c9ee00, parent=0x2bc2490, th=0x3f6bbf0) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007f98cc573d5b in ThreadWeaver::Thread::run (this=0x3f6bbf0) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007f98d0778d05 in QThreadPrivate::start (arg=0x3f6bbf0) at thread/qthread_unix.cpp:331
#8  0x00007f98c84efefc in start_thread (arg=0x7f98a3c9f700) at pthread_create.c:304
#9  0x00007f98d36ac59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f98a7ae6700 (LWP 27394)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f98d07791ab in wait (time=18446744073709551615, this=0x2b56bb0) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x2b3ac50, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f98cc572864 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x2bc2490, th=0x4d32460) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f98cc574e0b in ThreadWeaver::WorkingHardState::applyForWork (this=0x2b3b020, th=0x4d32460) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f98cc573ccf in ThreadWeaver::ThreadRunHelper::run (this=0x7f98a7ae5e00, parent=0x2bc2490, th=0x4d32460) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007f98cc573d5b in ThreadWeaver::Thread::run (this=0x4d32460) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007f98d0778d05 in QThreadPrivate::start (arg=0x4d32460) at thread/qthread_unix.cpp:331
#8  0x00007f98c84efefc in start_thread (arg=0x7f98a7ae6700) at pthread_create.c:304
#9  0x00007f98d36ac59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f989ed96700 (LWP 27395)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f98d07791ab in wait (time=18446744073709551615, this=0x2b56bb0) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x2b3ac50, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f98cc572864 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x2bc2490, th=0x44b6920) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f98cc574e0b in ThreadWeaver::WorkingHardState::applyForWork (this=0x2b3b020, th=0x44b6920) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f98cc574e24 in ThreadWeaver::WorkingHardState::applyForWork (this=0x2b3b020, th=0x44b6920) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007f98cc573ccf in ThreadWeaver::ThreadRunHelper::run (this=0x7f989ed95e00, parent=0x2bc2490, th=0x44b6920) at ../../../threadweaver/Weaver/Thread.cpp:87
#7  0x00007f98cc573d5b in ThreadWeaver::Thread::run (this=0x44b6920) at ../../../threadweaver/Weaver/Thread.cpp:142
#8  0x00007f98d0778d05 in QThreadPrivate::start (arg=0x44b6920) at thread/qthread_unix.cpp:331
#9  0x00007f98c84efefc in start_thread (arg=0x7f989ed96700) at pthread_create.c:304
#10 0x00007f98d36ac59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f989e595700 (LWP 27396)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f98d07791ab in wait (time=18446744073709551615, this=0x2b56bb0) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x2b3ac50, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f98cc572864 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x2bc2490, th=0x42bb740) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f98cc574e0b in ThreadWeaver::WorkingHardState::applyForWork (this=0x2b3b020, th=0x42bb740) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f98cc573ccf in ThreadWeaver::ThreadRunHelper::run (this=0x7f989e594e00, parent=0x2bc2490, th=0x42bb740) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007f98cc573d5b in ThreadWeaver::Thread::run (this=0x42bb740) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007f98d0778d05 in QThreadPrivate::start (arg=0x42bb740) at thread/qthread_unix.cpp:331
#8  0x00007f98c84efefc in start_thread (arg=0x7f989e595700) at pthread_create.c:304
#9  0x00007f98d36ac59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f98d3db77a0 (LWP 1884)):
[KCrash Handler]
#6  Plasma::Service::operationDescription (this=0x0, operationName=...) at ../../plasma/service.cpp:182
#7  0x00007f98b8ec302a in ?? () from /usr/lib/kde4/plasma_applet_microblog.so
#8  0x00007f98b8ec504f in ?? () from /usr/lib/kde4/plasma_applet_microblog.so
#9  0x00007f98d0872eba in QMetaObject::activate (sender=0x67749a0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff354d0ed0) at kernel/qobject.cpp:3278
#10 0x00007f98b8ec84d5 in ?? () from /usr/lib/kde4/plasma_applet_microblog.so
#11 0x00007f98b8ec872c in ?? () from /usr/lib/kde4/plasma_applet_microblog.so
#12 0x00007f98d0872eba in QMetaObject::activate (sender=0x6373df0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3278
#13 0x00007f98d32ac798 in Plasma::ToolButton::qt_metacall (this=0x6373df0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff354d1400) at ./toolbutton.moc:103
#14 0x00007f98d0872eba in QMetaObject::activate (sender=0x5f85880, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff354d1400) at kernel/qobject.cpp:3278
#15 0x00007f98d0280642 in QAbstractButton::clicked (this=<optimized out>, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:206
#16 0x00007f98cffc61fe in QAbstractButtonPrivate::emitClicked (this=<optimized out>) at widgets/qabstractbutton.cpp:546
#17 0x00007f98cffc753b in QAbstractButtonPrivate::click (this=0x4b2e470) at widgets/qabstractbutton.cpp:539
#18 0x00007f98cffc77ac in QAbstractButton::mouseReleaseEvent (this=0x5f85880, e=0x62f91c0) at widgets/qabstractbutton.cpp:1121
#19 0x00007f98d008439a in QToolButton::mouseReleaseEvent (this=<optimized out>, e=<optimized out>) at widgets/qtoolbutton.cpp:721
#20 0x00007f98cfc5fcea in QWidget::event (this=0x5f85880, event=0x62f91c0) at kernel/qwidget.cpp:8295
#21 0x00007f98cfc0f474 in notify_helper (e=0x62f91c0, receiver=0x5f85880, this=0x21fc7f0) at kernel/qapplication.cpp:4486
#22 QApplicationPrivate::notify_helper (this=0x21fc7f0, receiver=0x5f85880, e=0x62f91c0) at kernel/qapplication.cpp:4458
#23 0x00007f98cfc14cbb in QApplication::notify (this=<optimized out>, receiver=0x5f85880, e=0x62f91c0) at kernel/qapplication.cpp:4047
#24 0x00007f98d150e466 in KApplication::notify (this=0x21f3150, receiver=0x5f85880, event=0x62f91c0) at ../../kdeui/kernel/kapplication.cpp:311
#25 0x00007f98d085fafc in QCoreApplication::notifyInternal (this=0x21f3150, receiver=0x5f85880, event=0x62f91c0) at kernel/qcoreapplication.cpp:787
#26 0x00007f98cfc10442 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#27 QApplicationPrivate::sendMouseEvent (receiver=0x5f85880, event=0x62f91c0, alienWidget=0x0, nativeWidget=0x5f85880, buttonDown=0x383fa30, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3146
#28 0x00007f98d01f3d20 in QGraphicsProxyWidgetPrivate::sendWidgetMouseEvent (this=0x4a51890, event=0x7fff354d2240) at graphicsview/qgraphicsproxywidget.cpp:283
#29 0x00007f98d01d68a3 in QGraphicsItem::sceneEvent (this=0x6373e00, event=0x7fff354d2240) at graphicsview/qgraphicsitem.cpp:6730
#30 0x00007f98d01fecea in QGraphicsScenePrivate::sendMouseEvent (this=0x2340dc0, mouseEvent=0x7fff354d2240) at graphicsview/qgraphicsscene.cpp:1291
#31 0x00007f98d01ff6b5 in QGraphicsScene::mouseReleaseEvent (this=<optimized out>, mouseEvent=0x7fff354d2240) at graphicsview/qgraphicsscene.cpp:4121
#32 0x00007f98d020d92f in QGraphicsScene::event (this=0x2336570, event=0x7fff354d2240) at graphicsview/qgraphicsscene.cpp:3453
#33 0x00007f98cfc0f474 in notify_helper (e=0x7fff354d2240, receiver=0x2336570, this=0x21fc7f0) at kernel/qapplication.cpp:4486
#34 QApplicationPrivate::notify_helper (this=0x21fc7f0, receiver=0x2336570, e=0x7fff354d2240) at kernel/qapplication.cpp:4458
#35 0x00007f98cfc142e1 in QApplication::notify (this=0x21f3150, receiver=0x2336570, e=0x7fff354d2240) at kernel/qapplication.cpp:4365
#36 0x00007f98d150e466 in KApplication::notify (this=0x21f3150, receiver=0x2336570, event=0x7fff354d2240) at ../../kdeui/kernel/kapplication.cpp:311
#37 0x00007f98d085fafc in QCoreApplication::notifyInternal (this=0x21f3150, receiver=0x2336570, event=0x7fff354d2240) at kernel/qcoreapplication.cpp:787
#38 0x00007f98d0229036 in QGraphicsView::mouseReleaseEvent (this=0x3537be0, event=0x7fff354d2a20) at graphicsview/qgraphicsview.cpp:3336
#39 0x00007f98cfc5fcea in QWidget::event (this=0x3537be0, event=0x7fff354d2a20) at kernel/qwidget.cpp:8295
#40 0x00007f98d00085b6 in QFrame::event (this=0x3537be0, e=0x7fff354d2a20) at widgets/qframe.cpp:557
#41 0x00007f98d022bdfb in QGraphicsView::viewportEvent (this=0x3537be0, event=0x7fff354d2a20) at graphicsview/qgraphicsview.cpp:2864
#42 0x00007f98d085fc88 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<optimized out>, receiver=0x383fa30, event=0x7fff354d2a20) at kernel/qcoreapplication.cpp:902
#43 0x00007f98cfc0f43f in notify_helper (e=0x7fff354d2a20, receiver=0x383fa30, this=0x21fc7f0) at kernel/qapplication.cpp:4482
#44 QApplicationPrivate::notify_helper (this=0x21fc7f0, receiver=0x383fa30, e=0x7fff354d2a20) at kernel/qapplication.cpp:4458
#45 0x00007f98cfc14cbb in QApplication::notify (this=<optimized out>, receiver=0x383fa30, e=0x7fff354d2a20) at kernel/qapplication.cpp:4047
#46 0x00007f98d150e466 in KApplication::notify (this=0x21f3150, receiver=0x383fa30, event=0x7fff354d2a20) at ../../kdeui/kernel/kapplication.cpp:311
#47 0x00007f98d085fafc in QCoreApplication::notifyInternal (this=0x21f3150, receiver=0x383fa30, event=0x7fff354d2a20) at kernel/qcoreapplication.cpp:787
#48 0x00007f98cfc10442 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#49 QApplicationPrivate::sendMouseEvent (receiver=0x383fa30, event=0x7fff354d2a20, alienWidget=0x383fa30, nativeWidget=0x3537be0, buttonDown=0x383fa30, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3146
#50 0x00007f98cfc8f9d5 in QETWidget::translateMouseEvent (this=0x3537be0, event=<optimized out>) at kernel/qapplication_x11.cpp:4571
#51 0x00007f98cfc8e94e in QApplication::x11ProcessEvent (this=0x21f3150, event=0x7fff354d3240) at kernel/qapplication_x11.cpp:3693
#52 0x00007f98cfcb74a2 in x11EventSourceDispatch (s=0x2209db0, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#53 0x00007f98c79e2a5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#54 0x00007f98c79e3258 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#55 0x00007f98c79e3429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#56 0x00007f98d088aed6 in QEventDispatcherGlib::processEvents (this=0x2173f40, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#57 0x00007f98cfcb710e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#58 0x00007f98d085ecf2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#59 0x00007f98d085eef7 in QEventLoop::exec (this=0x7fff354d3610, flags=...) at kernel/qeventloop.cpp:201
#60 0x00007f98d0863789 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064
#61 0x00007f98d39ab1a3 in kdemain (argc=1, argv=0x7fff354d39f8) at ../../../../plasma/desktop/shell/main.cpp:120
#62 0x00007f98d35ea30d in __libc_start_main (main=0x400640 <main(int, char**)>, argc=1, ubp_av=0x7fff354d39f8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff354d39e8) at libc-start.c:226
#63 0x0000000000400671 in _start ()

Reported using DrKonqi
Comment 1 Myriam Schweingruber 2012-05-26 00:56:05 UTC
Please make sure you have all -dbg packages installed for plasma and plasma-widgets, your backtrace apparently is lacking some of them.
Comment 2 Solerman Kaplon 2012-05-28 12:16:13 UTC
Ok, will do when it happens again
Comment 3 Solerman Kaplon 2012-06-15 17:16:38 UTC
Created attachment 71859 [details]
New crash information added by DrKonqi

plasma-desktop (0.4) on KDE Platform 4.7.4 (4.7.4) using Qt 4.7.4

Add all the related dbg packages i found for plasma in kubuntu, I managed to reproduce this time with a retweet. It needed 2 clicks, the first a short "retweet failed" appeared on top, and the second crashed with the attached backtrace, might be related to temporary network failure? Hope this one helps

-- Backtrace (Reduced):
#6  Plasma::Service::operationDescription (this=0x0, operationName=...) at ../../plasma/service.cpp:182
#7  0x00007ff51ec0c02a in MicroBlog::forward (this=0x1358700, messageId=...) at ../../../applets/microblog/microblog.cpp:395
#8  0x00007ff51ec0e04f in MicroBlog::qt_metacall (this=0x1358700, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fffc3997160) at ./microblog.moc:132
[...]
#10 0x00007ff51ec114d5 in PostWidget::forward (this=<optimized out>, _t1=<optimized out>) at ./postwidget.moc:114
#11 0x00007ff51ec1172c in PostWidget::qt_metacall (this=0x3a99220, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fffc3997200) at ./postwidget.moc:93
Comment 4 Myriam Schweingruber 2012-06-20 06:10:24 UTC
Thank you for the feedback.
Comment 5 Marco Martin 2012-06-21 16:52:27 UTC
Git commit 1c1eef4209a1107fed5ff31ff3f24e6e684eb567 by Marco Martin.
Committed on 21/06/2012 at 18:51.
Pushed by mart into branch 'master'.

ensure service existence
FIXED-IN:4.9

M  +27   -26   applets/microblog/microblog.cpp
M  +1    -1    applets/microblog/microblog.h

http://commits.kde.org/kdeplasma-addons/1c1eef4209a1107fed5ff31ff3f24e6e684eb567