<p><a href="https://github.com/j-dunn" class="user-mention">@J-Dunn</a> the problem this change is intended to mitigate a bug in GIO.  It is not a fix, it just limits the damage by limiting throughput in the subprocess pipes and in doing that slows operation and increases CPU usage.  It is a change in Geany, not in Scope so it is not limited to subprocess IO in Scope and would apply if triggered by any of Geany's many subprocess operations: builds, find in files, context commands etc.</p>
<p>But the bug appears to only exist in some versions of GIO so it clearly is caused by changes made in the GIO code.</p>
<p><a href="https://github.com/zhekov" class="user-mention">@zhekov</a> is likely correct in stating that the mitigation is not triggered by anything other than the particular usage in the Scope plugin for the version of GIO he examined, but that is relying on the people who caused the bug in the first place to not make any other changes to GIO that affect that current incorrect behaviour so as to not affect other users.</p>
<p>Other than examining the code of many versions of GIO, testing is the only way of telling if anything else is affected.  Especially on Windows and OSX where the subprocess code is likely different to that on Linux.  I expect this has not been tested on those systems (and hence my ping of known users there, apologies to those I missed).  Also since the Scope plugin does not currently run on GTK3 and so nobody with GTK3 has any reason to apply the patch I bet it hasn't been tested their either, sure its should not matter, but its a bug, who knows.</p>
<p>So in relation to this hack testing is not just good policy, its essential to provide a feeling of comfort that the hack won't be triggered outside the intended situation.  Note its not definitive, just an indication that it seems to be ok.</p>
<p>Maybe the solution is for a copy of the spawn code with the patch to be made in scope so it only applies to Scope.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/geany/geany/pull/1461#issuecomment-371710058">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJ15SnsH9zFcWL2hVMC5wGT6OPt3kks5tcgSXgaJpZM4M3KqU">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJxrp4JoGB-aB05XBh3rPAWIEzNS5ks5tcgSXgaJpZM4M3KqU.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/geany/geany/pull/1461#issuecomment-371710058"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/geany/geany","title":"geany/geany","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/geany/geany"}},"updates":{"snippets":[{"icon":"PERSON","message":"@elextr in #1461: @J-Dunn the problem this change is intended to mitigate a bug in GIO.  It is not a fix, it just limits the damage by limiting throughput in the subprocess pipes and in doing that slows operation and increases CPU usage.  It is a change in Geany, not in Scope so it is not limited to subprocess IO in Scope and would apply if triggered by any of Geany's many subprocess operations: builds, find in files, context commands etc.\r\n\r\n But the bug appears to only exist in some versions of GIO so it clearly is caused by changes made in the GIO code.\r\n\r\n@zhekov is likely correct in stating that the mitigation is not triggered by anything other than the particular usage in the Scope plugin for the version of GIO he examined, but that is relying on the people who caused the bug in the first place to not make any other changes to GIO that affect that current incorrect behaviour so as to not affect other users. \r\n\r\nOther than examining the code of many versions of GIO, testing is the only way of telling if anything else is affected.  Especially on Windows and OSX where the subprocess code is likely different to that on Linux.  I expect this has not been tested on those systems (and hence my ping of known users there, apologies to those I missed).  Also since the Scope plugin does not currently run on GTK3 and so nobody with GTK3 has any reason to apply the patch I bet it hasn't been tested their either, sure its should not matter, but its a bug, who knows.\r\n\r\nSo in relation to this hack testing is not just good policy, its essential to provide a feeling of comfort that the hack won't be triggered outside the intended situation.  Note its not definitive, just an indication that it seems to be ok.\r\n\r\nMaybe the solution is for a copy of the spawn code with the patch to be made in scope so it only applies to Scope. "}],"action":{"name":"View Pull Request","url":"https://github.com/geany/geany/pull/1461#issuecomment-371710058"}}}</script>