Bug 260869

Summary: [steps] System Monitor crashes while changing sensors [FancyPlotter::sendDataToPlotter, FancyPlotter::answerReceived, KSGRD::SensorAgent::processAnswer]
Product: [Unmaintained] ksysguard Reporter: Tim Richardson <tim>
Component: generalAssignee: KSysGuard Developers <ksysguard-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: andresbajotierra, kdespam34fb987, parmruss, raphael.ku, sreejiththulaseedharan
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Debian stable   
OS: Linux   
Latest Commit: Version Fixed In: 5.4.2
Sentry Crash Report:

Description Tim Richardson 2010-12-21 12:11:54 UTC
Application: ksysguard (4.4.5 (KDE 4.4.5))
KDE Platform Version: 4.4.5 (KDE 4.4.5)
Qt Version: 4.6.3
Operating System: Linux 2.6.36-2.slh.3-aptosid-686 i686
Distribution: Debian GNU/Linux 6.0 (squeeze)

-- Information about the crash:
To reproduce: 
1) create a tab with read data and write data for a disk device both displayed on the same line graph. Save and exit system monitor
2) reopen system monitor. On the line graph just created, right click to open properties.
3) click on the sensors tab (there should be two sensors)
4) drag  onto the same line graph the same two sensors for a different disk.
5) in properties window opened ins step 3, delete the two sensors.
6) attempt to close the window. 
System Monitor will crash.


The crash can be reproduced every time.

 -- Backtrace:
Application: System Monitor (ksysguard), signal: Segmentation fault
[KCrash Handler]
#6  0xb773ace8 in FancyPlotter::sendDataToPlotter (this=0x8d25158) at ../../../ksysguard/gui/SensorDisplayLib/FancyPlotter.cc:587
#7  0xb773b97b in FancyPlotter::answerReceived (this=0x8d25158, id=1, answerlist=...) at ../../../ksysguard/gui/SensorDisplayLib/FancyPlotter.cc:679
#8  0xb7240aa9 in KSGRD::SensorAgent::processAnswer (this=0x893f408, buf=0x95a7ba8 "88.050892\nksysguardd> 0.000000\nksysguardd> ", buflen=43) at ../../../../ksysguard/gui/ksgrd/SensorAgent.cc:184
#9  0xb7249adb in KSGRD::SensorShellAgent::msgRcvd (this=0x893f408) at ../../../../ksysguard/gui/ksgrd/SensorShellAgent.cc:91
#10 0xb724aaef in KSGRD::SensorShellAgent::qt_metacall (this=0x893f408, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0xbf99012c) at ./SensorShellAgent.moc:78
#11 0xb69ec7aa in QMetaObject::metacall (object=0x893f408, cl=156398336, idx=5, argv=0xbf99012c) at kernel/qmetaobject.cpp:237
#12 0xb69fb1bb in QMetaObject::activate (sender=0x8919160, m=0xb6af9848, local_signal_index=5, argv=0x0) at kernel/qobject.cpp:3295
#13 0xb697d627 in QProcess::readyReadStandardOutput (this=0x8919160) at .moc/release-shared/moc_qprocess.cpp:162
#14 0xb698296f in QProcessPrivate::_q_canReadStandardOutput (this=0x893f518) at io/qprocess.cpp:897
#15 0xb6982de6 in QProcess::qt_metacall (this=0x8919160, _c=QMetaObject::InvokeMetaMethod, _id=9, _a=0xbf990328) at .moc/release-shared/moc_qprocess.cpp:107
#16 0xb6c49d1a in KProcess::qt_metacall (this=0x8919160, _c=QMetaObject::InvokeMetaMethod, _id=17, _a=0xbf990328) at ./kprocess.moc:69
#17 0xb69ec7aa in QMetaObject::metacall (object=0x8919160, cl=156398336, idx=17, argv=0xbf990328) at kernel/qmetaobject.cpp:237
#18 0xb69fb1bb in QMetaObject::activate (sender=0x88f39b8, m=0xb6afb6d0, local_signal_index=0, argv=0xbf990328) at kernel/qobject.cpp:3295
#19 0xb6a4d663 in QSocketNotifier::activated (this=0x88f39b8, _t1=14) at .moc/release-shared/moc_qsocketnotifier.cpp:89
#20 0xb6a02377 in QSocketNotifier::event (this=0x88f39b8, e=0xbf9907b4) at kernel/qsocketnotifier.cpp:317
#21 0xb5f2f5cc in QApplicationPrivate::notify_helper (this=0x8837e58, receiver=0x88f39b8, e=0xbf9907b4) at kernel/qapplication.cpp:4302
#22 0xb5f3615e in QApplication::notify (this=0x8837db0, receiver=0x88f39b8, e=0xbf9907b4) at kernel/qapplication.cpp:3706
#23 0xb6faebfa in KApplication::notify (this=0x8837db0, receiver=0x88f39b8, event=0xbf9907b4) at ../../kdeui/kernel/kapplication.cpp:302
#24 0xb69e74cb in QCoreApplication::notifyInternal (this=0x8837db0, receiver=0x88f39b8, event=0xbf9907b4) at kernel/qcoreapplication.cpp:726
#25 0xb6a1344a in sendEvent (source=0x883ae10) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#26 socketNotifierSourceDispatch (source=0x883ae10) at kernel/qeventdispatcher_glib.cpp:110
#27 0xb44f8305 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#28 0xb44fbfe8 in ?? () from /lib/libglib-2.0.so.0
#29 0xb44fc1c8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#30 0xb6a13075 in QEventDispatcherGlib::processEvents (this=0x8823460, flags=...) at kernel/qeventdispatcher_glib.cpp:412
#31 0xb5feded5 in QGuiEventDispatcherGlib::processEvents (this=0x8823460, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#32 0xb69e5ae9 in QEventLoop::processEvents (this=0xbf990a54, flags=) at kernel/qeventloop.cpp:149
#33 0xb69e5f3a in QEventLoop::exec (this=0xbf990a54, flags=...) at kernel/qeventloop.cpp:201
#34 0xb69eb16f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1003
#35 0xb5f2f667 in QApplication::exec () at kernel/qapplication.cpp:3581
#36 0xb77766d7 in kdemain (argc=1, argv=0xbf990cd4) at ../../../ksysguard/gui/ksysguard.cc:582
#37 0x0804860b in main (argc=1, argv=0xbf990cd4) at ksysguard_dummy.cpp:3

Reported using DrKonqi
Comment 1 Christoph Feck 2010-12-21 15:48:15 UTC
Reproducible using the steps from comment #0 on today's trunk.

Unusual behavior I noticed: When dropping new lines (step 4), they are not added to the sensors list. I fear the properties dialog should be modal...
Comment 2 Dario Andres 2010-12-21 16:09:09 UTC
[Comment from a bug triager]
I could also reproduce on trunk:
KDE Development Platform: 4.5.86 (4.6 >= 20101210), Qt: 4.7.1
kdelibs SVN Revision: 1207728
kdebase SVN Revision: 1207740
on ArchLinux i686 (2.6.36-ARCH)
Comment 3 Christoph Feck 2011-04-20 01:40:24 UTC
*** Bug 271025 has been marked as a duplicate of this bug. ***
Comment 4 realnobody 2014-05-12 19:39:31 UTC
Confirming with ksysguard v 4.11.9 on KDE 4.13.0 - it is still happening.

it (I assume the same root cause) also happens if you 
* open a new tab 3×1 (the two default tabs, plus one custom tab are pre-existing)
*  add one sensor as line graph in box 1
* open properties, sensors tab
* add another sensor in the same box 1
* click OK in the properties window (observation: the new sensor does not get listed in the properties window)
* crash
Comment 5 Martin Klapetek 2015-09-09 22:17:53 UTC
Git commit cee5e903812b5d2fae9e5be52440b8056626e95f by Martin Klapetek, on behalf of Raphael Kugelmann.
Committed on 09/09/2015 at 22:17.
Pushed by mklapetek into branch 'Plasma/5.4'.

Make the FancyPlotter Settings window modal

This prevents changes in the main window that can lead to crash

REVIEW: 125063
FIXED-IN: 5.4.2

M  +1    -1    gui/SensorDisplayLib/FancyPlotter.cpp

http://commits.kde.org/ksysguard/cee5e903812b5d2fae9e5be52440b8056626e95f