[Vm-dev] Cog + Pi + OSProcess
David T. Lewis
lewis at mail.msen.com
Sun Jul 17 16:52:21 UTC 2016
On Wed, Jun 08, 2016 at 11:42:57AM -0700, tim Rowledge wrote:
> I finally got a moment to look at this - not that I really have much clue about the whole unix process thing - and it appears that something is odd with the compiled code in the plugin.
> My test is very simple - run the UnixProcess class>listDirectory example. It exits with a segfault and the forkAndExec??? method as the last thing on the stack.
> I build a debug vm (and had some fun with asserts and the ARM fp offset in the process, all fixed now) and??? it doesn???t fail. I???ve tried compiling the plugin with varying levels of optimisation, since we???ve fairly regularly seen problems there, and even at -O0 it fails. So debug -> OK, no-debug -> boom. Nice.
It looks like the oscog branch of OSPP is broken. I tried OSProcess on
my new Raspberry Pi, and it fails as you describe. I recompiled using
source from my unaltered main branch of the plugin, and it works fine.
A quick fix is to just copy the generated source from the interpreter VM
(src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c) and use it in your
Spur VM build.
#forkSqueak is still broken (no display opens for the child Squeak) but
that seems to be a problem elsewhere in the platforms code. It used to work
in Cog, but I have not hunted down the regression.
More information about the Vm-dev