[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Re: Review Request 119497: Report crashes of KDE apps in Apple OS X (1) (fix kcrash)
From:       Marko_Käning <mk-lists () email ! de>
Date:       2014-09-15 19:26:59
Message-ID: 20140915192659.22584.16948 () probe ! kde ! org
[Download RAW message or body]

--===============7012298203268380485==
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit


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


Hi Ian, shall I test this on a Mavericks VM before you're committing this? In case I \
shall do it, do you have a test case for me? Greets, Marko

- Marko Käning


On Sept. 15, 2014, 3:59 a.m., Ian Wadham wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/119497/
> -----------------------------------------------------------
> 
> (Updated Sept. 15, 2014, 3:59 a.m.)
> 
> 
> Review request for KDE Software on Mac OS X, KDE Runtime, kdelibs, and Michael \
> Pyne. 
> 
> Repository: kdelibs
> 
> 
> Description
> -------
> 
> *NOTE: Issues for KCrash have been fixed. Changes to kinit/kinit.cpp (kdeinit4) \
> have been discontinued. For a summary, scroll to the very end of this page. 
> 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. Patches for the first two are submitted in \
> this review. Patches for three more are submitted in part 2 of this review, against \
> kde-runtime. I am still investigating the other two problems in Dr Konqi - and \
> there could be more than two... 
> In this review we have two portability problems:
> 
> 1. KCrash itself crashes (SIGILL) when it tries to close all file descriptors and \
> so Dr Konqi is not started. Some of the FDs belong to the Apple OS X library \
> (COCOA) and it crashes if they are closed prematurely. 
> 2. The preferred way to start Dr K is via a socket message to kdeinit4, but that \
> fails in Apple OS X because kdeinit4 is listening with the wrong socket name. The \
> DISPLAY ID is missing from the end of the name. The fallback is for KCrash to use \
> fork() and exec(), which works, but could cause Dr K to be polluted, depending on \
> the nature of the crash. 
> This "deafness" of kdeinit4 (and klauncher) could be causing other failures in KDE \
> software in the Apple OS X environment. 
> 
> Diffs
> -----
> 
> kdeui/util/kcrash.cpp 45eb46b 
> 
> Diff: https://git.reviewboard.kde.org/r/119497/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 also \
> exist in FRAMEWORKS, but I am as yet unable to build or test Frameworks on Apple OS \
> X. And I am sure there are many more Apple OS X portability problems in KDE \
> software. 
> Without my patches, Dr Konqi is not started and, if it does get past its own crash, \
>                 KCrash reports:
> KCrash: Attempting to start \
> /kdedev/kde4.13/kde4/lib/kde4/libexec/drkonqi.app/Contents/MacOS/drkonqi from \
> kdeinit sock_file=/kdedev/kde4.13/home/.kde4.13/socket-Tara.local/kdeinit4__tmp_launch-svPd0L_org.x_0
>                 
> Warning: connect() failed: : No such file or directory
> 
> With my patches, Dr Konqi can always be started directly (using fork()) and it \
> -will- start via kdeinit4 and klauncher but it immediately runs into a privilege \
> problem with Apple OS X (a problem which I am still investigating). 
> 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. 
> 
> Thanks,
> 
> Ian Wadham
> 
> 


--===============7012298203268380485==
MIME-Version: 1.0
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: 8bit




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





 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Hi \
Ian, shall I test this on a Mavericks VM before you're committing this? In case I \
shall do it, do you have a test case for me? Greets, Marko</p></pre>  <br />









<p>- Marko Käning</p>


<br />
<p>On September 15th, 2014, 3:59 a.m. CEST, Ian Wadham wrote:</p>









<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: \
1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; \
-webkit-border-radius: 6px;">  <tr>
  <td>

<div>Review request for KDE Software on Mac OS X, KDE Runtime, kdelibs, and Michael \
Pyne.</div> <div>By Ian Wadham.</div>


<p style="color: grey;"><i>Updated Sept. 15, 2014, 3:59 a.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kdelibs
</div>


<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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">*NOTE: Issues for KCrash have been fixed. Changes to \
kinit/kinit.cpp (kdeinit4) have been discontinued. For a summary, scroll to the very \
end of this page.</p> <p style="padding: 0;text-rendering: inherit;margin: \
0;line-height: inherit;white-space: inherit;">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?"</p> \
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">It is my strong belief that the failure to report \
crashes of KDE apps in Apple OS X also exists in Frameworks.</p> <p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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. Patches for the first two are submitted in this \
review. Patches for three more are submitted in part 2 of this review, against \
kde-runtime. I am still investigating the other two problems in Dr Konqi - and there \
could be more than two...</p> <p style="padding: 0;text-rendering: inherit;margin: \
0;line-height: inherit;white-space: inherit;">In this review we have two portability \
problems:</p> <ol style="padding: 0;text-rendering: inherit;margin: 0 0 0 \
2em;line-height: inherit;white-space: normal;"> <li style="padding: 0;text-rendering: \
inherit;margin: 0;line-height: inherit;white-space: normal;"> <p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">KCrash itself crashes (SIGILL) when it tries to close all file descriptors \
and so Dr Konqi is not started. Some of the FDs belong to the Apple OS X library \
(COCOA) and it crashes if they are closed prematurely.</p> </li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: normal;"> <p style="padding: 0;text-rendering: inherit;margin: \
0;line-height: inherit;white-space: inherit;">The preferred way to start Dr K is via \
a socket message to kdeinit4, but that fails in Apple OS X because kdeinit4 is \
listening with the wrong socket name. The DISPLAY ID is missing from the end of the \
name. The fallback is for KCrash to use fork() and exec(), which works, but could \
cause Dr K to be polluted, depending on the nature of the crash.</p> </li>
</ol>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">This "deafness" of kdeinit4 (and klauncher) could be \
causing other failures in KDE software in the Apple OS X environment.</p></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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">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.</p> <p \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">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.</p> <p \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">I NEED HELP from KDE -core- developers to proceed further. These problems \
also exist in FRAMEWORKS, but I am as yet unable to build or test Frameworks on Apple \
OS X. And I am sure there are many more Apple OS X portability problems in KDE \
software.</p> <p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">Without my patches, Dr Konqi is not started and, if it \
does get past its own crash, KCrash reports:<br style="padding: 0;text-rendering: \
                inherit;margin: 0;line-height: inherit;white-space: normal;" />
KCrash: Attempting to start \
/kdedev/kde4.13/kde4/lib/kde4/libexec/drkonqi.app/Contents/MacOS/drkonqi from \
kdeinit<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: normal;" /> \
sock_file=/kdedev/kde4.13/home/.kde4.13/socket-Tara.local/kdeinit4__tmp_launch-svPd0L_org.x_0<br \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
                normal;" />
Warning: connect() failed: : No such file or directory</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">With my patches, Dr Konqi can always be started \
directly (using fork()) and it -will- start via kdeinit4 and klauncher but it \
immediately runs into a privilege problem with Apple OS X (a problem which I am still \
investigating).</p> <p style="padding: 0;text-rendering: inherit;margin: \
0;line-height: inherit;white-space: inherit;">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.</p></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>kdeui/util/kcrash.cpp <span style="color: grey">(45eb46b)</span></li>

</ul>

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






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








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


--===============7012298203268380485==--


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic