Compiler+Decompiler together have a serious 'bad case' bug

Klaus D. Witzel klaus.witzel at cobss.com
Sat Jul 22 21:37:07 UTC 2006


http://bugs.impara.de/view.php?id=2921

You can provoke the emergency console by having Decompiler fail with self  
error:'bad case' in #send:super:numargs.

The following trivial, innocent looking code snippet does it in 3.8 and  
3.9:

| x y |
  x := y := 0.
{'a'. 'b'. 'c'} do: [:c|
     (c string halt; endsWith: 'd')
         ifTrue: [x:= 1 + x]
         ifFalse: [y:= 1 + y]]

Strange, why should Decompiler be involved in a halt situation, and then,  
why should it refuse to decompile code?

/Klaus




More information about the Squeak-dev mailing list