Bug 206049 - Plasma unexpected crash while work (QVariant-related, SystemMonitorEngine::answerReceived, KSGRD::SensorAgent::processAnswer)
Summary: Plasma unexpected crash while work (QVariant-related, SystemMonitorEngine::an...
Status: RESOLVED FIXED
Alias: None
Product: plasma4
Classification: Unmaintained
Component: widget-systemmonitor (other bugs)
Version First Reported In: unspecified
Platform: Unlisted Binaries Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
: 222076 223316 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-09-02 22:31 UTC by Mariusz Pluciński
Modified: 2010-02-21 16:15 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mariusz Pluciński 2009-09-02 22:31:23 UTC
Application that crashed: plasma-desktop
Version of the application: 0.3
KDE Version: 4.3.00 (KDE 4.3.0)
Qt Version: 4.5.2
Operating System: Linux 2.6.31-rc5custom1 x86_64
Distribution: "Fedora release 11 (Leonidas)"

 -- Backtrace:
Application: Przestrzeń robocza Plazmy (plasma-desktop), signal: Segmentation fault
[Current thread is 1 (Thread 0x7fc0b0531860 (LWP 4829))]

Thread 3 (Thread 0x7fc097771910 (LWP 4830)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x000000382f45ad7b in QWaitConditionPrivate::wait (time=<value optimized out>, this=<value optimized out>) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (time=<value optimized out>, this=<value optimized out>) at thread/qwaitcondition_unix.cpp:159
#3  0x000000382fe81dac in QHostInfoAgent::run (this=0x259bad0) at kernel/qhostinfo.cpp:260
#4  0x000000382f459cd5 in QThreadPrivate::start (arg=0x259bad0) at thread/qthread_unix.cpp:188
#5  0x0000003fb460686a in start_thread (arg=<value optimized out>) at pthread_create.c:297
#6  0x0000003fb3ade39d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fc084b96910 (LWP 4856)):
#0  0x0000003fb3ad50b3 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x0000003fb663b05c in ?? () from /lib64/libglib-2.0.so.0
#2  0x0000003fb663b3a0 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x000000382f56840e in QEventDispatcherGlib::processEvents (this=0x7fc0700008c0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:329
#4  0x000000382f53e5f2 in QEventLoop::processEvents (this=<value optimized out>, flags={i = 36}) at kernel/qeventloop.cpp:149
#5  0x000000382f53e9c4 in QEventLoop::exec (this=0x7fc084b95ed0, flags={i = 0}) at kernel/qeventloop.cpp:201
#6  0x000000382f456f6b in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#7  0x00007fc0875e344d in Marble::GpsdThread::run (this=0x2cb9550) at /usr/src/debug/kdeedu-4.3.0/marble/src/plugins/positionprovider/gpsd/GpsdThread.cpp:27
#8  0x000000382f459cd5 in QThreadPrivate::start (arg=0x2cb9550) at thread/qthread_unix.cpp:188
#9  0x0000003fb460686a in start_thread (arg=<value optimized out>) at pthread_create.c:297
#10 0x0000003fb3ade39d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fc0b0531860 (LWP 4829)):
[KCrash Handler]
#5  QBasicAtomicInt::ref (this=<value optimized out>) at ../../src/corelib/arch/qatomic_x86_64.h:121
#6  QByteArray (this=<value optimized out>) at ../../src/corelib/tools/qbytearray.h:414
#7  QBitArray (this=<value optimized out>) at ../../src/corelib/tools/qbitarray.h:64
#8  v_construct<QBitArray> (this=<value optimized out>) at ../../src/corelib/kernel/qvariant_p.h:104
#9  construct (this=<value optimized out>) at kernel/qvariant.cpp:131
#10 0x0000003acadcb148 in construct (x=0x7fff12bdf7b0, copy=0x63f9ea0) at kernel/qguivariant.cpp:152
#11 0x00007fc095e7f420 in SystemMonitorEngine::answerReceived (this=0x2829570, id=<value optimized out>, answer=<value optimized out>)
    at /usr/src/debug/kdebase-workspace-4.3.0/plasma/dataengines/systemmonitor/systemmonitor.cpp:131
#12 0x00007fc095c6e2bb in KSGRD::SensorAgent::processAnswer (this=0x2813f90, buf=<value optimized out>, buflen=<value optimized out>)
    at /usr/src/debug/kdebase-workspace-4.3.0/ksysguard/gui/ksgrd/SensorAgent.cc:184
#13 0x00007fc095c750de in KSGRD::SensorShellAgent::msgRcvd (this=0x2813f90) at /usr/src/debug/kdebase-workspace-4.3.0/ksysguard/gui/ksgrd/SensorShellAgent.cc:91
#14 0x00007fc095c764a8 in KSGRD::SensorShellAgent::qt_metacall (this=0x2813f90, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff12bdfda0)
    at /usr/src/debug/kdebase-workspace-4.3.0/x86_64-redhat-linux-gnu/ksysguard/gui/ksgrd/SensorShellAgent.moc:72
#15 0x000000382f554fdc in QMetaObject::activate (sender=0x2814a40, from_signal_index=<value optimized out>, to_signal_index=<value optimized out>, argv=0x80) at kernel/qobject.cpp:3113
#16 0x000000382f4e4055 in QProcessPrivate::_q_canReadStandardOutput (this=0x2827db0) at io/qprocess.cpp:564
#17 0x000000382f4e70f9 in QProcess::qt_metacall (this=0x2814a40, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff12bdffa0) at .moc/release-shared/moc_qprocess.cpp:101
#18 0x0000003aca6de518 in KProcess::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libkdecore.so.5
#19 0x000000382f554fdc in QMetaObject::activate (sender=0x2814310, from_signal_index=<value optimized out>, to_signal_index=<value optimized out>, argv=0x80) at kernel/qobject.cpp:3113
#20 0x000000382f58b0be in QSocketNotifier::activated (this=0x7fff12bdf7b0, _t1=26) at .moc/release-shared/moc_qsocketnotifier.cpp:83
#21 0x000000382f559933 in QSocketNotifier::event (this=0x2814310, e=0x7fff12be04e0) at kernel/qsocketnotifier.cpp:316
#22 0x0000003acad8f69c in QApplicationPrivate::notify_helper (this=0x1d097f0, receiver=0x2814310, e=0x7fff12be04e0) at kernel/qapplication.cpp:4056
#23 0x0000003acad966ce in QApplication::notify (this=0x1ced7c0, receiver=0x2814310, e=0x7fff12be04e0) at kernel/qapplication.cpp:4021
#24 0x0000003acbe11296 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#25 0x000000382f53fcbc in QCoreApplication::notifyInternal (this=0x1ced7c0, receiver=0x2814310, event=0x7fff12be04e0) at kernel/qcoreapplication.cpp:610
#26 0x000000382f56863a in QCoreApplication::sendEvent (event=<value optimized out>, receiver=<value optimized out>) at kernel/qcoreapplication.h:213
#27 socketNotifierSourceDispatch (event=<value optimized out>, receiver=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:110
#28 0x0000003fb6637abe in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#29 0x0000003fb663b278 in ?? () from /lib64/libglib-2.0.so.0
#30 0x0000003fb663b3a0 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#31 0x000000382f5683b6 in QEventDispatcherGlib::processEvents (this=0x1cd54e0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:327
#32 0x0000003acae2242e in QGuiEventDispatcherGlib::processEvents (this=0x7fff12bdf7b0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#33 0x000000382f53e5f2 in QEventLoop::processEvents (this=<value optimized out>, flags={i = 36}) at kernel/qeventloop.cpp:149
#34 0x000000382f53e9c4 in QEventLoop::exec (this=0x7fff12be0740, flags={i = 0}) at kernel/qeventloop.cpp:201
#35 0x000000382f540b79 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#36 0x0000003acce3aeaf in kdemain (argc=<value optimized out>, argv=<value optimized out>) at /usr/src/debug/kdebase-workspace-4.3.0/plasma/shells/desktop/main.cpp:50
#37 0x0000003fb3a1ea2d in __libc_start_main (main=<value optimized out>, argc=<value optimized out>, ubp_av=<value optimized out>, init=<value optimized out>, fini=<value optimized out>, 
    rtld_fini=<value optimized out>, stack_end=0x7fff12be0a48) at libc-start.c:220
#38 0x0000000000400779 in _start ()

Reported using DrKonqi
Comment 1 Dario Andres 2009-09-03 01:21:40 UTC
This seems related to bug 202880.
- Which widgets related to system information do you have in your Desktop ?
Thanks
Comment 2 Mariusz Pluciński 2009-09-03 11:07:41 UTC
Detection the reason of crash may be problematic, cause I have 5 widgets related to that:
- System Load Viewer
- System Monitor - processor
- System Monitor - temperature
- System Monitor - network
- System Monitor - RAM memory
Comment 3 Dario Andres 2009-09-04 14:34:29 UTC
Mh, at least they are all supported widgets... (not like bug 202880); so the real bug may be somewhere else....
Comment 4 Jonathan Thomas 2010-01-10 17:31:41 UTC
*** Bug 222076 has been marked as a duplicate of this bug. ***
Comment 5 Richard Hartmann 2010-01-11 03:21:37 UTC
Bug 222076:

Sysinfo widgets I am running:

* System Load Viewer
* System Monitor - CPU

It might be worth looking at the extra information in my bug report.
Comment 6 Dario Andres 2010-01-18 21:42:57 UTC
From bug 222692:
-- What I was doing when the application crashed:
When trying to mount an external drive from the device notifyer the desktop
crashes.
The device gets mountet and the dolphin window shows but the rest of the
desktop is gone.
The device is a mobile phone ( Samsung Galaxy running Android )

It's probably related to the name of the volume since it shows up as 
"/media/_PNG???"

mount says:
/dev/sdc on /media/_PNG
▒ type vfat (rw,nosuid,nodev,uhelper=hal,uid=1000,utf8,shortname=mixed,flush)

Hex editor says:_PNG... is 5F 50 4E 47 0D 0A 1A

Looks like there is a CR+LF in the Volume name?????

mountig the volume manually from the command line to /media/phome works without
crash.

From bug 223316:
-- What I was doing when the application crashed:
KDE crashed after battery power runs out (<5%), the computer went in suspend
mode automattically. After plugging in power again and some flickering, kde
crashed.
Comment 7 Dario Andres 2010-01-18 21:43:11 UTC
*** Bug 223316 has been marked as a duplicate of this bug. ***
Comment 8 Dario Andres 2010-01-18 21:43:14 UTC
*** Bug 222692 has been marked as a duplicate of this bug. ***
Comment 9 John Tapsell 2010-01-19 00:02:49 UTC
Ah, yes, ksysguardd would indeed screw up big time if the device name had \n in it :-/
Comment 10 Richard Hartmann 2010-01-19 11:03:21 UTC
Unfortunately, it seems many phone do this.

For reference, mine is a Nokia E75 and it (sometimes...?) does the same. Alternatively, my Debian Lenny with KDE 3.5.10 is more resilent and/or parses those bad chars out.

_If_ you decide to simply remove those bad chars, make sure you don't end up with an empty string, though. If you do, UUID or similar comes to mind ;)
Comment 11 John Tapsell 2010-01-19 17:00:01 UTC
I think I fixed this - please could someone check in KDE4.4 RC2 or newer
Comment 12 Beat Wolf 2010-01-19 17:03:57 UTC
marking as needsinfo
Comment 13 John Tapsell 2010-01-20 04:35:07 UTC
SVN commit 1077383 by johnflux:

Fix off-by-one error in systemmonitor data engine.

There is a check to see if we are in a consistent state.  However the
check is faulty, leading to engine trying to parse in an inconsistent
state, leading to a segmentation fault.

CCBUG:222692
CCBUG:206049

 M  +1 -1      systemmonitor.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1077383
Comment 14 John Tapsell 2010-01-20 04:40:28 UTC
SVN commit 1077388 by johnflux:

Fix off-by-one error in systemmonitor data engine.

There is a check to see if we are in a consistent state.  However the
check is faulty, leading to engine trying to parse in an inconsistent
state, leading to a segmentation fault.

CCBUG:222692
CCBUG:206049

 M  +1 -1      systemmonitor.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1077388
Comment 15 John Tapsell 2010-01-20 08:33:17 UTC
Two commits - first is in master (For KDE 4.5) and the second is in the 4.4 branch, but didn't make it in time for 4.4 RC2.
Comment 16 Dario Andres 2010-02-21 16:15:41 UTC
- No more reports in KDE SC 4.4.0. Assumming it is fixed.