2017-08-09 22:14 GMT+02:00 Eliot Miranda <eliot.miranda@gmail.com>:
Hi Nicolai,
On Tue, Aug 8, 2017 at 12:10 PM, Nicolai Hess <nicolaihess@gmail.com> wrote:
see fogbugz 20246 (https://pharo.fogbugz.com/f/c ases/20246/Segfault-calling-new-0)
Create a class with a single instance variable.
call
AClass new:0
-> segfaults (on windows latest vm). I can reproduce this on squeak (Squeak5.1-16549-32bit). It does not crash right away, but I was able to crash it by debugging into the new: call.
from the comment of Behavior>>#new: , I would expect the error:
self error: self printString, ' cannot have variable sized instances'
Quite right. Squeak and Pharo used to have a funky class DirectoryEntry that was expected to be able to be instantiated with DirectoryEntry new: 0. The (Spur) VM bug is that the object was being filled with 0's instead of nil. I've fixed the Spur VM to now fail for any non-indexable class since, AFAICT, DirectoryEntry is no longer used in this way.
Thank you!
_,,,^..^,,,_ best, Eliot