While debugging FloatTest>>#testNaNCompare (From http://bugs.squeak.org/view.php?id=6719 FloatNaNCompare-M6719-Test.2.cs),
I had a very strange behavior: Executing in Debugger:
theNaN := Float nan. anotherNaN := Float infinity - Float infinity. comparand := {1. 2.3. Float infinity. 2/3. 1.25s2. 2 raisedTo: 50}. comparand := comparand , (comparand collect: [:e | e negated]). comparand := comparand , {theNaN. anotherNaN}.
I ended up with a comparand filled with some nils. The problem vanished when I did recompile.
Unfortunately I saved the image before I had the idea to inspect the Bytecode and then could not reproduce the problem.
I suspect it is related to http://bugs.squeak.org/view.php?id=6720 . Does anyone experiment this kind of problem?
Nicolas