On Tue, Jun 16, 2015 at 10:09 AM, Guillermo Polito <guillermopolito@gmail.com> wrote:
Hi!

El mar., 16 de jun. de 2015 a la(s) 8:55 a. m., Peter Uhn��k <i.uhnak@gmail.com> escribi��:
I ended up fileouting what I could in headless mode (had utf8 issues for whatever reason so I didn't get it all), and rewriting the rest. :/
But what happens once will happen again... so some more generic solution for this would be nice.

Given command line was usable you could have used it to break the loop.

Let's say you had your method that recurses looks like

BadGuy>>recursive
�� self recursive

then you can do

./pharo eval "BadGuy compile: 'recursive'"

As I have said originally, I did recompile the method to get rid of it (albeit from StartupScript and not eval), but there was already to much stuff on stack (every call fired a new announcement and the observer called the method again), so the system resources were already clogged, and even after I recompiled it it crashed shortly thereafter.

Another useful debugging tool, maybe you knew about it, is sending the SIGUSR1 signal to the VM process. It will print out the stack and help you detect possible problems.

Well on crash I did receive the stack so I knew what was the problem, but it might be helpful in the future.

Well, Oz has never left the prototype stage, and I doubt it will soon with the time I have and the hackish VM requirements.

I guess making tools for image surgery ain't easy, but it certainly is interesting. :)��

Peter