I found the issue:

At some point the semantics of suspending the active process changed. Now, the newly activated process gets its myList set to nil, whereas before, myList was kept.

To wit, in an old VM:

    Processor activeProcess suspendingList
    ==> a LinkedList()

whereas on a current VM

    Processor activeProcess suspendingList
    ==> nil

I'm not sure if old images would care if the list was set to nil, but now SqueakJS does set the list to nil for closure images.

I just committed that one-line fix :)


On Sun, Nov 26, 2023 at 1:38 AM Vanessa Freudenberg <vanessa@codefrau.net> wrote:
I don’t think that’s it, because it does work fine on the standard VM, just not on the SqueakJS VM. 

In a work space, “self halt” and do-it does not work (buttons are disabled). Instead, “self halt” and debug-it does work (buttons are enabled). 

SqueakJS does not implement all primitives, some optional ones are missing. So that could be a reason. Or it could be a bug in a primitive somewhere. 

The problem appears to be that the debugger’s interruptedProcess’s myLink is an empty list instead of nil.


On Sat, Nov 25, 2023 at 13:57 Thiede, Christoph <Christoph.Thiede@student.hpi.uni-potsdam.de> wrote:
Hi Vanessa,

I think this might be caused by a known issue that is tracked here: https://github.com/squeak-smalltalk/squeak-object-memory/issues/92

How exactly did you invoke the debugger? How does your process browser look before and after the invocation?


Von: vm-dev-request@lists.squeakfoundation.org <vm-dev-request@lists.squeakfoundation.org>
Gesendet: Samstag, November 25, 2023 12:31:49 PM
An: vm-dev@lists.squeakfoundation.org <vm-dev@lists.squeakfoundation.org>
Betreff: Vm-dev Digest, Vol 209, Issue 21

Send Vm-dev mailing list submissions to

To subscribe or unsubscribe via email, send a message with subject or
body 'help' to

You can reach the person managing the list at

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Vm-dev digest..."