Review Request: Fix crash when zombie taskbar buttons are left
Valentin Rusu
kde at rusu.info
Tue Nov 8 21:18:17 GMT 2011
> On Nov. 8, 2011, 9:01 p.m., Craig Drummond wrote:
> > Ship It!
>
> Craig Drummond wrote:
> Really KSysGuard::ProcessesLocal::getParentPid should be fixed to not crash when passed pid of 0. Also, a similar fix will be needed in getServiceLauncherUrl
Ok, I also fixed getServiceLauncherUrl
- Valentin
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/103085/#review8032
-----------------------------------------------------------
On Nov. 8, 2011, 8:57 p.m., Valentin Rusu wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/103085/
> -----------------------------------------------------------
>
> (Updated Nov. 8, 2011, 8:57 p.m.)
>
>
> Review request for KDE Runtime and Craig Drummond.
>
>
> Description
> -------
>
> This fixes a crash I had in the following scenario:
> - Launched Thunderbird, the opened it's address book, creating a second taskbar icon for it, after the main Thunderbird one,
> - Close the address book - the taskbar button stayed there, despite corresponding window has gone,
> - Launch another application -> crash
>
> Thread 1 (Thread 0x7f2c87270760 (LWP 1206)):
> [KCrash Handler]
> #6 0x00007f2c8383d965 in raise () from /lib/libc.so.6
> #7 0x00007f2c8383eddb in abort () from /lib/libc.so.6
> #8 0x00007f2c8587aff3 in qt_message_output (msgType=QtFatalMsg, buf=0x31b7478 "ASSERT: \"pid != 0\" in file /home/kde/src/kde-workspace/libs/ksysguard/processcore/processes_linux_p.cpp, line 188") at global/qglobal.cpp:2255
> #9 0x00007f2c8587b166 in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=QtFatalMsg, msg=0x7f2c85a3c728 "ASSERT: \"%s\" in file %s, line %d", ap=0x7fff0c2c2178) at global/qglobal.cpp:2301
> #10 0x00007f2c8587b8f6 in qFatal (msg=0x7f2c85a3c728 "ASSERT: \"%s\" in file %s, line %d") at global/qglobal.cpp:2484
> #11 0x00007f2c8587abb8 in qt_assert (assertion=0x7f2c670817e5 "pid != 0", file=0x7f2c67081798 "/home/kde/src/kde-workspace/libs/ksysguard/processcore/processes_linux_p.cpp", line=188) at global/qglobal.cpp:1999
> #12 0x00007f2c670767cc in KSysGuard::ProcessesLocal::getParentPid (this=0x31b7610, pid=0) at /home/kde/src/kde-workspace/libs/ksysguard/processcore/processes_linux_p.cpp:188
> #13 0x00007f2c67070fad in KSysGuard::Processes::updateOrAddProcess (this=0x7fff0c2c2370, pid=0) at /home/kde/src/kde-workspace/libs/ksysguard/processcore/processes.cpp:291
> #14 0x00007f2c672e1481 in TaskManager::getServicesViaPid (pid=0) at /home/kde/src/kde-workspace/libs/taskmanager/taskitem.cpp:433
> #15 0x00007f2c672e32ca in TaskManager::TaskItem::launcherUrl (this=0x38c1c80) at /home/kde/src/kde-workspace/libs/taskmanager/taskitem.cpp:612
> #16 0x00007f2c672e07b2 in TaskManager::TaskItem::taskName (this=0x38c1c80) at /home/kde/src/kde-workspace/libs/taskmanager/taskitem.cpp:196
> #17 0x00007f2c672c9bc9 in TaskManager::AlphaSortingStrategy::sortItems (this=0x28b9ac0, items=...) at /home/kde/src/kde-workspace/libs/taskmanager/strategies/alphasortingstrategy.cpp:89
> #18 0x00007f2c672b7c1a in TaskManager::AbstractSortingStrategy::check (this=0x28b9ac0, itemToCheck=0x38c1c80) at /home/kde/src/kde-workspace/libs/taskmanager/abstractsortingstrategy.cpp:145
> #19 0x00007f2c672b7a54 in TaskManager::AbstractSortingStrategy::handleItem (this=0x28b9ac0, item=0x38c1c80) at /home/kde/src/kde-workspace/libs/taskmanager/abstractsortingstrategy.cpp:115
> #20 0x00007f2c672b7efb in TaskManager::AbstractSortingStrategy::qt_static_metacall (_o=0x28b9ac0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff0c2c30d0) at /home/kde/src/superbuild/kdebase/build/Build/kde-workspace/libs/taskmanager/abstractsortingstrategy.moc:55
> #21 0x00007f2c859d75fa in QMetaObject::activate (sender=0x28bd590, m=0x7f2c67517280, local_signal_index=1, argv=0x7fff0c2c30d0) at kernel/qobject.cpp:3546
> #22 0x00007f2c672df1ef in TaskManager::TaskGroup::itemAdded (this=0x28bd590, _t1=0x38c1c80) at /home/kde/src/superbuild/kdebase/build/Build/kde-workspace/libs/taskmanager/taskgroup.moc:187
> #23 0x00007f2c672dc8a0 in TaskManager::TaskGroup::add (this=0x28bd590, item=0x38c1c80, insertIndex=-1) at /home/kde/src/kde-workspace/libs/taskmanager/taskgroup.cpp:250
> #24 0x00007f2c672ce28e in TaskManager::ManualGroupingStrategy::handleItem (this=0x28b98d0, item=0x38c1c80) at /home/kde/src/kde-workspace/libs/taskmanager/strategies/manualgroupingstrategy.cpp:125
> #25 0x00007f2c672b93cc in TaskManager::GroupManagerPrivate::addTask (this=0x28aab40, task=...) at /home/kde/src/kde-workspace/libs/taskmanager/groupmanager.cpp:349
> #26 0x00007f2c672beb77 in TaskManager::GroupManager::qt_static_metacall (_o=0x28aa9b0, _c=QMetaObject::InvokeMetaMethod, _id=10, _a=0x7fff0c2c34e0) at /home/kde/src/superbuild/kdebase/build/Build/kde-workspace/libs/taskmanager/groupmanager.moc:90
> #27 0x00007f2c859d75fa in QMetaObject::activate (sender=0x28aa6f0, m=0x7f2c67517640, local_signal_index=0, argv=0x7fff0c2c34e0) at kernel/qobject.cpp:3546
> #28 0x00007f2c672e7649 in TaskManager::TaskManager::taskAdded (this=0x28aa6f0, _t1=...) at /home/kde/src/superbuild/kdebase/build/Build/kde-workspace/libs/taskmanager/taskmanager.moc:188
> #29 0x00007f2c672e613d in TaskManager::TaskManager::windowAdded (this=0x28aa6f0, w=96469055) at /home/kde/src/kde-workspace/libs/taskmanager/taskmanager.cpp:292
> #30 0x00007f2c672e7273 in TaskManager::TaskManager::qt_static_metacall (_o=0x28aa6f0, _c=QMetaObject::InvokeMetaMethod, _id=7, _a=0x7fff0c2c37a0) at /home/kde/src/superbuild/kdebase/build/Build/kde-workspace/libs/taskmanager/taskmanager.moc:103
> #31 0x00007f2c859d75fa in QMetaObject::activate (sender=0x1ae8dc0, m=0x7f2c8706d7c0, local_signal_index=1, argv=0x7fff0c2c37a0) at kernel/qobject.cpp:3546
> #32 0x00007f2c86cef679 in KWindowSystem::windowAdded (this=0x1ae8dc0, _t1=96469055) at /home/kde/build/kdelibs/kdeui/kwindowsystem.moc:143
> #33 0x00007f2c86ceb568 in KWindowSystemPrivate::addClient (this=0x1b482e0, w=96469055) at /home/kde/work/kdelibs/kdeui/windowmanagement/kwindowsystem_x11.cpp:269
> #34 0x00007f2c86cf889c in NETRootInfo::update (this=0x1b48308, dirty_props=0x7fff0c2c3ae0) at /home/kde/work/kdelibs/kdeui/windowmanagement/netwm.cpp:2227
> #35 0x00007f2c86cf8141 in NETRootInfo::event (this=0x1b48308, event=0x7fff0c2c3df0, properties=0x7fff0c2c3b90, properties_size=5) at /home/kde/work/kdelibs/kdeui/windowmanagement/netwm.cpp:2099
> #36 0x00007f2c86cead63 in KWindowSystemPrivate::x11Event (this=0x1b482e0, ev=0x7fff0c2c3df0) at /home/kde/work/kdelibs/kdeui/windowmanagement/kwindowsystem_x11.cpp:172
> #37 0x00007f2c86b8da4a in KEventHackWidget::publicX11Event (this=0x1b482e0, e=0x7fff0c2c3df0) at /home/kde/work/kdelibs/kdeui/kernel/ksystemeventfilter.cpp:43
> #38 0x00007f2c86b8d6bc in KSystemEventFilterPrivate::filterEvent (this=0x1b44690, message=0x7fff0c2c3df0) at /home/kde/work/kdelibs/kdeui/kernel/ksystemeventfilter.cpp:102
> #39 0x00007f2c86b8d629 in _k_eventFilter (message=0x7fff0c2c3df0) at /home/kde/work/kdelibs/kdeui/kernel/ksystemeventfilter.cpp:91
> #40 0x00007f2c859a83a0 in QAbstractEventDispatcher::filterEvent (this=0x1a22bd0, message=0x7fff0c2c3df0) at kernel/qabstracteventdispatcher.cpp:536
> #41 0x00007f2c848e4001 in x11EventSourceDispatch (s=0x1a258f0, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:143
> #42 0x00007f2c7fd897fd in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
> #43 0x00007f2c7fd89ff8 in ?? () from /usr/lib/libglib-2.0.so.0
> #44 0x00007f2c7fd8a1c9 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
> #45 0x00007f2c859f54b3 in QEventDispatcherGlib::processEvents (this=0x1a22bd0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
> #46 0x00007f2c848e43bc in QGuiEventDispatcherGlib::processEvents (this=0x1a22bd0, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
> #47 0x00007f2c859b6c3c in QEventLoop::processEvents (this=0x7fff0c2c4180, flags=...) at kernel/qeventloop.cpp:149
> #48 0x00007f2c859b6dc6 in QEventLoop::exec (this=0x7fff0c2c4180, flags=...) at kernel/qeventloop.cpp:204
> #49 0x00007f2c859b99f2 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
> #50 0x00007f2c8480a7c4 in QApplication::exec () at kernel/qapplication.cpp:3779
> #51 0x00007f2c6f661222 in kdemain (argc=1, argv=0x199e8e0) at /home/kde/src/kde-workspace/plasma/desktop/shell/main.cpp:120
> #52 0x0000000000407373 in launch (argc=1, _name=0x19ab8f8 "/home/kde/bin/plasma-desktop", args=0x19ab915 "", cwd=0x0, envc=0, envs=0x19ab91d "", reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x40d80f "0") at /home/kde/work/kdelibs/kinit/kinit.cpp:734
> #53 0x0000000000408481 in handle_launcher_request (sock=8, who=0x40daac "launcher") at /home/kde/work/kdelibs/kinit/kinit.cpp:1226
> #54 0x0000000000408d34 in handle_requests (waitForPid=0) at /home/kde/work/kdelibs/kinit/kinit.cpp:1419
> #55 0x000000000040a803 in main (argc=4, argv=0x7fff0c2c5028, envp=0x7fff0c2c5050) at /home/kde/work/kdelibs/kinit/kinit.cpp:1907
>
>
> Diffs
> -----
>
> libs/taskmanager/taskitem.cpp d3c336d
>
> Diff: http://git.reviewboard.kde.org/r/103085/diff/diff
>
>
> Testing
> -------
>
> This one is not easy to reproduce.
>
>
> Thanks,
>
> Valentin Rusu
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20111108/f03a1128/attachment.htm>
More information about the kde-core-devel
mailing list