-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/119498/
-----------------------------------------------------------

(Updated Sept. 18, 2014, 10:57 a.m.)


Review request for KDE Software on Mac OS X, KDE Runtime, kdelibs, and Michael 
Pyne.


Changes
-------

Removed the Q_OS_MAC condition for bypassing setuid/setgid in main(). The 
comments remain as a reminder for when kdeinit4 or some other process can be 
used to start Dr Konqi, instead of just forking.


Repository: kde-runtime


Description
-------

When a KDE app crashes in Apple OS X, it just disappears from the screen. At 
the most, the user is invited to report the crash to Apple. AFAIK this has been 
a problem in KDE on Apple OS X for years, leading to frustration with KDE among 
Apple users and MacPorts developers and an attitude among KDE developers of 
"Why does nobody report the problem(s) on bugs.kde.org?"

It is my strong belief that the failure to report crashes of KDE apps in Apple 
OS X also exists in Frameworks.

So far I have identified a number of portability bugs in KDE on Apple OS X: 1 
in KCrash, 1 in kdeinit4 and 5 in Dr Konqi. Three patches for Dr Konqi are 
submitted in this review. Patches for KCrash and kdeinit4 are submitted in part 
1 of this review, against kdelibs. I am still investigating the other two 
problems in Dr Konqi - and there could be more than two...

In this review we have three portability problems:

1. On Apple OS X, Dr Konqi's dialog box hides itself underneath the main window 
of the app that has just crashed, so is effectively useless. This appears to be 
because Dr Konqi is started by a Linux/Unix method (fork() + exec()?). If an 
app is started with the Apple OS X "open" command, it always appears on top. 
The patch just raises the dialog box.

2. When formatting the backtrace output, Dr Konqi crashes (with an ASSERT) on 
the last line. This appears to be an error in the algorithm used (i.e. also a 
bug in Linux KDE), but the patch is treating it as an Apple OS X portability 
problem for now.

3. Dr Konqi checks whether the user can save cookies in kcookiejar and, if not, 
stops reporting the crash. On Apple OS X, cookies would be kept in another 
browser (e.g. Safari or Firefox) and not in KDE's default browser (Konqueror) 
and cookie jar. IMHO, Dr K should report the crash no matter what, as long as 
it can connect to bugs.kde.org and log in.


Diffs (updated)
-----

  drkonqi/gdbhighlighter.cpp 7cd0aa9 
  drkonqi/main.cpp 75e060e 
  drkonqi/reportassistantpages_bugzilla.cpp 86ca327 

Diff: https://git.reviewboard.kde.org/r/119498/diff/


Testing
-------

Using Apple OS X 10.7.5 (Lion) on a MacBook Pro, I have installed KDE libs via 
MacPorts (at version 4.12.5) and I have adapted kdesrc-build to run in an Apple 
OS X environment and used it to test against the KDE 4.13 branch. I have been 
testing with a KDE app that I can crash at will and using stderr and Apple OS X 
Console log output to determine the outcome.

Please note that I am the -only- KDE developer who has this kind of setup, but 
I am NOT a KDE core developer. My experience before now has been in KDE Games. 
However I used to be a UNIX and database guru before I retired in 1998.

I NEED HELP from KDE -core- developers to proceed further. These problems will 
also exist in Dr Konqi for KF 5, but I am as yet unable to build or test 
Frameworks on Apple OS X and I cannot find Dr Konqi among the Frameworks 
repositories. I am sure there are many more Apple OS X portability problems in 
Dr Konqi and other KDE software.

Without my patches, Dr Konqi, on Apple OS X, remains invisible to the user, 
often fails to complete the backtrace report and then fails to connect to 
bugs.kde.org.

With my patches, Dr Konqi on Apple OS X can generate a full crash report, 
including the backtrace and the results of the dialog with the user. Sometimes, 
however, it fails to submit the completed report to bugs.kde.org. This problem 
is still under investigation.

I would not have got this far without help from Michael Pyne, Thomas Lübking 
and several of the MacPorts developers, as well as the unfailing enthusiasm and 
encouragement of my friend Marko Käning.


File Attachments
----------------

Log of Dr K ASSERT problem
  
https://git.reviewboard.kde.org/media/uploaded/files/2014/07/30/a3f99f00-94df-4b10-bc47-66b1c966f893__DrKonqiASSERT.kcrash.txt


Thanks,

Ian Wadham

Reply via email to