Christine Wolfe wrote:
Hi Andreas,

Thank you for responding.

Thanks for providing the info ;-)

Here's what I just did to try to figure it out:

I deleted my old log.
I restarted my computer.
I opened my image at 4:14
I opened the browser
At 4:16 I got the emergency evaluator.

Here is the new dump:

It looks like the problem is caused by the invalid clipping rectangle here:

>            clipRect:       0...@1073772165 corner: 3...@1010

but it's completely unclear to me how we'd end up with a clipping rectangle like this. Are you perhaps using a multi-monitor setup or some sort of virtual desktop software? If so, can you try to see if the same thing happens when you run Squeak on the primary display? Or is Squeak minimized when the problem occurs?

Also, when the error happens, can you go back into the emergency evaluator, and print out the result of the following expressions:

  World bounds.
  Display extent.
  DisplayScreen actualScreenSize.

This should tell us a little more about the issue.

Cheers,
  - Andreas



Error: Error: a primitive has failed
31 October 2009 4:16:10 pm

VM: Win32 - a SmalltalkImage
Image: Squeak3.10.2 [latest update: #7179]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir C:\Users\Christine\Documents\01OhioU\01EDCT\EDCT 793C Fall
09\Squeak\Squeak3.10.2-7179
Trusted Dir C:\Users\Christine\Documents\01OhioU\01EDCT\EDCT 793C Fall
09\Squeak\Squeak3.10.2-7179\Christine
Untrusted Dir C:\My Squeak\Christine

BalloonEngine(Object)>>error:
        Receiver: a BalloonEngine
Arguments and temporary variables: aString: 'Error: a primitive has failed' Receiver's instance variables: workBuffer: a BalloonBuffer
                span:   a Bitmap of length 2048
                bitBlt:         a GrafPort
                forms:  #()
                clipRect:       0...@1073772165 corner: 3...@1010
                destOffset:     0...@0
                externals:      an OrderedCollection()
                aaLevel:        1
                edgeTransform:  nil
                colorTransform:         nil
                deferred:       false
                postFlushNeeded:        nil

[] in WorldState>>displayWorldSafely: {[:err :rcvr |  errCtx := thisContext.
[errCtx := errCtx sender.  [errCtx no...]}
Arguments and temporary variables: aWorld: a PasteUpMorph(1622) [world]
                err:    'Error: a primitive has failed'
                rcvr:   a BalloonEngine
                errCtx:         PasteUpMorph(Morph)>>drawOn:
                errMorph:       a PasteUpMorph(1622) [world]

BlockContext>>valueWithPossibleArgs:
        Receiver: [] in WorldState>>displayWorldSafely: {[:err :rcvr |
errCtx := thisContext.  [errCtx := e...etc...
Arguments and temporary variables: anArray: an Array('Error: a primitive has failed' a
BalloonEngine)
Receiver's instance variables: sender: BlockContext>>valueWithPossibleArgs:
                pc:     121
                stackp:         0
                nargs:  2
                startpc:        74
                home:   WorldState>>displayWorldSafely:

[] in BlockContext>>ifError: {[:ex | errorHandlerBlock
valueWithPossibleArgs: {ex description. ex receiver}]}
Arguments and temporary variables: errorHandlerBlock: [] in
WorldState>>displayWorldSafely: {[:err :rcvr |  errCtx...etc...
                ex:     Error: a primitive has failed


--- The full stack ---
BalloonEngine(Object)>>error:
[] in WorldState>>displayWorldSafely: {[:err :rcvr |  errCtx := thisContext.
[errCtx := errCtx sender.  [errCtx no...]}
BlockContext>>valueWithPossibleArgs:
[] in BlockContext>>ifError: {[:ex | errorHandlerBlock
valueWithPossibleArgs: {ex description. ex receiver}]}
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BlockContext>>valueWithPossibleArgs:
[] in MethodContext(ContextPart)>>handleSignal: {[(self tempAt: 2)
valueWithPossibleArgs: {exception}]}
BlockContext>>ensure:
MethodContext(ContextPart)>>handleSignal:
Error(Exception)>>signal
Error(Exception)>>signal:
BalloonEngine(Object)>>error:
BalloonEngine(Object)>>primitiveFailed
BalloonEngine>>primSetClipRect:
BalloonEngine>>reset
BalloonEngine>>resetIfNeeded
BalloonEngine>>drawRectangle:fill:borderWidth:borderColor:transform:
BalloonCanvas>>drawRectangle:color:borderWidth:borderColor:
BalloonCanvas>>fillRectangle:fillStyle:
FormCanvas>>balloonFillRectangle:fillStyle:
FormCanvas>>fillRectangle:fillStyle:
FormCanvas(Canvas)>>fillRectangle:fillStyle:borderStyle:
PasteUpMorph(Morph)>>drawOn:
PasteUpMorph>>drawOn:
[] in WorldState>>drawWorld:submorphs:invalidAreasOn: {[:r |  rectToFill :=
r.  i := 1.  [rectToFill isNil   or: [i > n]]   whileFa...]}
Rectangle>>allAreasOutsideList:startingAt:do:
Rectangle>>allAreasOutsideList:do:
[] in WorldState>>drawWorld:submorphs:invalidAreasOn: {[:dirtyRect |
dirtyRect   allAreasOutsideList: validList   do: [:r |     rec...]}
Array(SequenceableCollection)>>do:
WorldState>>drawWorld:submorphs:invalidAreasOn:
[] in WorldState>>displayWorld:submorphs: {[worldDamageRects := self
drawWorld: aWorld     submorphs: submorphs    ...]}
FormCanvas>>roundCornersOf:in:during:
FormCanvas(Canvas)>>roundCornersOf:during:
WorldState>>displayWorld:submorphs:
PasteUpMorph>>privateOuterDisplayWorld
PasteUpMorph>>displayWorld
[] in WorldState>>displayWorldSafely: {[aWorld displayWorld]}
BlockContext>>on:do:
BlockContext>>ifError:
WorldState>>displayWorldSafely:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in Project class>>spawnNewProcess {[[World doOneCycle.  Processor yield.
false] whileFalse.  nil]}
[] in BlockContext>>newProcess {[self value.  Processor terminateActive]}


-----Original Message-----
From: beginners-boun...@lists.squeakfoundation.org
[mailto:beginners-boun...@lists.squeakfoundation.org] On Behalf Of Andreas
Raab
Sent: Saturday, October 31, 2009 4:13 PM
To: A friendly place to get answers to even the most basic questions about
Squeak.
Subject: [Newbies] Re: Vista compatibility

Christine Wolfe wrote:
I am using Squeak on a Vista PC. When I have Squeak open and switch to another window, after about 2 minutes, Squeak crashes and brings up the Emergency Evaluator. The information in the evaluator dump doesn't reference any of my code but I realize it still could have been something I was running that triggered it. This happens when I have my System browser open and it doesn't matter whether or not I have any morphs displayed in world. I haven't tried switching with the System browser closed. Has anyone else had this trouble? The error message at the top of the Emergency Evaluator stack is: "Error: a primitive has failed."

Interesting. Do you get a SqueakDebug.log when this happens? Usually, the emergency evaluator pops up when there is an error inside the error handling but there is a chance that the SqueakDebug.log has already been written at this point. If you can find it, please send it.

Cheers,
   - Adnreas
_______________________________________________
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners

_______________________________________________
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners

Reply via email to