Bug 202444 - Plasma crashes on calling disconnectSource
Summary: Plasma crashes on calling disconnectSource
Status: RESOLVED UNMAINTAINED
Alias: None
Product: plasma4
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on: 251459
Blocks:
  Show dependency treegraph
 
Reported: 2009-08-03 22:28 UTC by Andreas Fink
Modified: 2018-09-04 19:10 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Full backtrace (12.69 KB, application/octet-stream)
2009-08-04 12:43 UTC, Andreas Fink
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Fink 2009-08-03 22:28:51 UTC
Version:            (using KDE 4.2.4)
Compiler:          gcc-Version 4.3.3 (Gentoo 4.3.3-r2 p1.2) CFLAGS="-march=k8 -msse3 -O1 -pipe -ggdb"
OS:                Linux
Installed from:    Gentoo Packages

First of all I need to mention that the error happens randomly, and not always. It occurs in my plasmoid (yasp-scripted, http://www.kde-look.org/content/show.php/Yasp-Scripted?content=109367).

The version which is uploaded has some commented lines in the Yasp::Clear() method.

Steps to reproduce:
(1) Uncomment the lines in yasp-scripted.cpp:Yasp::Clear(), and compile the plasmoid.
(2) Start the plasmoid on your plasma desktop(not in the plasmoidviewer, since it works there).
(3) Load the systemmonitor.script from the source directory.
(4) Now move the plasmoid a bit on the desktop, and reparse from time to time the configuration (right click->Reparse configuration)
(5) A crash occurs on the reparsing.

I've tracked the crash down, to the clear method, when the disconnectSource function is called. On stdout you can follow which source is about to be disconnected and after the disconnection follows a message, that this source was disconnected successfully. But sometimes it just crashes on disconnecting a source (it is not always the same source, but always different).

Ok, and here the backtrace:
Thread 1 (Thread 0x7f405cc4c790 (LWP 17626)):
[KCrash Handler]
#5  ~QObject (this=0x2617220) at kernel/qobject.cpp:772
#6  0x00007f405c617065 in ~SignalRelay (this=0x1ceca18) at /usr/src/debug/kde-base/kdelibs-4.2.4-r4/kdelibs-4.2.4/plasma/private/datacontainer_p.h:53
#7  0x00007f405c5f3acf in Plasma::DataContainer::disconnectVisualization (this=0x26aca90, visualization=0x207c750)
    at /usr/src/debug/kde-base/kdelibs-4.2.4-r4/kdelibs-4.2.4/plasma/datacontainer.cpp:152
#8  0x00007f405c5f5350 in Plasma::DataEngine::disconnectSource (this=<value optimized out>, source=<value optimized out>, visualization=0x207c750)
    at /usr/src/debug/kde-base/kdelibs-4.2.4-r4/kdelibs-4.2.4/plasma/dataengine.cpp:114
#9  0x00007f404019830a in Yasp::Clear (this=0x207c750) at /home/andreas/yasp_scripted-0.2/yasp-scripted.cpp:281
#10 0x00007f404019cf59 in Yasp::ParseConfig (this=0x1ceca18) at /home/andreas/yasp_scripted-0.2/yasp-scripted.cpp:302

The backtrace is even longer, but I think that should be enough... Unfortunately the steps #0 till #4 are not listed.
Comment 1 Aaron J. Seigo 2009-08-04 12:17:29 UTC
> The backtrace is even longer, but I think that should be enough...

please always post the full backtrace. better too much than not enough.

> Unfortunately the steps #0 till #4 are not listed.

that's because those frames are in the kcrash handler and so aren't relevant. :)
Comment 2 Andreas Fink 2009-08-04 12:43:26 UTC
Created attachment 35840 [details]
Full backtrace

Full backtrace on crash
Comment 3 Aaron J. Seigo 2009-08-04 13:07:00 UTC
always just paste them into the comments so they are searchable. thanks for the update though :)

Anwendung: Plasma-Arbeitsfläche (plasma), Signal SIGSEGV
0x00007f23d8492881 in nanosleep () from /lib/libc.so.6
[Current thread is 0 (LWP 30982)]

Thread 5 (Thread 0x7f23c0a50910 (LWP 30983)):
#0  0x00007f23db126279 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f23db391581 in QWaitCondition::wait (this=<value optimized out>, mutex=0x1a87698, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  0x00007f23dc85c4d7 in QHostInfoAgent::run (this=0x1a87680) at kernel/qhostinfo.cpp:260
#3  0x00007f23db390890 in QThreadPrivate::start (arg=0x1a87680) at thread/qthread_unix.cpp:188
#4  0x00007f23db1222e7 in start_thread () from /lib/libpthread.so.0
#5  0x00007f23d84c39cd in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f23bb7cd910 (LWP 30984)):
#0  0x00007f23d84bcdf2 in select () from /lib/libc.so.6
#1  0x00007f23db4371eb in QProcessManager::run (this=0x165c180) at io/qprocess_unix.cpp:296
#2  0x00007f23db390890 in QThreadPrivate::start (arg=0x165c180) at thread/qthread_unix.cpp:188
#3  0x00007f23db1222e7 in start_thread () from /lib/libpthread.so.0
#4  0x00007f23d84c39cd in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f23bae64910 (LWP 30995)):
#0  0x00007f23db1264fd in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f23db3901e9 in thread_sleep (ti=0x7f23bae63ed0) at thread/qthread_unix.cpp:297
#2  0x00007f23db39033a in QThread::msleep (msecs=<value optimized out>) at thread/qthread_unix.cpp:323
#3  0x00007f23c0e977ce in Update_Thread::run (this=0x1ca0570) at /home/andreas/cwp-0.9.10/plasma-cwp-update-thread.cpp:113
#4  0x00007f23db390890 in QThreadPrivate::start (arg=0x1ca0570) at thread/qthread_unix.cpp:188
#5  0x00007f23db1222e7 in start_thread () from /lib/libpthread.so.0
#6  0x00007f23d84c39cd in clone () from /lib/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f23b981f910 (LWP 31149)):
#0  0x00007f23db126279 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f23db391581 in QWaitCondition::wait (this=<value optimized out>, mutex=0x19d5d28, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  0x00007f23c130de13 in RenderThread::run (this=0x19d5d18) at /usr/src/debug/kde-base/plasma-workspace-4.2.4/plasma-workspace-4.2.4/plasma/wallpapers/image/renderthread.cpp:91
#3  0x00007f23db390890 in QThreadPrivate::start (arg=0x19d5d18) at thread/qthread_unix.cpp:188
#4  0x00007f23db1222e7 in start_thread () from /lib/libpthread.so.0
#5  0x00007f23d84c39cd in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f23ddb9d790 (LWP 30982)):
[KCrash Handler]
#5  ~QObject (this=0x1ff0280) at kernel/qobject.cpp:772
#6  0x00007f23dd568065 in ~SignalRelay (this=0x1621a18) at /usr/src/debug/kde-base/kdelibs-4.2.4-r4/kdelibs-4.2.4/plasma/private/datacontainer_p.h:53
#7  0x00007f23dd544acf in Plasma::DataContainer::disconnectVisualization (this=0x1c0a040, visualization=0x1a03e90)
    at /usr/src/debug/kde-base/kdelibs-4.2.4-r4/kdelibs-4.2.4/plasma/datacontainer.cpp:152
#8  0x00007f23dd546350 in Plasma::DataEngine::disconnectSource (this=<value optimized out>, source=<value optimized out>, visualization=0x1a03e90)
    at /usr/src/debug/kde-base/kdelibs-4.2.4-r4/kdelibs-4.2.4/plasma/dataengine.cpp:114
#9  0x00007f23c10e630a in Yasp::Clear (this=0x1a03e90) at /home/andreas/yasp_scripted-0.2/yasp-scripted.cpp:281
#10 0x00007f23c10eaf59 in Yasp::ParseConfig (this=0x1621a18) at /home/andreas/yasp_scripted-0.2/yasp-scripted.cpp:302
#11 0x00007f23c10ebd58 in Yasp::qt_metacall (this=0x1a03e90, _c=QMetaObject::InvokeMetaMethod, _id=40, _a=0x7fff5147ce10) at /home/andreas/yasp_scripted-0.2/build/yasp-scripted.moc:76
#12 0x00007f23db462551 in QMetaObject::activate (sender=0x1daa760, from_signal_index=<value optimized out>, to_signal_index=6, argv=0x3) at kernel/qobject.cpp:3101
#13 0x00007f23db46276a in QMetaObject::activate (sender=0x1daa760, m=<value optimized out>, from_local_signal_index=128, to_local_signal_index=2, argv=0x7fff5147ce10) at kernel/qobject.cpp:3198
#14 0x00007f23da628b8f in QAction::triggered (this=0x1621a18, _t1=false) at .moc/release-shared/moc_qaction.cpp:236
#15 0x00007f23da629b28 in QAction::activate (this=0x1daa760, event=<value optimized out>) at kernel/qaction.cpp:1160
#16 0x00007f23da96cf87 in QMenuPrivate::activateCausedStack (this=0x2021390, causedStack=@0x7fff5147cf10, action=0x1daa760, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:967
#17 0x00007f23da9726dc in QMenuPrivate::activateAction (this=0x2021390, action=0x1daa760, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:1060
#18 0x00007f23da973200 in QMenu::mouseReleaseEvent (this=<value optimized out>, e=0x7fff5147d840) at widgets/qmenu.cpp:2254
#19 0x00007f23dc084cf0 in KMenu::mouseReleaseEvent (this=0x1621a18, e=0x7fff5147d840) at /usr/src/debug/kde-base/kdelibs-4.2.4-r4/kdelibs-4.2.4/kdeui/widgets/kmenu.cpp:454
#20 0x00007f23da672e40 in QWidget::event (this=0x7fff5147f550, event=0x7fff5147d840) at kernel/qwidget.cpp:7549
#21 0x00007f23da973d58 in QMenu::event (this=0x7fff5147f550, e=0x7fff5147d840) at widgets/qmenu.cpp:2353
#22 0x00007f23da62d98b in QApplicationPrivate::notify_helper (this=<value optimized out>, receiver=0x7fff5147f550, e=0x7fff5147d840) at kernel/qapplication.cpp:4056
#23 0x00007f23da635686 in QApplication::notify (this=<value optimized out>, receiver=0x7fff5147f550, e=0x7fff5147d840) at kernel/qapplication.cpp:3758
#24 0x00007f23dbfc5f04 in KApplication::notify (this=0x1658ed0, receiver=0x7fff5147f550, event=0x7fff5147d840)
    at /usr/src/debug/kde-base/kdelibs-4.2.4-r4/kdelibs-4.2.4/kdeui/kernel/kapplication.cpp:307
#25 0x00007f23db451592 in QCoreApplication::notifyInternal (this=0x1658ed0, receiver=0x7fff5147f550, event=0x7fff5147d840) at kernel/qcoreapplication.cpp:606
#26 0x00007f23da636427 in QApplicationPrivate::sendMouseEvent (receiver=0x7fff5147f550, event=0x7fff5147d840, alienWidget=0x0, nativeWidget=0x7fff5147f550, buttonDown=<value optimized out>, 
    lastMouseReceiver=@0x7f23daeceef0) at src/corelib/kernel/qcoreapplication.h:216
#27 0x00007f23da687e2b in QETWidget::translateMouseEvent (this=0x7fff5147f550, event=<value optimized out>) at kernel/qapplication_x11.cpp:4338
#28 0x00007f23da68646a in QApplication::x11ProcessEvent (this=0x1658ed0, event=0x7fff5147f100) at kernel/qapplication_x11.cpp:3423
#29 0x00007f23da6a8d54 in x11EventSourceDispatch (s=<value optimized out>, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#30 0x00007f23d556b869 in IA__g_main_context_dispatch (context=0x166f130) at gmain.c:1824
#31 0x00007f23d556e718 in g_main_context_iterate (context=0x166f130, block=1, dispatch=1, self=<value optimized out>) at gmain.c:2455
#32 0x00007f23d556e827 in IA__g_main_context_iteration (context=0x166f130, may_block=1) at gmain.c:2518
#33 0x00007f23db47398e in QEventDispatcherGlib::processEvents (this=0x16260f0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:327
#34 0x00007f23da6a899f in QGuiEventDispatcherGlib::processEvents (this=0x1621a18, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#35 0x00007f23db4500ad in QEventLoop::processEvents (this=<value optimized out>, flags={i = 1363670192}) at kernel/qeventloop.cpp:149
#36 0x00007f23db450244 in QEventLoop::exec (this=0x7fff5147f4f0, flags={i = 1363670288}) at kernel/qeventloop.cpp:197
#37 0x00007f23da973a33 in QMenu::exec (this=0x7fff5147f550, p=@0x7fff5147f5d0, action=0x0) at widgets/qmenu.cpp:1993
#38 0x00007f23dd5382ed in Plasma::ContainmentPrivate::showContextMenu (this=0x1a06390, point=<value optimized out>, screenPos=@0x7fff5147f5d0, includeApplet=true)
    at /usr/src/debug/kde-base/kdelibs-4.2.4-r4/kdelibs-4.2.4/plasma/containment.cpp:611
#39 0x00007f23dd538405 in Plasma::Containment::contextMenuEvent (this=0x1a021f0, event=0x7fff5147fc40) at /usr/src/debug/kde-base/kdelibs-4.2.4-r4/kdelibs-4.2.4/plasma/containment.cpp:476
#40 0x00007f23daac1642 in QGraphicsItem::sceneEvent (this=0x1a02200, event=0x1621ab4) at graphicsview/qgraphicsitem.cpp:4995
#41 0x00007f23dab00cf6 in QGraphicsWidget::sceneEvent (this=0x1a021f0, event=0x7fff5147fc40) at graphicsview/qgraphicswidget.cpp:1110
#42 0x00007f23daad6da6 in QGraphicsScenePrivate::sendEvent (this=<value optimized out>, item=0x1a02200, event=0x7fff5147fc40) at graphicsview/qgraphicsscene.cpp:1159
#43 0x00007f23daae8da9 in QGraphicsScene::contextMenuEvent (this=<value optimized out>, contextMenuEvent=0x7fff5147fc40) at graphicsview/qgraphicsscene.cpp:3956
#44 0x00007f23daae9aa1 in QGraphicsScene::event (this=0x171ae40, event=0x7fff5147fc40) at graphicsview/qgraphicsscene.cpp:3766
#45 0x00007f23da62d98b in QApplicationPrivate::notify_helper (this=<value optimized out>, receiver=0x171ae40, e=0x7fff5147fc40) at kernel/qapplication.cpp:4056
#46 0x00007f23da6346ef in QApplication::notify (this=0x1658ed0, receiver=0x171ae40, e=0x7fff5147fc40) at kernel/qapplication.cpp:3603
#47 0x00007f23dbfc5f04 in KApplication::notify (this=0x1658ed0, receiver=0x171ae40, event=0x7fff5147fc40) at /usr/src/debug/kde-base/kdelibs-4.2.4-r4/kdelibs-4.2.4/kdeui/kernel/kapplication.cpp:307
#48 0x00007f23db451592 in QCoreApplication::notifyInternal (this=0x1658ed0, receiver=0x171ae40, event=0x7fff5147fc40) at kernel/qcoreapplication.cpp:606
#49 0x00007f23daaf5c69 in QGraphicsView::contextMenuEvent (this=0x19cd040, event=0x7fff514804c0) at src/corelib/kernel/qcoreapplication.h:213
#50 0x00007f23da67335d in QWidget::event (this=0x19cd040, event=0x7fff514804c0) at kernel/qwidget.cpp:7708
#51 0x00007f23da939c5c in QFrame::event (this=0x19cd040, e=0x7fff514804c0) at widgets/qframe.cpp:559
#52 0x00007f23da9af94d in QAbstractScrollArea::viewportEvent (this=0x1621a18, e=0x1621ab4) at widgets/qabstractscrollarea.cpp:962
#53 0x00007f23daafa162 in QGraphicsView::viewportEvent (this=0x19cd040, event=0x7fff514804c0) at graphicsview/qgraphicsview.cpp:2919
#54 0x00007f23da9b1860 in QAbstractScrollAreaFilter::eventFilter (this=<value optimized out>, o=<value optimized out>, e=0x23db723740) at widgets/qabstractscrollarea_p.h:100
#55 0x00007f23db4509b1 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<value optimized out>, receiver=0x1dd7a20, event=0x7fff514804c0) at kernel/qcoreapplication.cpp:726
#56 0x00007f23da62d97a in QApplicationPrivate::notify_helper (this=<value optimized out>, receiver=0x1dd7a20, e=0x7fff514804c0) at kernel/qapplication.cpp:4052
#57 0x00007f23da6357b5 in QApplication::notify (this=0x1658ed0, receiver=0x1dd7a20, e=0x7fff514804c0) at kernel/qapplication.cpp:3845
#58 0x00007f23dbfc5f04 in KApplication::notify (this=0x1658ed0, receiver=0x1dd7a20, event=0x7fff514804c0) at /usr/src/debug/kde-base/kdelibs-4.2.4-r4/kdelibs-4.2.4/kdeui/kernel/kapplication.cpp:307
#59 0x00007f23db451592 in QCoreApplication::notifyInternal (this=0x1658ed0, receiver=0x1dd7a20, event=0x7fff514804c0) at kernel/qcoreapplication.cpp:606
#60 0x00007f23da636933 in QCoreApplication::sendSpontaneousEvent (receiver=0x3, event=<value optimized out>) at src/corelib/kernel/qcoreapplication.h:216
#61 0x00007f23da68806c in QETWidget::translateMouseEvent (this=<value optimized out>, event=<value optimized out>) at kernel/qapplication_x11.cpp:4410
#62 0x00007f23da68646a in QApplication::x11ProcessEvent (this=0x1658ed0, event=0x7fff51481c00) at kernel/qapplication_x11.cpp:3423
#63 0x00007f23da6a8d54 in x11EventSourceDispatch (s=<value optimized out>, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#64 0x00007f23d556b869 in IA__g_main_context_dispatch (context=0x166f130) at gmain.c:1824
#65 0x00007f23d556e718 in g_main_context_iterate (context=0x166f130, block=1, dispatch=1, self=<value optimized out>) at gmain.c:2455
#66 0x00007f23d556e827 in IA__g_main_context_iteration (context=0x166f130, may_block=1) at gmain.c:2518
#67 0x00007f23db47398e in QEventDispatcherGlib::processEvents (this=0x16260f0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:327
#68 0x00007f23da6a899f in QGuiEventDispatcherGlib::processEvents (this=0x1621a18, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#69 0x00007f23db4500ad in QEventLoop::processEvents (this=<value optimized out>, flags={i = 1363681200}) at kernel/qeventloop.cpp:149
#70 0x00007f23db450244 in QEventLoop::exec (this=0x7fff51481ff0, flags={i = 1363681280}) at kernel/qeventloop.cpp:197
#71 0x00007f23db45203a in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#72 0x00007f23da62d824 in QApplication::exec () at kernel/qapplication.cpp:3525
#73 0x00007f23dd88396c in kdemain (argc=1, argv=0x7fff514822f8) at /usr/src/debug/kde-base/plasma-workspace-4.2.4/plasma-workspace-4.2.4/plasma/shells/desktop/main.cpp:54
#74 0x00000000004009f5 in main (argc=23206424, argv=0x1621ab4) at /usr/src/debug/kde-base/plasma-workspace-4.2.4/plasma-workspace-4.2.4_build/plasma/shells/desktop/plasma_qgv_dummy.cpp:3
Comment 4 Aaron J. Seigo 2010-05-13 19:50:43 UTC
does this still occur?
Comment 5 Nicolas L. 2010-06-03 15:53:07 UTC
is this still available with kde 4.4 or 4.5beta ?
Comment 6 Andreas Fink 2010-09-16 16:35:36 UTC
Hm, hard to decide if it still occurs, since there is now a new bug, which prevents me from testing this... Anyway as soon as the other bug is fixed, I can try again.

Dependent bug:
https://bugs.kde.org/show_bug.cgi?id=251459
Comment 7 Myriam Schweingruber 2012-06-03 18:44:32 UTC
(In reply to comment #6)
> Hm, hard to decide if it still occurs, since there is now a new bug, which
> prevents me from testing this... Anyway as soon as the other bug is fixed, I
> can try again.
> 
> Dependent bug:
> https://bugs.kde.org/show_bug.cgi?id=251459

This is fixed since quite some time, what is the status now?
Comment 8 Andrew Crouthamel 2018-09-04 19:10:49 UTC
Hello! Plasma 4 was replaced by Plasma 5 four years ago by the KDE community. In that time we have made great strides in stability and functionality. We are closing all Plasma 4 bugs as most of them are no longer applicable to the new frameworks Plasma 5 is built upon. If you could, please re-test with the latest version of Plasma 5, and submit a new bug to "plasmashell" if you continue to have an issue. Thank you!