[BUG] Squeak 3.7 5988 Full - Object Catalog - Network DNU

Thomas A Petersen tpeterse at csc.com
Wed Sep 8 17:12:16 UTC 2004


Greetings fellow Squeakers

The   Squeak3.7-5988-full.image  looks really great!
The Smalltalk intro is excellent. Things appear to work very well.

However, I found a way to get a DNU that curious new users will stumble on
too easily:

1.  Open the image
2.  Click the blue widgets flap and drag out an Object Catalog
3.  Click the menu button labeled "Network"
4.  You will discover you can't dismiss the DNU, it comes right back. The
debug log suggests that there is nothing in the category.  So the container
is nil.
5.  Pick any other category button in the Object Catalog and then you will
be able to dismiss the DNU.

Hope this helps in improving things,
tap

P.S. Here is the SqueakDebug log.

---- begin log -------

Unwind error during termination
8 September 2004 1:07:06 pm

VM: Win32 - a SmalltalkImage
Image: Squeak3.7 [latest update: #5988]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir C:\Squeak
Trusted Dir C:\Squeak\tpeterse
Untrusted Dir C:\My Squeak\tpeterse

UndefinedObject(Object)>>doesNotUnderstand: #close
      Receiver: nil
      Arguments and temporary variables:
            aMessage:   close
      Receiver's instance variables:
nil
[] in IRCErrorLog class>>log:named: {[fStream close]}
      Arguments and temporary variables:
            aString:    'Tracing turned OFF'
            logName:    'TRACE'
            dir:  DosFileDirectory on 'C:\Squeak\irc\errors'
            fName:      'TRACE.txt'
            fStream:    nil

MethodContext(ContextPart)>>resume:
      Receiver: BlockContext>>on:do:
      Arguments and temporary variables:
            value:      Project
            ctxt:       BlockContext>>ensure:
            unwindBlock:      [] in IRCErrorLog class>>log:named: {[fStream
close]}
      Receiver's instance variables:
            sender:     nil
            pc:   nil
            stackp:     3
            method:     a CompiledMethod (1017)
            receiverMap:      nil
            receiver:   [] in ContextPart class>>contextOn:do: {[chain :=
thisContext sender ...etc...

BlockContext>>ensure:
      Receiver: [] in IRCErrorLog class>>log:named: {[fStream := self
logStreamNamed: fName existsIn: dir....etc...
      Arguments and temporary variables:
            aBlock:     nil
            returnValue:      nil
            b:    nil
      Receiver's instance variables:
            sender:     nil
            pc:   nil
            stackp:     0
            nargs:      0
            startpc:    50
            home:       IRCErrorLog class>>log:named:


--- The full stack ---
UndefinedObject(Object)>>doesNotUnderstand: #close
[] in IRCErrorLog class>>log:named: {[fStream close]}
MethodContext(ContextPart)>>resume:
BlockContext>>ensure:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IRCErrorLog class>>log:named:
IRCErrorLog class>>log:forClass:
IRCConnection class>>tracePrivate:
IRCConnection class>>tracing:
IRCConnection>>initialize
IRCConnection class(Behavior)>>new
IRCeMorph>>setupConnection
IRCeMorph>>initialize
IRCeMorph(Morph)>>initializeToStandAlone
IRCeMorph class(Morph class)>>newStandAlone
[] in PartsBin class>>thumbnailForQuad: {[formToThumbnail := (aQuint size
>= 5      and: [aQuint fifth notNil])     i...]}
Dictionary>>at:ifAbsent:
PartsBin class>>thumbnailForQuad:
[] in PartsBin>>listDirection:quadList: {[:tuple |  aClass := Smalltalk at:
tuple first.  aButton := IconicButton new...]}
SortedCollection(OrderedCollection)>>do:
PartsBin>>listDirection:quadList:
ObjectsTool>>installQuads:fromButton:
ObjectsTool>>showCategory:fromButton:
[] in SimpleButtonMorph>>doButtonAction {[target perform: actionSelector
withArguments: arguments]}
BlockContext>>ensure:
CursorWithMask(Cursor)>>showWhile:
SimpleButtonMorph>>doButtonAction
SimpleButtonMorph>>mouseDown:
SimpleButtonMorph(Morph)>>handleMouseDown:
MouseButtonEvent>>sentTo:
SimpleButtonMorph(Morph)>>handleEvent:
MorphicEventDispatcher>>dispatchMouseDown:with:
MorphicEventDispatcher>>dispatchEvent:with:
SimpleButtonMorph(Morph)>>processEvent:using:
MorphicEventDispatcher>>dispatchMouseDown:with:
MorphicEventDispatcher>>dispatchEvent:with:
AlignmentMorph(Morph)>>processEvent:using:
MorphicEventDispatcher>>dispatchMouseDown:with:
MorphicEventDispatcher>>dispatchEvent:with:
ObjectsTool(Morph)>>processEvent:using:
MorphicEventDispatcher>>dispatchMouseDown:with:
MorphicEventDispatcher>>dispatchEvent:with:
PasteUpMorph(Morph)>>processEvent:using:
PasteUpMorph>>processEvent:using:
PasteUpMorph(Morph)>>processEvent:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendMouseEvent:
HandMorph>>handleEvent:
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor: {[:h |  ActiveHand := h.  h
processEvents.  capturingGesture := capturingGest...]}
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in Project class>>spawnNewProcess {[[World doOneCycle.  Processor yield.
false] whileFalse.  nil]}
[] in BlockContext>>newProcess {[self value.  Processor terminateActive]}


---- end log ---------




More information about the Squeak-dev mailing list