[squeak-dev] Re: Bug in Method Finder dating from 3.8

Serge Stinckwich Serge.Stinckwich at gmail.com
Thu Jul 3 11:11:27 UTC 2008


Oscar Nierstrasz a écrit :
> 
> I found the source of the bug.
> 
> 1 . 1 . 2
> 
> will cause the MethodFinder to try:
> 
> 1 perform: #printStringBase: withArguments: #(1)
> 
> i.e., 1 printStringBase: 1
> 
> This generates an infinite loop within Integer>>printStringBase:
> 
> Integer>>printStringBase: should be corrected to complain if its 
> argument (base) is less than 2.
> 
> I tried the obvious "self assert: base > 1.", but the Method Finder does 
> not like this since it only catches Errors, not AssertionFailures, so 
> the fix is as follows:
> 
> Integer>>printStringBase: base
>     | stream integer next |
>     (base < 2) ifTrue: [Error signal: 'base must be >= 2'].
>     ... "rest as before"


Ok, thank you Oscar.
To follow, on the bug trackers :
- for Squeak : http://bugs.squeak.org/view.php?id=7107
- for Pharo : http://code.google.com/p/pharo/issues/detail?id=113

> I did not find any error in the example 'abc' . 'ab' .
> 

I have this error with the last image : sq3.10.2-7179dev08.07.1

--
Serge Stinckwich
http://blog.doesnotunderstand.org/




More information about the Squeak-dev mailing list