[Vm-dev] a problem with JIT and become:
eliot.miranda at gmail.com
Wed Feb 20 18:36:55 UTC 2013
(let me try again without the finger trouble).
Thanks, Esteban. This reproduces nicely and looks to be similar to a
bug I was suffering from myself this week but was much harder to
P.S. To reproduce this I evaluated the following in a workspace and
then started foo.image:
Smalltalk saveAs: 'foo'.
(Delay class>>#handleTimerEvent) setSourcePosition: 200 inFile: 1.
(ProcessorScheduler class>>#idleProcess) setSourcePosition: 200 inFile: 1
On Wed, Feb 20, 2013 at 8:21 AM, Esteban Lorenzano <estebanlm at gmail.com> wrote:
> Ok, I tried this code:
> (Delay class>>#handleTimerEvent) setSourcePosition: 200 inFile: 1.
> (ProcessorScheduler class>>#idleProcess) setSourcePosition: 200 inFile: 1
> in latest pharo image: http://pharo.gforge.inria.fr/ci/image/20/20560.zip
> and it crashes the vm
> (tried in mac vm, with latest cog from Eliot)
> this does not happens in squeak because squeak uses another algorithm... but placing same method source in squeak crashes it too.
> I suspected it was because something in the JIT becomes dizzy, so I "workarounded" the problem by adding a call voidVMStateForSnapshot before each become (it was just an experiment, don't kill me). Weird is that it solved the problem... of course, this is not usable because then other places get stuck (like ByteString>>#at:put:), but I think it is showing a problem... isn't?
More information about the Vm-dev