<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 30, 2017 at 4:17 PM, Petr Fischer <span dir="ltr"><<a href="mailto:petr.fischer@me.com" target="_blank">petr.fischer@me.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
> On Fri, Feb 24, 2017 at 11:57 AM, Holger Freyther <<a href="mailto:holger@freyther.de">holger@freyther.de</a>> wrote:<br>
> ><br>
</span><span class="">> > Hi!<br>
> ><br>
> >> Now, this heartbeat threaded VM is the recommended in the README file, and we see that OSSubprocess generates the exact issue stated. The main problem remains for the moment since Pharo's default download includes not this VM but the itimer one. I talked with Esteban about it and he was aware of these two VM flavours, and the reason why we are using the itimer one is the need to deploy those permission files in /etc, which makes installation a bit less automatic.<br>
> ><br>
> > It is not a matter of configuration, e.g. more infrastructure is migrated into docker containers (I run the CI with docker containers) and even as root inside the container you might not be allowed to use realtime priority. And you might not be able to influence how your container is being executed.<br>
> ><br>
> > holger<br>
> ><br>
> > PS: Have you seen the fix David Lewis made to the UnixProcess plugin, maybe it already helps with your bug as well?<br>
><br>
> If these two commits work out, the threaded VM may become a viable<br>
> default option...<br>
> <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/32f321583c69ca27e61ffaff6decc2a3e4b6ca5e" rel="noreferrer" target="_blank">https://github.com/<wbr>OpenSmalltalk/opensmalltalk-<wbr>vm/commit/<wbr>32f321583c69ca27e61ffaff6decc2<wbr>a3e4b6ca5e</a><br>
> <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5418a415e9297f601f6d57ee732fd7fd942da08c" rel="noreferrer" target="_blank">https://github.com/<wbr>OpenSmalltalk/opensmalltalk-<wbr>vm/commit/<wbr>5418a415e9297f601f6d57ee732fd7<wbr>fd942da08c</a><br>
><br>
> cheers -ben<br>
<br>
</span>Are these commits immediatelly available in pharo-vm GitHub repository, or I need to compile directly from opensmalltalk-vm?<br>
<br>
Is it really safe to run VM with normal priority heartbeat?<br></blockquote><div><br></div><div>I believe not.  Do something lie spawn a process waiting on a delay that will interrupt the active process after some time (say 1 second).  Then have the active process enter a tight loop (e.g. a repeat loop that sends class to an object).  It is very important that the loop /not/ cause a GC or a deep call chain so that it doesn't incidentally poll for events and hence update the clock.  Once the active process is in a tight loop the delay is effectively disabled because the tight loop effectively shuts out the heartbeat thread and hence the system never notices that the delay has expired.</div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Thanks! pf<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div></div>