[Bug 159458] New: Plasma chrashes on exit (into the taskmanager)

Vincenzo Di Massa hawk.it at tiscali.it
Mon Mar 17 12:06:49 CET 2008


------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=159458         
           Summary: Plasma chrashes on exit (into the taskmanager)
           Product: plasma
           Version: unspecified
          Platform: Compiled Sources
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: crash
          Priority: NOR
         Component: general
        AssignedTo: panel-devel kde org
        ReportedBy: hawk.it tiscali it


Version:            (using Devel)
Installed from:    Compiled sources
OS:                Linux

To reproduce:
1) issue the command 
$ kquitapp plasma


What follows is the valgrind trace of the crash

==7891== Invalid read of size 4
==7891==    at 0x4F808F6: XFreePixmap (in /usr/lib/libX11.so.6.2.0)
==7891==    by 0xC2E770B: TaskManager::Task::~Task() (task.cpp:124)
==7891==    by 0xC2E83C7: KSharedPtr<TaskManager::Task>::~KSharedPtr() (ksharedptr.h:78)
==7891==    by 0xC2EF281: QMap<unsigned long, KSharedPtr<TaskManager::Task> >::freeData(QMapData*) (qmap.h:593)
==7891==    by 0xC2EF567: QMap<unsigned long, KSharedPtr<TaskManager::Task> >::~QMap() (qmap.h:153)
==7891==    by 0xC2EF5A9: TaskManager::TaskManager::Private::~Private() (taskmanager.cpp:51)
==7891==    by 0xC2EDF33: TaskManager::TaskManager::~TaskManager() (taskmanager.cpp:101)
==7891==    by 0xC2F02DC: TaskManager::TaskManagerSingleton::~TaskManagerSingleton() (taskmanager.cpp:38)
==7891==    by 0xC2EDFBE: TaskManager::._239::destroy() (taskmanager.cpp:43)
==7891==    by 0xC2EE70E: KCleanUpGlobalStatic::~KCleanUpGlobalStatic() (kglobal.h:65)
==7891==    by 0xC2EC19B: __tcf_0 (taskmanager.cpp:43)
==7891==    by 0x5AD4593: exit (in /lib/tls/i686/cmov/libc-2.6.1.so)

And this is the gdb backtrace:

#6  0xb6fc88f6 in XFreePixmap () from /usr/lib/libX11.so.6
#7  0xb28bb70c in ~Task (this=0x8328250)
    at /home/hawk/stanzino/kde/src/4/KDE/kdebase/workspace/libs/taskmanager/task.cpp:124
#8  0xb28bc3c8 in ~KSharedPtr (this=0x8389330)
    at /media/sdb6/kde4_install/kde4/include/ksharedptr.h:78
#9  0xb28c35b5 in ~Private (this=0x8389330)
    at /home/hawk/stanzino/kde/src/4/KDE/kdebase/workspace/libs/taskmanager/taskmanager.cpp:51
#10 0xb28c1f34 in ~TaskManager (this=0x8327d00)
    at /home/hawk/stanzino/kde/src/4/KDE/kdebase/workspace/libs/taskmanager/taskmanager.cpp:101
#11 0xb28c42dd in ~TaskManagerSingleton (this=0x8327d00)
    at /home/hawk/stanzino/kde/src/4/KDE/kdebase/workspace/libs/taskmanager/taskmanager.cpp:38
#12 0xb28c1fbf in destroy ()
    at /home/hawk/stanzino/kde/src/4/KDE/kdebase/workspace/libs/taskmanager/taskmanager.cpp:43
#13 0xb28c270f in ~KCleanUpGlobalStatic (this=0xb28c6a50)
    at /media/sdb6/kde4_install/kde4/include/KDE/../kglobal.h:65
#14 0xb28c019c in __tcf_0 ()
    at /home/hawk/stanzino/kde/src/4/KDE/kdebase/workspace/libs/taskmanager/taskmanager.cpp:43
#15 0xb6437594 in exit () from /lib/tls/i686/cmov/libc.so.6
#16 0xb6420058 in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6
#17 0x08048751 in _start ()
#0  0xffffe410 in __kernel_vsyscall ()

Where does the windowPixmap in Task:Private becomes a not NULL invalid value?

Just above that error there are these other 2 (don't know if they are related or not to this bug):

plasma(7891) SystemTrayContainer::SystemTrayContainer: attempting to embed 62914583
plasma(7891) SystemTrayContainer::SystemTrayContainer: attempting to embed 67108875
==7891==
==7891== Syscall param write(buf) points to uninitialised byte(s)
==7891==    at 0x40007F2: (within /lib/ld-2.6.1.so)
==7891==    by 0x4FA767E: _X11TransWrite (in /usr/lib/libX11.so.6.2.0)
==7891==    by 0x4F9F4D6: (within /usr/lib/libX11.so.6.2.0)
==7891==    by 0x4F793BA: XCheckTypedWindowEvent (in /usr/lib/libX11.so.6.2.0)
==7891==    by 0x52FFDC1: QApplication::x11ProcessEvent(_XEvent*) (qapplication_x11.cpp:3350)
==7891==    by 0x532E0F4: x11EventSourceDispatch(_GSource*, int (*)(void*), void*) (qguieventdispatcher_glib.cpp:148)
==7891==    by 0x5E1E11B: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.1400.1)
==7891==    by 0x5E2155E: (within /usr/lib/libglib-2.0.so.0.1400.1)
==7891==    by 0x5E21AC4: g_main_context_iteration (in /usr/lib/libglib-2.0.so.0.1400.1)
==7891==    by 0x4BF0E33: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:325)
==7891==    by 0x532D91F: QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qguieventdispatcher_glib.cpp:204)
==7891==    by 0x4BBFA5D: QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:146)
==7891==  Address 0x69bb9f6 is 14 bytes inside a block of size 16,384 alloc'd
==7891==    at 0x4021BDE: calloc (vg_replace_malloc.c:397)
==7891==    by 0x4F8D326: XOpenDisplay (in /usr/lib/libX11.so.6.2.0)
==7891==    by 0x40319E5: checkComposite() (plasmaapp.cpp:72)
==7891==    by 0x4031D23: PlasmaApp::self() (plasmaapp.cpp:108)
==7891==    by 0x4030308: kdemain (main.cpp:51)
==7891==    by 0x80487D5: main (plasma-qgv_dummy.cpp:3)
plasma(7891) RssEngine::processRss: not all caches up to date, delaying update.
plasma(7891) RssEngine::processRss: not all caches up to date, delaying update.
plasma(7891) RssEngine::processRss: all caches up to date, updating...
plasma(7891) RssEngine::processRss: all caches up to date, updating...
==7891==
==7891== Syscall param write(buf) points to uninitialised byte(s)
==7891==    at 0x40007F2: (within /lib/ld-2.6.1.so)
==7891==    by 0x4FA767E: _X11TransWrite (in /usr/lib/libX11.so.6.2.0)
==7891==    by 0x4F9F4D6: (within /usr/lib/libX11.so.6.2.0)
==7891==    by 0x4F7E890: XFlush (in /usr/lib/libX11.so.6.2.0)
==7891==    by 0x531BCE5: QWidgetPrivate::hide_sys() (qwidget_x11.cpp:1973)
==7891==    by 0x52E2904: QWidgetPrivate::hide_helper() (qwidget.cpp:6163)
==7891==    by 0x52E9C75: QWidget::setVisible(bool) (qwidget.cpp:6325)
==7891==    by 0x52CBE67: QWidget::hide() (qwidget.h:474)
==7891==    by 0x52E09C9: QWidget::~QWidget() (qwidget.cpp:1292)
==7891==    by 0x4033528: RootWidget::~RootWidget() (rootwidget.cpp:102)
==7891==    by 0x4030D92: PlasmaApp::cleanup() (plasmaapp.cpp:227)
==7891==    by 0x4030E9A: PlasmaApp::qt_metacall(QMetaObject::Call, int, void**) (plasmaapp.moc:78)
==7891==  Address 0x69bb9fd is 21 bytes inside a block of size 16,384 alloc'd
==7891==    at 0x4021BDE: calloc (vg_replace_malloc.c:397)
==7891==    by 0x4F8D326: XOpenDisplay (in /usr/lib/libX11.so.6.2.0)
==7891==    by 0x40319E5: checkComposite() (plasmaapp.cpp:72)
==7891==    by 0x4031D23: PlasmaApp::self() (plasmaapp.cpp:108)
==7891==    by 0x4030308: kdemain (main.cpp:51)
==7891==    by 0x80487D5: main (plasma-qgv_dummy.cpp:3)

BTW: running plasma into vlagrind shows many problems (trash for example) some of which in Qt.
Are all of them false positive? 
(I know it is off topic here. Well... it has a high probability of being off-topic ;-) )


More information about the Panel-devel mailing list