Hi Folks,

It seems we found a problem in Spur-64 on Linux. Eliot & VM developers and experts, please, we need your help.

Cuis users have been experiencing this problem since we started using Spur-64. At random times, the image just stops working. No Smalltalk process is run, and the VM needs to be killed from the OS.

In my experience, most of the time it takes several hours for the problem to happen. Dan found a simple way to make it happen rather quickly. No FFI is involved, just pretty basic Smalltalk. I can confirm that the problem does not happen using Spur-32 on the same platform.

Thanks,

On 30/01/2017 10:35 p.m., Dan Norton wrote:

Attached is a few lines of code which can reproduce the problem. File it in then do:

Tokenish start

in a Cuis workspace. You may have to let it run for a while, the time to failure is not predictable. Starting multiples of them may bring the freeze sooner.

 - Dan


On 01/30/2017 04:23 PM, Bert Freudenberg wrote:
 


On Mon, Jan 30, 2017 at 9:43 PM, Dan Norton <dnorton@mindspring.com> wrote:
 

When a freeze occurs, it's usually(tm) during an animation, probably because the movement of an ellipse is done in small increments of 92 per hop. This is within a block like so:


self when: #morphicStep evaluate: [ :delta | <movement> ].

self startSteppingStepTime: step.    

How can the breakpoint be set in this block for gdb? We need source for some C module.

With gdb you can't debug at the Smalltalk level (that's what alt-. is for). You can only attach to the process, break into it and figure out what's going on. Which may be very hard. Also, you may have to compile your own VM with debug info (or do we have pre-built ones somewhrere?)

- Bert -



-- 
Juan Vuletich
www.cuis-smalltalk.org
https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
@JuanVuletich