<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/103085/">http://git.reviewboard.kde.org/r/103085/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On November 8th, 2011, 9:01 p.m., <b>Craig Drummond</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Ship It!</pre>
 </blockquote>




 <p>On November 8th, 2011, 9:02 p.m., <b>Craig Drummond</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Really KSysGuard::ProcessesLocal::getParentPid should be fixed to not crash when passed pid of 0. Also, a similar fix will be needed in getServiceLauncherUrl</pre>
 </blockquote>








</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Ok, I also fixed getServiceLauncherUrl</pre>
<br />








<p>- Valentin</p>


<br />
<p>On November 8th, 2011, 8:57 p.m., Valentin Rusu wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for KDE Runtime and Craig Drummond.</div>
<div>By Valentin Rusu.</div>


<p style="color: grey;"><i>Updated Nov. 8, 2011, 8:57 p.m.</i></p>






<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">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</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This one is not easy to reproduce.</pre>
  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>libs/taskmanager/taskitem.cpp <span style="color: grey">(d3c336d)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/103085/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>








  </div>
 </body>
</html>