BC + call/cc

Avi Bryant squeak-dev at lists.squeakfoundation.org
Sun Oct 27 23:51:48 UTC 2002


> Attached is a Continuation changeset for VI4.  It works, accept if you
> write to the Transcript it crashes the VM.  I will try to fix this
> tomorrow.
>
> Cheers,
> Anthony

Anthony,

Cool, thanks for helping with this.  Note that I get a segfault if I try
to resume a continuation with a SmallInteger parameter.

I tried filing in your Continuation class and running Seaside, but I
quickly got the appened walkback (in a flashing notifier as if they were
being continuously generated, with no response from the UI).
Unfortunately the #forkAndWait makes it hard for me to isolate where in my
code this is happening.  Does the walkback tell you anything by itself?

MethodContext2 errorCannotCopyContext?
27 October 2002 4:48:33 pm

VM: unix - Squeak3.2 of 11 July 2002[VI4] [latest update: #4956]
Image: Squeak3.2[VI4] [latest update: #4956]

39 MessageNotUnderstood(Exception)>>signal
	Receiver: MethodContext2 errorCannotCopyContext?
	Arguments and temporary variables:

	Receiver's instance variables:
		messageText: 	nil
		initialContext: 	39
MessageNotUnderstood(Exception)>>signal
		handlerContext: 	39
MessageNotUnderstood(Exception)>>signal
		message: 	errorCannotCopyContext
		receiver: 	145 Error(Exception)>>executeNextHandler

36 MethodContext2(Object)>>doesNotUnderstand: errorCannotCopyContext
	Receiver: 145 Error(Exception)>>executeNextHandler
	Arguments and temporary variables:
		aMessage: 	errorCannotCopyContext
	Receiver's instance variables:
		thread: 	a SuspendedProcess in 188
BlockClosure>>forkAndWait
		fpCode: 	-536870622
		method: 	a CompiledMethod2 (2883)
		prevActiveContext: 	142 Error(Exception)>>signal
		contextTag: 	nil

32 MethodContext2>>privForNewThread:
	Receiver: 145 Error(Exception)>>executeNextHandler
	Arguments and temporary variables:
		process: 	a SuspendedProcess in 188
BlockClosure>>forkAndWait
	Receiver's instance variables:
		thread: 	a SuspendedProcess in 188
BlockClosure>>forkAndWait
		fpCode: 	-536870622
		method: 	a CompiledMethod2 (2883)
		prevActiveContext: 	142 Error(Exception)>>signal
		contextTag: 	nil

28 MethodContext2>>privForNewThread:
	Receiver: 172 WASession>>respond:withReturnValue:
	Arguments and temporary variables:
		process: 	a SuspendedProcess in 188
BlockClosure>>forkAndWait
	Receiver's instance variables:
		thread: 	a SuspendedProcess in 188
BlockClosure>>forkAndWait
		fpCode: 	344
		method: 	a CompiledMethod2 (1368)
		prevActiveContext: 	145
Error(Exception)>>executeNextHandler
		contextTag: 	a ContextTag

--- The rest of the stack ---
24 MethodContext2>>privForNewThread:
20 SuspendedProcess>>postCopy
17 SuspendedProcess>>copy
14 []
11 BlockClosure>>ensure:
7 []
4 []





More information about the Squeak-dev mailing list