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