Hi. I found reproducible problem with forwardBecome. It exists on Pharo and Squeak. For Pharo we get issue 17536 <https://pharo.fogbugz.com/f/cases/17536/VM-Crash-when-adding-an-iVar-to-a-subclass-of-SystemAnnouncement> .
Try to execute following script: obj1 := 20@10. obj2 := 50@30. weak := WeakValueAssociation new. weak key: obj1.. obj1 becomeForward: obj2. Smalltalk garbageCollect. weak key class. "-> SmallInteger. If you try to print 'weak key' image will crash" Lines with become and garbage collection should be executed together. Instead anything is working correctly. So it is somehow related to stack state. Interesting that WeakArray is working correctly. Try script with weak := WeakArray new: 1. weak at: 1 put: obj1. Best regards, Denis
