[Newbies] Re: Vista compatibility

Andreas Raab andreas.raab at gmx.de
Sat Oct 31 20:39:30 UTC 2009


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 at 1073772165 corner: 30 at 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 at 1073772165 corner: 30 at 1010
> 		destOffset: 	0 at 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 at lists.squeakfoundation.org
> [mailto:beginners-bounces at 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 at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners



More information about the Beginners mailing list