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

List:       kde-frameworks-devel
Subject:    D11235: [DrKonqi] Request change of ptrace scope from KCrash
From:       Oswald Buddenhagen <noreply () phabricator ! kde ! org>
Date:       2019-01-16 15:52:04
Message-ID: 20bd8654d7089452def3613f5726d190 () localhost ! localdomain
[Download RAW message or body]

[Attachment #2 (text/plain)]

ossi requested changes to this revision.
ossi added inline comments.
This revision now requires changes to proceed.

INLINE COMMENTS

> ptracer.cpp:65
> +                bytes += r;
> +            else if (r == -1 && !(errno == EINTR))
> +                break;

you really could just use != here ... ^^

> ptracer.cpp:78
> +                        bytes += r;
> +                    else if (r == -1 && !(errno == EINTR))
> +                        break;

ditto

> ptracer.cpp:82
> +                if (bytes == msize && memcmp(msg, rmsg, msize) == 0)
> +                    qCInfo(DRKONQI_LOG) << "ptracer set to" << debuggerpid << "by \
> debugged process"; +            }

a complementary warning if any of the steps goes wrong would seem appropriate.

> crashtest.cpp:139
> 
> -  //start drkonqi directly so that drkonqi's output goes to the console
> +  //start drkonqi directly by default so that drkonqi's output goes to the console
> KCrash::CrashFlags flags = KCrash::AlwaysDirectly;

add comment: this can be disabled to be able to test kcrash's real default behavior.

> crashtest.cpp:143
> flags |= KCrash::AutoRestart;
> +  if (parser.isSet(QStringLiteral("kdeinit")))
> +    flags &= ~KCrash::AlwaysDirectly;

move that up, so the AlwaysDirectly stuff is in one block.

REPOSITORY
  R871 DrKonqi

REVISION DETAIL
  https://phabricator.kde.org/D11235

To: croick, #plasma_workspaces, #frameworks, ossi
Cc: ossi, lepagevalleeemmanuel, maximilianocuria, adridg, plasma-devel, jraleigh, \
GB_2, ragreen, Pitel, ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, abetts, \
sebas, apol, mart


[Attachment #3 (text/html)]

<table><tr><td style="">ossi requested changes to this revision.<br />ossi added \
inline comments.<br />This revision now requires changes to proceed. </td><a \
style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; \
color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; \
background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; \
border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D11235">View \
Revision</a></tr></table><br /><div><strong>INLINE COMMENTS</strong><div><div \
style="margin: 6px 0 12px 0;"><div style="border: 1px solid #C7CCD9; border-radius: \
3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; \
border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; \
background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; \
text-decoration: none;" href="https://phabricator.kde.org/D11235#inline-101178">View \
Inline</a><span style="color: #4b4d51; font-weight: \
bold;">ptracer.cpp:65</span></div> <div style="font: 11px/15px &quot;Menlo&quot;, \
&quot;Consolas&quot;, &quot;Monaco&quot;, monospace; white-space: pre-wrap; clear: \
both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; \
background: rgba(151, 234, 151, .6);">                <span class="n">bytes</span> \
<span style="color: #aa2211">+=</span> <span class="n">r</span><span \
class="p">;</span> </div><div style="padding: 0 8px; margin: 0 4px; background: \
rgba(151, 234, 151, .6);">            <span style="color: #aa4000">else</span> <span \
style="color: #aa4000">if</span> <span class="p">(</span><span class="n">r</span> \
<span style="color: #aa2211">==</span> <span style="color: #aa2211">-</span><span \
style="color: #601200">1</span> <span style="color: #aa2211">&amp;&amp;</span> <span \
style="color: #aa2211">!</span><span class="p">(</span><span class="n">errno</span> \
<span style="color: #aa2211">==</span> <span class="n">EINTR</span><span \
class="p">))</span> </div><div style="padding: 0 8px; margin: 0 4px; background: \
rgba(151, 234, 151, .6);">                <span style="color: \
#aa4000">break</span><span class="p">;</span> </div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">you \
really could just use != here ... ^^</p></div></div><br /><div style="border: 1px \
solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; \
border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div \
style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a \
style="float: right; text-decoration: none;" \
href="https://phabricator.kde.org/D11235#inline-101179">View Inline</a><span \
style="color: #4b4d51; font-weight: bold;">ptracer.cpp:78</span></div> <div \
style="font: 11px/15px &quot;Menlo&quot;, &quot;Consolas&quot;, &quot;Monaco&quot;, \
monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div \
style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">          \
<span class="n">bytes</span> <span style="color: #aa2211">+=</span> <span \
class="n">r</span><span class="p">;</span> </div><div style="padding: 0 8px; margin: \
0 4px; background: rgba(151, 234, 151, .6);">                    <span style="color: \
#aa4000">else</span> <span style="color: #aa4000">if</span> <span \
class="p">(</span><span class="n">r</span> <span style="color: #aa2211">==</span> \
<span style="color: #aa2211">-</span><span style="color: #601200">1</span> <span \
style="color: #aa2211">&amp;&amp;</span> <span style="color: #aa2211">!</span><span \
class="p">(</span><span class="n">errno</span> <span style="color: #aa2211">==</span> \
<span class="n">EINTR</span><span class="p">))</span> </div><div style="padding: 0 \
8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">                        \
<span style="color: #aa4000">break</span><span class="p">;</span> </div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: \
8px;">ditto</p></div></div><br /><div style="border: 1px solid #C7CCD9; \
border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: \
#e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: \
#74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: \
right; text-decoration: none;" \
href="https://phabricator.kde.org/D11235#inline-101181">View Inline</a><span \
style="color: #4b4d51; font-weight: bold;">ptracer.cpp:82</span></div> <div \
style="font: 11px/15px &quot;Menlo&quot;, &quot;Consolas&quot;, &quot;Monaco&quot;, \
monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div \
style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">          \
<span style="color: #aa4000">if</span> <span class="p">(</span><span \
class="n">bytes</span> <span style="color: #aa2211">==</span> <span \
class="n">msize</span> <span style="color: #aa2211">&amp;&amp;</span> <span \
class="n">memcmp</span><span class="p">(</span><span class="n">msg</span><span \
class="p">,</span> <span class="n">rmsg</span><span class="p">,</span> <span \
class="n">msize</span><span class="p">)</span> <span style="color: #aa2211">==</span> \
<span style="color: #601200">0</span><span class="p">)</span> </div><div \
style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">          \
<span class="n">qCInfo</span><span class="p">(</span><span \
class="n">DRKONQI_LOG</span><span class="p">)</span> <span style="color: \
#aa2211">&lt;&lt;</span> <span style="color: #766510">&quot;ptracer set \
to&quot;</span> <span style="color: #aa2211">&lt;&lt;</span> <span \
class="n">debuggerpid</span> <span style="color: #aa2211">&lt;&lt;</span> <span \
style="color: #766510">&quot;by debugged process&quot;</span><span class="p">;</span> \
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, \
.6);">            <span class="p">}</span> </div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">a \
complementary warning if any of the steps goes wrong would seem \
appropriate.</p></div></div><br /><div style="border: 1px solid #C7CCD9; \
border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: \
#e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: \
#74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: \
right; text-decoration: none;" \
href="https://phabricator.kde.org/D11235#inline-101183">View Inline</a><span \
style="color: #4b4d51; font-weight: bold;">crashtest.cpp:139</span></div> <div \
style="font: 11px/15px &quot;Menlo&quot;, &quot;Consolas&quot;, &quot;Monaco&quot;, \
monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div \
style="padding: 0 8px; margin: 0 4px; background: rgba(251, 175, 175, .7);">  <span \
style="color: #74777d">//start drkonqi directly so that drkonqi&#39;s output goes to \
the console</span> </div><div style="padding: 0 8px; margin: 0 4px; background: \
rgba(151, 234, 151, .6);">  <span style="color: #74777d">//start drkonqi directly \
<span class="bright">by default </span>so that drkonqi&#39;s output goes to the \
console</span> </div><div style="padding: 0 8px; margin: 0 4px; ">  <span \
class="n">KCrash</span><span style="color: #aa2211">::</span><span \
class="n">CrashFlags</span> <span class="n">flags</span> <span style="color: \
#aa2211">=</span> <span class="n">KCrash</span><span style="color: \
#aa2211">::</span><span class="n">AlwaysDirectly</span><span class="p">;</span> \
</div></div></div> <div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; \
margin: 8px;">add comment: this can be disabled to be able to test kcrash&#039;s real \
default behavior.</p></div></div><br /><div style="border: 1px solid #C7CCD9; \
border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: \
#e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: \
#74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: \
right; text-decoration: none;" \
href="https://phabricator.kde.org/D11235#inline-101182">View Inline</a><span \
style="color: #4b4d51; font-weight: bold;">crashtest.cpp:143</span></div> <div \
style="font: 11px/15px &quot;Menlo&quot;, &quot;Consolas&quot;, &quot;Monaco&quot;, \
monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div \
style="padding: 0 8px; margin: 0 4px; ">    <span class="n">flags</span> <span \
style="color: #aa2211">|=</span> <span class="n">KCrash</span><span style="color: \
#aa2211">::</span><span class="n">AutoRestart</span><span class="p">;</span> \
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, \
.6);">  <span style="color: #aa4000">if</span> <span class="p">(</span><span \
class="n">parser</span><span class="p">.</span><span class="n">isSet</span><span \
class="p">(</span><span class="n">QStringLiteral</span><span class="p">(</span><span \
style="color: #766510">&quot;kdeinit&quot;</span><span class="p">)))</span> \
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, \
.6);">    <span class="n">flags</span> <span style="color: #aa2211">&amp;=</span> \
<span style="color: #aa2211">~</span><span class="n">KCrash</span><span style="color: \
#aa2211">::</span><span class="n">AlwaysDirectly</span><span class="p">;</span> \
</div></div></div> <div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; \
margin: 8px;">move that up, so the AlwaysDirectly stuff is in one \
block.</p></div></div></div></div></div><br \
/><div><strong>REPOSITORY</strong><div><div>R871 DrKonqi</div></div></div><br \
/><div><strong>REVISION DETAIL</strong><div><a \
href="https://phabricator.kde.org/D11235">https://phabricator.kde.org/D11235</a></div></div><br \
/><div><strong>To: </strong>croick, Plasma: Workspaces, Frameworks, ossi<br \
/><strong>Cc: </strong>ossi, lepagevalleeemmanuel, maximilianocuria, adridg, \
plasma-devel, jraleigh, GB_2, ragreen, Pitel, ZrenBot, lesliezhai, ali-mohamed, \
jensreuterberg, abetts, sebas, apol, mart<br /></div>



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

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