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
|