Example to reproduce (in Squeak):

(Context basicNew: 16) privSender: 1; pc

For me, this reproducibly crashes the VM.

Stack backtrace
        [00007ff7460a73f7] ??? + 0x173f7 in SqueakConsole.exe
        [00007ff7465372cc] Cog method with nil selector + 0xbc in CogCode
        [00007ff746401520] ceReturnToInterpreterTrampoline + 0x0 in CogCode
        [00007ff7478f04f6] ??? + 0x0 in (null)
        [00007ff7478f09e8] ??? + 0x0 in (null)
        [00007ff746498543] Cog method with nil selector + 0x213 in CogCode
        [00007ff746402906] on:do: + 0xa6 in CogCode
        [00007ff746401520] ceReturnToInterpreterTrampoline + 0x0 in CogCode
        [00007ff746401550] ceBaseFrameReturnTrampoline + 0x0 in CogCode

Other examples:

(Context basicNew: 16) privSender: 1; method. "nil -- doesn't crash"
(Context basicNew: 16) privSender: 1; receiver. "nil -- doesn't crash"
(Context basicNew: 16) privSender: 1; sender. "crashes!"
(Context basicNew: 16) privSender: 1; isMorph. "false - doesn't crash"
(Context basicNew: 16) privSender: 1; yourself. "aContext - beware! crashes one or two seconds later without a backtrace"

Unless the context instance is executed by the VM, this should not happen. This is an annoying limitation for "heap fuzzing", i.e., randomly creating and assigning object instances, as done in SimulationStudio, for instance.


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <OpenSmalltalk/opensmalltalk-vm/issues/654@github.com>