PyKDE applications (like kajong) If kajongg crashes, pressing the "Restart Application" will not successfully restart kajongg. The cause is drkonqi curretly relies upon /proc/<pid>/exe to determine the binary path. However, for PyKDE applicaitons, that /proc/<pid>/exe points to the python interpreter. So DrKonqi actually tries to restart python in that kajongg case. To solve the problem, DrKonqi could turn to /proc/<pid>/cmdline when it notices the binary path is python. Or, maybe Drkonqi should just prefer /proc/<pid>/cmdline, since that file usually contains all the exact arguments, which means it is possible for DrKonqi to restart application in the exact same arguements. One potential problem with /proc/<pid>/cmdline is some applications might modify their cmdline arguments (like kdeinit4), which makes /proc/<pid>/cmdline unusable for the restarting purpose. Of course, the above usage of /proc is Linux centric. Reproducible: Always Steps to Reproduce: 1. start kajongg 2. kill -6 pid-of-kajongg 3. push the "Restart Application' button in DrKonqi Actual Results: kajongg not restarted Expected Results: kajongg restarted
Assign it to myself since I plan to work on this :)
Git commit beb129b6c1b8f2c4cd77f3d660acd76ef237a1d6 by Jekyll Wu. Committed on 08/09/2013 at 16:57. Pushed by jekyllwu into branch 'KDE/4.11'. Improve the support of pykde applications in Dr.Konqi * "Restart Application" button now also works for pykde apps * pykde apps are reported according to their real name instead of "python" The implementation is dirty, but it works and I don't have much time and don't want to read crash reports of "python" any more. FIXED-IN: 4.11.2 M +3 -1 drkonqi/drkonqibackends.cpp http://commits.kde.org/kde-runtime/beb129b6c1b8f2c4cd77f3d660acd76ef237a1d6