Hi Andreas,
I decided to try it again with the old image after I sent this reply and true to form it crashed at 2 mins.
I noticed that it tried to open the debug window right before the Emergency Evaluator popped up.
Here are the results of the expressions you asked me to get:
World bounds. 0@0 courner: 1096@1010 Display extent. 1096@1010 DisplayScreen actualScreenSize. 1096@1010
So far so good on the "clean" image....
____________________________________________________________________
Wow! I'm impressed that you could make sense of all that!
I'm not using a dual monitor setup or anything unusual as far as I am aware. During my last test - the one that produced the dump, I had the squeak window neither minimized nor maximized.
Here's what I've done since we last talked. In the 2 min window after starting up my image, I did a FileOut of my project. Then I opened a new image and did a FileIn. It's been 7 minutes and so far I'm not having a problem with the new image. Keep your fingers crossed for me.
Christine
-----Original Message----- From: beginners-bounces@lists.squeakfoundation.org [mailto:beginners-bounces@lists.squeakfoundation.org] On Behalf Of Andreas Raab Sent: Saturday, October 31, 2009 4:40 PM To: A friendly place to get answers to even the most basic questions about Squeak. Subject: [Newbies] Re: Vista compatibility
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: 30@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: 30@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-bounces@lists.squeakfoundation.org [mailto:beginners-bounces@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