Bug when opening Transcript

sqrmax at cvtci.com.ar sqrmax at cvtci.com.ar
Wed Jun 3 19:55:17 UTC 1998


Hi.

I left a Transcript open while updating from the web... man... that was 
some experience! I left the text on it and minimized it.

I've just tried to open it up, it shows up but no text is visible and 
Squeak gets into an infinite loop or something of the sort. I can debug, but after 
that I can't do anything else other than crash Squeak (by closing it without 
saving) and load the image again.

So here's the debug.

A StandardSystemView(View) receives the message display, which eventually 
sends displaySubViews to itself. A PluggableTextView receives display, and it 
sends super diplay to itself. Eventually, the paragraph inside the 
PluggableTextView is ordered to display itself. The Paragraph finally decides to 
displayLines:affectedRectangle:. A DisplayScanner comes up and starts working to 
displayLines:in:clippedBy:. The last line of that message is a huge block sent 
as a parameter for a do:, and that is sent to anInterval (55 to: 71, in this 
case). The interval executes the block with parameter 55, and finally it 
reaches the last lines of the block, where it reads [done] whileFalse: [...].

Well, Squeak never gets out of there. because the stop conditions are never 
met. The variable stopCondition is fixed at endOfRun. When that is executed, 
there's a fast out check consisting on checking if lastIndex = line last. In 
this case, endOfRun would answer true and the forever lasting block would 
finish, and so everything would continue (well?). But lastIndex is 38 and line 
is (1573 to: 1573)... it looks as if it should also read

lastIndex < line first ifTrue: [^true].

But that makes the whole thing explode somewhere else (also a long debug 
list, that incredibly works because the interface itself is bugged).

Well, I won't open the Transcript for the moment.

Andres.





More information about the Squeak-dev mailing list