[BUG] Project loading crashes when a PopUpMenu is displayed

Ned Konz ned at bike-nomad.com
Sat Apr 13 19:47:33 UTC 2002


On Saturday 13 April 2002 11:59 am, stephane ducasse (home) wrote:
> Ned once I load the latest connector project if I want to resave it
> as projects, this fails.
> Have you the same behavior?

I loaded the project from BSS into a clean 4811 image. This worked OK.

I then told it to save the project. I had to tell it to store the 
change set and told it to go on when it warned about block contexts 
that referenced instance variables.

I then tried to re-load the project without closing the original image 
and it crashed.

So then I tried loading the image into a fresh image. It also crashed.

What happened is that it tried to pop up a menu saying that it 
couldn't find the project (this after it had alread loaded quite a 
bit of it), and then blew up. I got an EmergencyEvaluator.

The crash was apparently because the HTTPLoader>>startDownload process 
is not the UI process and it was trying to open a model PopUpMenu, 
which calls PasteUpMorph>>doOneSubCycle, from a non-UI thread. And 
there were already some step methods that were being executed, 
apparently.

But even if this were fixed, why is it complaining that it can't get 
the document?

Here's the crash stack:

---------------------------------------
Error: Attempt to evaluate a block that is already being evaluated.
13 April 2002 12:36:19 pm

VM: unix - Squeak3.2gamma of 15 January 2002 [latest update: #4811]
Image: Squeak3.2gamma [latest update: #4811]

BlockContext(Object)>>error:
	Receiver: [] in WorldState>>DoIt
	Arguments and temporary variables: 
		aString: 	'Attempt to evaluate a block that is already being 
evaluated.'
	Receiver's instance variables: 
		sender: 	Heap>>sorts:before:
		pc: 	14
		stackp: 	2
		nargs: 	2
		startpc: 	14
		home: 	WorldState>>DoIt

BlockContext>>valueWithArguments:
	Receiver: [] in WorldState>>DoIt
	Arguments and temporary variables: 
		anArray: 	#(a StepMessage (a PolygonMorph(854) #stepAt: nil) (a 
PolygonMorph(854...etc...
	Receiver's instance variables: 
		sender: 	Heap>>sorts:before:
		pc: 	14
		stackp: 	2
		nargs: 	2
		startpc: 	14
		home: 	WorldState>>DoIt

BlockContext>>value:value:
	Receiver: [] in WorldState>>DoIt
	Arguments and temporary variables: 
		arg1: 	a StepMessage (a PolygonMorph(854) #stepAt: nil) (a 
PolygonMorph(854) #st...etc...
		arg2: 	a StepMessage (a NCConnectorMorph<Transition>(2302) #stepAt: 
nil) (a NCCo...etc...
	Receiver's instance variables: 
		sender: 	Heap>>sorts:before:
		pc: 	14
		stackp: 	2
		nargs: 	2
		startpc: 	14
		home: 	WorldState>>DoIt

Heap>>sorts:before:
	Receiver: a Heap(a StepMessage (a NCLabelMorph(3028) #stepAt: nil) (a 
NCLabelMorph(3028) #stepAt: 93...etc...
	Arguments and temporary variables: 
		element1: 	a StepMessage (a PolygonMorph(854) #stepAt: nil) (a 
PolygonMorph(854)...etc...
		element2: 	a StepMessage (a NCConnectorMorph<Transition>(2302) 
#stepAt: nil) (a ...etc...
	Receiver's instance variables: 
		array: 	#(a StepMessage (a NCLabelMorph(3028) #stepAt: nil) (a 
NCLabelMorph(3028...etc...
		tally: 	34
		sortBlock: 	[] in WorldState>>DoIt

--- The rest of the stack ---
Heap>>downHeapSingle:
Heap>>privateRemoveAt:
Heap>>removeAt:
Heap>>removeFirst
WorldState>>runLocalStepMethodsIn:
WorldState>>runStepMethodsIn:
PasteUpMorph>>runStepMethods
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
WorldState>>doOneSubCycleFor:
PasteUpMorph>>doOneSubCycle
MVCMenuMorph>>invokeAt:in:allowKeyboard:
[] in PopUpMenu>>startUpWithCaption:at:allowKeyboard:
BlockContext>>ensure:
CursorWithMask(Cursor)>>showWhile:
PopUpMenu>>startUpWithCaption:at:allowKeyboard:
PopUpMenu>>startUpWithCaption:at:
PopUpMenu>>startUpWithCaption:
HTTPSocket class>>retry:asking:ifGiveUp:
HTTPSocket class>>httpGetDocument:args:accept:request:
HttpUrl>>retrieveContentsArgs:accept:
HttpUrl>>retrieveContentsArgs:
HttpUrl>>retrieveContents
HTTPRequest>>startRetrieval
[] in HTTPLoader>>startDownload
BlockContext>>on:do:
[] in HTTPLoader>>startDownload
[] in BlockContext>>newProcess

-- 
Ned Konz
http://bike-nomad.com
GPG key ID: BEEA7EFE




More information about the Squeak-dev mailing list