[Glass] callbackMarker not found in Seaside stack

Otto Behrens otto at finworks.biz
Mon May 19 08:19:45 PDT 2014


I attach the full working and broken stacks.

I also cut some stuff out and commented in both (the _snipped_ versions).

On Mon, May 19, 2014 at 4:31 PM, Dale Henrichs
<dale.henrichs at gemtalksystems.com> wrote:
> Otto,
>
> While I refresh my continuation skilz:), could you send me some stacks
> (don't need args)?
>
> I'd like to see the full stack for the good callback and the full stack for
> the bad callback ... I'm also interested in the seaside methods where the
> callbacks are being created ... method source and an example call stack for
> the method would help ...
>
> We're creating partial continuations, so it's probable that the bug is
> introduced a callback creation time, so a picture of the stack at that time
> will be useful .. at the end of the day, I will probably need to be able to
> reproduce the problem so that I can get my hands on it in a c debugger...
>
> Dale
>
>
> On Mon, May 19, 2014 at 7:02 AM, Otto Behrens <otto at finworks.biz> wrote:
>>
>> Hi,
>>
>> We have a GemStone database (3.1.0.5) that apparently misbehaves in
>> seaside callback processing. Has anyone encountered something like
>> this? We'll appreciate the help we can get.
>>
>> We are processing callbacks as the following method is on the stack:
>>
>> WACallbackRegistry >> handle: aRequestContext
>>
>> The method calls evaluateWithFieldValues: on each callback:
>> ...
>> set sorted do: [ :callback | callback evaluateWithFieldValues: (fields
>> allAt: callback key) ]
>> ...
>>
>> In a database that behaves, the previous stack frame (n - 1) is
>>
>> WACallback >> evaluateWithFieldValues:
>>
>> and the one prior to that is:
>>
>> GSNMethod class >> _noopReturnTos
>>
>> The subequent stack list appears fine, evaluating the callback block, etc.
>>
>> In another database that breaks,
>>
>> WACallback >> evaluateWithFieldValues:
>>
>> is not on the stack. WACallbackRegistry >> handle: is directly
>> preceded by GSNMethod class >> _noopReturnTos. This causes the method
>>
>> GRGemStonePlatform >> callbackMarker
>>
>> which searches for the WACallback frame on the stack to return nil,
>> which means that call: or answer: breaks with 'You can only #call: and
>> #answer: from within a callback or a Task.'. We are in a callback
>> phase and we know that WACallback >> evaluateWithFieldValues: is
>> called, but somehow it is not on the stack.
>>
>> It may be a compiler optimisation or something like that. In that
>> case, the algorithm in #callbackMarker cannot reliably work, unless
>> there's a way to force a class or method to be on the stack if it is
>> called.
>>
>> Thanks
>> Otto & Iwan
>> _______________________________________________
>> Glass mailing list
>> Glass at lists.gemtalksystems.com
>> http://lists.gemtalksystems.com/mailman/listinfo/glass
>
>
-------------- next part --------------
[1] GRGemStonePlatform >> seasideSuspendFlowDo: (envId 0)
	aBlock: anExecBlock
	marker: nil
	self: aGRGemStonePlatform
	.t1: aGRGemStonePlatform
	receiver: aGRGemStonePlatform
[2] WAComponent >> wait: (envId 0)
	aBlock: anExecBlock
	receiver: aWonkaContainerComponent
[3] WAComponent >> inform: (envId 0)
	aString: 'No interest rates loaded for:  new set on: 2005/05/13'
	self: aWonkaContainerComponent
	receiver: aWonkaContainerComponent
[4] [] in  Investment >> matchComponent: (envId 0)
	err: No interest rates loaded for:  new set on: 2005/05/13
	aComponent: aWonkaContainerComponent
	receiver: Investment in progress
[5] AbstractException >> _executeHandler: (envId 0)
	aBlock: anExecBlock
	res: nil
	.t1: anExecBlock
	.t2: No interest rates loaded for:  new set on: 2005/05/13
	receiver: No interest rates loaded for:  new set on: 2005/05/13
[6] AbstractException >> _signalWith: (envId 0)
	handleInCextensionBool: nil
	receiver: No interest rates loaded for:  new set on: 2005/05/13
[7] AbstractException >> signal: (envId 0)
	signalText: 'No interest rates loaded for:  new set on: 2005/05/13'
	receiver: No interest rates loaded for:  new set on: 2005/05/13
[8] AbstractException class >> signal: (envId 0)
	signalText: 'No interest rates loaded for:  new set on: 2005/05/13'
	receiver: ValidateError
[9] [] in  InterestRateSet >> rateOn: (envId 0)
	aDate: 2005/05/13
	self: a InterestRateSet
	receiver: a InterestRateSet
[10] SequenceableCollection >> detect:ifNone: (envId 0)
	aBlock: anExecBlock
	exceptionBlock: anExecBlock0
	i: nil
	.t1: anExecBlock0
	receiver: anOrderedCollection( )
[11] InterestRateSet >> rateOn: (envId 0)
	aDate: 2005/05/13
	rate: nil
	self: a InterestRateSet
	.t1: anOrderedCollection( )
	.t2: anExecBlock
	.t3: anExecBlock0
	receiver: a InterestRateSet
[12] InterestRateSet >> interestOnAmount:forDate: (envId 0)
	anAmount: A$ 300.00
	workDate: 2005/05/13
	receiver: a InterestRateSet
[13] InterestRateSet >> calculateInterestforAmount:from:upToExcluding: (envId 0)
	anAmount: A$ 300.00
	fromDate: 2005/05/13
	toDate: 2005/05/17
	workDate: 2005/05/13
	total: A$ 0.00
	.t1: 2005/05/13
	.t2: A$ 0.00
	.t3: a InterestRateSet
	.t4: A$ 300.00
	.t5: 2005/05/13
	receiver: a InterestRateSet
[14] Contribution >> calculatedInterest (envId 0)
	receiver: Buy COR01 100.00%; 
[15] Contribution >> interest (envId 0)
	receiver: Buy COR01 100.00%; 
[16] [] in  Instruction >> interestTotalOfContributions (envId 0)
	contribution: Buy COR01 100.00%; 
	receiver: nil
[17] [] in  Collection >> sum:convertingToCurrency: (envId 0)
	element: Buy COR01 100.00%; 
	aCurrency: AUD
	aBlock: anExecBlock1
	receiver: nil
[18] [] in  Collection >> sumStartingWith:do: (envId 0)
	sum: A$ 0.00
	element: Buy COR01 100.00%; 
	aBlock: anExecBlock1
	receiver: nil
[19] [] in  Collection >> inject:into: (envId 0)
	element: Buy COR01 100.00%; 
	val: A$ 0.00
	aBlock: anExecBlock2
	receiver: nil
[20] Collection >> do: (envId 0)
	aBlock: anExecBlock1
	i: 1
	.t1: 1
	.t2: 1
	.t3: anExecBlock1
	.t4: Buy COR01 100.00%; 
	receiver: anOrderedCollection( Buy COR01 100.00%; )
[21] Collection >> inject:into: (envId 0)
	aValue: A$ 0.00
	aBlock: anExecBlock2
	val: A$ 0.00
	receiver: anOrderedCollection( Buy COR01 100.00%; )
[22] Collection >> sumStartingWith:do: (envId 0)
	zeroValue: A$ 0.00
	aBlock: anExecBlock1
	receiver: anOrderedCollection( Buy COR01 100.00%; )
[23] Collection >> sum:inCurrency: (envId 0)
	aBlock: anExecBlock1
	aCurrency: AUD
	receiver: anOrderedCollection( Buy COR01 100.00%; )
[24] Collection >> sum:convertingToCurrency: (envId 0)
	aBlock: anExecBlock1
	aCurrency: AUD
	aCurrency: AUD
	receiver: anOrderedCollection( Buy COR01 100.00%; )
[25] Instruction >> interestTotalOfContributions (envId 0)
	receiver: Investment in progress
[26] Instruction >> interest (envId 0)
	receiver: Investment in progress
[27] OverrideInterestOnInstruction >> instruction: (envId 0)
	anInstruction: Investment in progress
	receiver: a OverrideInterestOnInstruction
[28] Instruction >> overrideInterestWithRate (envId 0)
	receiver: Investment in progress
[29] MASelectorAccessor >> read: (envId 0)
	aModel: Investment in progress
	receiver: (MASelectorAccessor read: #'overrideInterestWithRate' write: #'overrideInterestWithRate:')
[30] Object >> readUsing: (envId 0)
	aDescription: aMAToOneRelationDescription label: 'Interest' comment: nil
	receiver: Investment in progress
[31] [] in  MAMemento >> pullRaw (envId 0)
	each: aMAToOneRelationDescription label: 'Interest' comment: nil
	self: aWonkaMemento model: a Investment
	result: aDictionary( aMAStringDescription label: 'Status' comment: nil->'Submitted', aMAStringDescription label: 'Debit Order Status' comment: nil->'Deposit', aMAStringDescription label: 'Date submitted' comment: nil->2005/05/13 14:15, aMALinkDescription label: 'Portfolio' comment: nil->'My Discretionary', aPercentageDescription label: 'Initial platform fee (%) (VAT excl)' comment: nil->a OverrideFeeRatePercentage, aMAStringDescription label: 'Confirmation upload message' comment: nil->nil, aMAStringDescription label: 'Date invested' comment: nil->'', aMAStringDescription label: 'Created on' comment: nil->'2005/05/13', aMADatePickerDescription label: 'Deposit date' comment: nil->'', aMAStringDescription label: 'Investor' comment: nil->'ivan, liliana', ...)
	receiver: aWonkaMemento model: a Investment
[32] Collection >> do: (envId 0)
	aBlock: anExecBlock1
	i: 16
	.t1: 40
	.t2: 16
	.t3: anExecBlock1
	.t4: aMAToOneRelationDescription label: 'Interest' comment: nil
	receiver: aSortedCollection( aMAStringDescription label: 'Status' comment: nil, aMAStringDescription label: 'Debit Order Status' comment: nil, aMAStringDescription label: 'Created on' comment: nil, aMASingleOptionDescription label: 'Received via' comment: nil, aMATimeStampDescription label: 'Date and time received' comment: nil, aMAStringDescription label: 'Date submitted' comment: nil, aMAStringDescription label: 'Date authorised' comment: nil, aMAStringDescription label: 'Date invested' comment: nil, aMAStringDescription label: 'Investor' comment: nil, aMADatePickerDescription label: 'Deposit date' comment: nil, aMALinkDescription label: 'Portfolio' comment: nil, aMAStringDescription label: 'Instruction type' comment: nil, ...)
[33] MAContainer >> do: (envId 0)
	aBlock: anExecBlock1
	receiver: aMAPriorityContainer label: 'Investment' comment: nil
[34] MAMemento >> pullRaw (envId 0)
	self: aWonkaMemento model: a Investment
	result: aDictionary( aMAStringDescription label: 'Status' comment: nil->'Submitted', aMAStringDescription label: 'Debit Order Status' comment: nil->'Deposit', aMAStringDescription label: 'Date submitted' comment: nil->2005/05/13 14:15, aMALinkDescription label: 'Portfolio' comment: nil->'My Discretionary', aPercentageDescription label: 'Initial platform fee (%) (VAT excl)' comment: nil->a OverrideFeeRatePercentage, aMAStringDescription label: 'Confirmation upload message' comment: nil->nil, aMAStringDescription label: 'Date invested' comment: nil->'', aMAStringDescription label: 'Created on' comment: nil->'2005/05/13', aMADatePickerDescription label: 'Deposit date' comment: nil->'', aMAStringDescription label: 'Investor' comment: nil->'ivan, liliana', ...)
	receiver: aWonkaMemento model: a Investment
[35] MAMemento >> pull (envId 0)
	result: nil
	receiver: aWonkaMemento model: a Investment
[36] MACachedMemento >> reset (envId 0)
	receiver: aWonkaMemento model: a Investment
[37] MACheckedMemento >> reset (envId 0)
	receiver: aWonkaMemento model: a Investment
[38] [] in  MAContainerComponent >> reset (envId 0)
	each: aWonkaContainerComponent
	receiver: nil
[39] MAContainerComponent >> withContainersDo:in: (envId 0)
	aBlock: anExecBlock1
	aComponent: aWonkaContainerComponent
	self: aWonkaContainerComponent
	aBlock: anExecBlock1
	receiver: aWonkaContainerComponent
[40] MAContainerComponent >> withContainersDo: (envId 0)
	aBlock: anExecBlock1
	receiver: aWonkaContainerComponent
[41] MAContainerComponent >> reset (envId 0)
	receiver: aWonkaContainerComponent
[42] [] in  Investment >> matchComponent: (envId 0)
	aComponent: aWonkaContainerComponent
	self: Investment in progress
	receiver: Investment in progress
[43] ExecBlock >> on:do: (envId 0)
	exceptionSelector: ValidateError
	handlerBlock: anExecBlock
	fastPath: true
	.t1: anExecBlock
	receiver: Investment in progress
[44] Investment >> matchComponent: (envId 0)
	aComponent: aWonkaContainerComponent
	self: Investment in progress
	receiver: Investment in progress
[45] [] in  Investment >> matchBankEntryCallbackForComponent: (envId 0)
	aComponent: aWonkaContainerComponent
	self: Investment in progress
	receiver: Investment in progress
[46] Instruction >> saveComponent:ifValidDo: (envId 0)
	aComponent: aWonkaContainerComponent
	doBlock: anExecBlock
	oldInstruction: Investment in progress
	.t1: anExecBlock
	receiver: Investment in progress
[47] Investment >> matchBankEntryCallbackForComponent: (envId 0)
	aComponent: aWonkaContainerComponent
	selectedPaymentMethod: #'Electronic/Internet Transfer'
	self: Investment in progress
	aComponent: aWonkaContainerComponent
	.t1: Investment in progress
	.t2: aWonkaContainerComponent
	.t3: anExecBlock
	receiver: Investment in progress
[48] FinePrintFormDecoration >> performAction:selector: (envId 0)
	actionName: #'matchBankEntry'
	callbackSelector: #'matchBankEntryCallbackForComponent:'
	receiver: aFinePrintFormForInvestment
[49] [] in  FinePrintFormDecoration >> printButton:on: (envId 0)
	each: #'matchBankEntry'->#'matchBankEntryCallbackForComponent:'
	self: aFinePrintFormForInvestment
	receiver: aFinePrintFormForInvestment
[50] ExecBlock >> valueWithPossibleArguments: (envId 0)
	anArray: anArray( 'Match Bank Entry')
	args: nil
	n: 0
	.t1: nil
	.t2: anExecBlock0
	receiver: aFinePrintFormForInvestment
[51] GsNMethod class >> _noopReturnTos (envId 0)
	receiver: GsNMethod
[52] WACallback >> evaluateWithFieldValues: (envId 0)
	anOrderedCollection: anArray( 'Match')
	receiver: aWAActionCallback
[53] [] in  WACallbackRegistry >> handle: (envId 0)
	callback: aWAActionCallback
	fields: aWAMergedRequestFields
	receiver: aWACallbackRegistry
[54] Collection >> do: (envId 0)
	aBlock: anExecBlock1
	i: 10
	.t1: 10
	.t2: 10
	.t3: anExecBlock1
	.t4: aWAActionCallback
	receiver: anArray( aWAValueCallback, aWAValueCallback, aWAValueCallback, aWAValueCallback, aWAValueCallback, aWAValueCallback, aWADispatchCallback, aWAValueCallback, aWAValueCallback, aWAActionCallback)
[55] WACallbackRegistry >> handle: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	self: aWACallbackRegistry
	fields: aWAMergedRequestFields
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	set: aSet( aWAValueCallback, aWAValueCallback, aWAValueCallback, aWAValueCallback, aWAValueCallback, aWAValueCallback, aWADispatchCallback, aWAActionCallback, aWAValueCallback, aWAValueCallback)
	receiver: aWACallbackRegistry
[56] [] in  WAActionPhaseContinuation >> runCallbacks (envId 0)
	self: aWAActionPhaseContinuation
	receiver: aWAActionPhaseContinuation
[57] ExecBlock >> onException:do: (envId 0)
	anException: AbstractException
	handlerBlock: anExecBlock1
	receiver: aWAActionPhaseContinuation
[58] ExecBlock >> on:do: (envId 0)
	exceptionSelector: aFinWorksHaltOnErrorHandler
	handlerBlock: anExecBlock
	fastPath: nil
	.t1: anExecBlock0
	.t2: AbstractException
	.t3: anExecBlock1
	receiver: aWAActionPhaseContinuation
[59] WAExceptionHandler >> handleExceptionsDuring: (envId 0)
	aBlock: anExecBlock0
	self: aFinWorksHaltOnErrorHandler
	receiver: aFinWorksHaltOnErrorHandler
[60] [] in  WARenderLoopContinuation >> withNotificationHandlerDo: (envId 0)
	aBlock: anExecBlock0
	currentHandler: aFinWorksHaltOnErrorHandler
	receiver: nil
[61] ExecBlock >> on:do: (envId 0)
	exceptionSelector: WARenderNotification
	handlerBlock: anExecBlock1
	fastPath: true
	.t1: anExecBlock0
	receiver: nil
[62] WARenderLoopContinuation >> withNotificationHandlerDo: (envId 0)
	aBlock: anExecBlock0
	currentHandler: aFinWorksHaltOnErrorHandler
	receiver: aWAActionPhaseContinuation
[63] [] in  WAActionPhaseContinuation >> runCallbacks (envId 0)
	self: aWAActionPhaseContinuation
	receiver: aWAActionPhaseContinuation
[64] ExecBlock >> ensure: (envId 0)
	aBlock: anExecBlock
	result: nil
	.t1: anExecBlock0
	receiver: aWAActionPhaseContinuation
[65] WAActionPhaseContinuation >> runCallbacks (envId 0)
	self: aWAActionPhaseContinuation
	receiver: aWAActionPhaseContinuation
[66] WAActionPhaseContinuation >> handleRequest (envId 0)
	receiver: aWAActionPhaseContinuation
[67] [] in  WASessionContinuation >> basicValue (envId 0)
	self: aWAActionPhaseContinuation
	receiver: aWAActionPhaseContinuation
[68] ExecBlock >> on:do: (envId 0)
	exceptionSelector: WAUnregisteredHandlerError
	handlerBlock: anExecBlock
	fastPath: true
	.t1: anExecBlock0
	receiver: aWAActionPhaseContinuation
[69] WASessionContinuation >> withUnregisteredHandlerDo: (envId 0)
	aBlock: anExecBlock0
	receiver: aWAActionPhaseContinuation
[70] WASessionContinuation >> basicValue (envId 0)
	self: aWAActionPhaseContinuation
	receiver: aWAActionPhaseContinuation
[71] WASessionContinuation >> value (envId 0)
	receiver: aWAActionPhaseContinuation
[72] WASession >> handleFiltered: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	continuation: aWAActionPhaseContinuation
	key: 'YJJAq9K-B3rK2h66'
	self: aFinworksSession
	.t1: aWAActionPhaseContinuation
	.t2: aWAActionPhaseContinuation
	receiver: aFinworksSession
[73] FinworksSession >> handleFiltered: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	receiver: aFinworksSession
[74] WARequestFilter >> handleFiltered: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	receiver: aWADeprecatedToolFilter
[75] [] in  WADeprecatedToolFilter >> handleFiltered: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	self: aWADeprecatedToolFilter
	receiver: aWADeprecatedToolFilter
[76] ExecBlock >> on:do: (envId 0)
	exceptionSelector: GRDeprecatedApiNotification
	handlerBlock: anExecBlock
	fastPath: true
	.t1: anExecBlock0
	receiver: aWADeprecatedToolFilter
[77] WADeprecatedToolFilter >> handleFiltered: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	self: aWADeprecatedToolFilter
	receiver: aWADeprecatedToolFilter
[78] WARequestFilter >> handleFiltered: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	receiver: aWATimingToolFilter
[79] [] in  WATimingToolFilter >> handleFiltered: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	self: aWATimingToolFilter
	receiver: aWATimingToolFilter
[80] ExecBlock >> ensure: (envId 0)
	aBlock: anExecBlock
	result: nil
	.t1: anExecBlock0
	receiver: aWATimingToolFilter
[81] WATimingToolFilter >> handleFiltered: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	self: aWATimingToolFilter
	receiver: aWATimingToolFilter
[82] [] in  WARequestHandler >> handle: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	self: aFinworksSession
	receiver: aFinworksSession
[83] ExecBlock >> on:do: (envId 0)
	exceptionSelector: LoggedInUserContext
	handlerBlock: anExecBlock1
	fastPath: true
	.t1: anExecBlock0
	receiver: aFinworksSession
[84] WADynamicVariable class >> use:during: (envId 0)
	anObject: aFinworksSession
	aBlock: anExecBlock0
	receiver: LoggedInUserContext
[85] [] in  WACurrentRequestContext class >> use:during: (envId 0)
	session: aFinworksSession
	aBlock: anExecBlock0
	receiver: nil
[86] Object >> ifNotNilDo:ifNil: (envId 0)
	aBlock: anExecBlock1
	nilBlock: anExecBlock
	receiver: aFinworksSession
[87] [] in  WACurrentRequestContext class >> use:during: (envId 0)
	anObject: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	receiver: nil
[88] ExecBlock >> on:do: (envId 0)
	exceptionSelector: WACurrentRequestContext
	handlerBlock: anExecBlock1
	fastPath: true
	.t1: anExecBlock0
	receiver: nil
[89] WADynamicVariable class >> use:during: (envId 0)
	anObject: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	aBlock: anExecBlock0
	receiver: WACurrentRequestContext
[90] WACurrentRequestContext class >> use:during: (envId 0)
	anObject: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	aBlock: anExecBlock0
	anObject: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	receiver: WACurrentRequestContext
[91] [] in  WARequestContext >> push:during: (envId 0)
	aBlock: anExecBlock0
	self: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	receiver: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
[92] ExecBlock >> ensure: (envId 0)
	aBlock: anExecBlock
	result: nil
	.t1: anExecBlock0
	receiver: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
[93] WARequestContext >> push:during: (envId 0)
	aRequestHandler: aFinworksSession
	aBlock: anExecBlock0
	self: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	receiver: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
[94] WARequestHandler >> handle: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	self: aFinworksSession
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	receiver: aFinworksSession
[95] WASession >> handle: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	result: 1
	.t1: aFinworksSession
	.t2: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	receiver: aFinworksSession
[96] WARegistry >> dispatch:to: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	aRequestHandler: aFinworksSession
	receiver: aFwSeleniumTestApplication
[97] WARegistry >> handleKeyed:with: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	aRequestHandler: aFinworksSession
	receiver: aFwSeleniumTestApplication
[98] WARegistry >> handleFiltered: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	handler: aFinworksSession
	key: 'xmQN876r8WKhg-TK'
	cookie: nil
	urlKey: 'xmQN876r8WKhg-TK'
	.t1: aFwSeleniumTestApplication
	.t2: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	.t3: aFinworksSession
	receiver: aFwSeleniumTestApplication
[99] WAApplication >> handleFiltered: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	receiver: aFwSeleniumTestApplication
[100] WARequestFilter >> handleFiltered: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	receiver: aWAExceptionFilter
[101] [] in  WAExceptionFilter >> handleFiltered: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	self: aWAExceptionFilter
	receiver: aWAExceptionFilter
[102] ExecBlock >> on:do: (envId 0)
	exceptionSelector: WACurrentExceptionHandler
	handlerBlock: anExecBlock1
	fastPath: true
	.t1: anExecBlock0
	receiver: aWAExceptionFilter
[103] WADynamicVariable class >> use:during: (envId 0)
	anObject: aFinWorksHaltOnErrorHandler
	aBlock: anExecBlock0
	receiver: WACurrentExceptionHandler
[104] [] in  WAExceptionFilter >> handleFiltered: (envId 0)
	handler: aFinWorksHaltOnErrorHandler
	receiver: aWAExceptionFilter
[105] ExecBlock >> onException:do: (envId 0)
	anException: AbstractException
	handlerBlock: anExecBlock1
	receiver: aWAExceptionFilter
[106] ExecBlock >> on:do: (envId 0)
	exceptionSelector: aFinWorksHaltOnErrorHandler
	handlerBlock: anExecBlock
	fastPath: nil
	.t1: anExecBlock0
	.t2: AbstractException
	.t3: anExecBlock1
	receiver: aWAExceptionFilter
[107] WAExceptionHandler >> handleExceptionsDuring: (envId 0)
	aBlock: anExecBlock0
	self: aFinWorksHaltOnErrorHandler
	receiver: aFinWorksHaltOnErrorHandler
[108] WAExceptionFilter >> handleFiltered: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	handler: aFinWorksHaltOnErrorHandler
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	self: aWAExceptionFilter
	receiver: aWAExceptionFilter
[109] [] in  WARequestHandler >> handle: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	self: aFwSeleniumTestApplication
	receiver: aFwSeleniumTestApplication
[110] [] in  WACurrentRequestContext class >> use:during: (envId 0)
	aBlock: anExecBlock0
	receiver: nil
[111] UndefinedObject >> ifNotNilDo:ifNil: (envId 0)
	ifNotNilBlock: anExecBlock
	nilBlock: anExecBlock0
	receiver: nil
[112] [] in  WACurrentRequestContext class >> use:during: (envId 0)
	anObject: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	receiver: nil
[113] ExecBlock >> on:do: (envId 0)
	exceptionSelector: WACurrentRequestContext
	handlerBlock: anExecBlock
	fastPath: true
	.t1: anExecBlock0
	receiver: nil
[114] WADynamicVariable class >> use:during: (envId 0)
	anObject: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	aBlock: anExecBlock0
	receiver: WACurrentRequestContext
[115] WACurrentRequestContext class >> use:during: (envId 0)
	anObject: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	aBlock: anExecBlock0
	anObject: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	receiver: WACurrentRequestContext
[116] [] in  WARequestContext >> push:during: (envId 0)
	aBlock: anExecBlock0
	self: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	receiver: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
[117] ExecBlock >> ensure: (envId 0)
	aBlock: anExecBlock
	result: nil
	.t1: anExecBlock0
	receiver: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
[118] WARequestContext >> push:during: (envId 0)
	aRequestHandler: aFwSeleniumTestApplication
	aBlock: anExecBlock0
	self: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	receiver: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
[119] WARequestHandler >> handle: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	self: aFwSeleniumTestApplication
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	receiver: aFwSeleniumTestApplication
[120] WADispatcher >> handleFiltered:named: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	aString: 'webtestercomponenttesting'
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	receiver: aWADispatcher
[121] WADispatcher >> handleFiltered: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	consumer: aWAPathConsumer
	.t1: aWADispatcher
	.t2: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	.t3: 'webtestercomponenttesting'
	receiver: aWADispatcher
[122] [] in  WARequestHandler >> handle: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	self: aWADispatcher
	receiver: aWADispatcher
[123] [] in  WACurrentRequestContext class >> use:during: (envId 0)
	aBlock: anExecBlock0
	receiver: nil
[124] UndefinedObject >> ifNotNilDo:ifNil: (envId 0)
	ifNotNilBlock: anExecBlock
	nilBlock: anExecBlock0
	receiver: nil
[125] [] in  WACurrentRequestContext class >> use:during: (envId 0)
	anObject: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	receiver: nil
[126] ExecBlock >> on:do: (envId 0)
	exceptionSelector: WACurrentRequestContext
	handlerBlock: anExecBlock
	fastPath: true
	.t1: anExecBlock0
	receiver: nil
[127] WADynamicVariable class >> use:during: (envId 0)
	anObject: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	aBlock: anExecBlock0
	receiver: WACurrentRequestContext
[128] WACurrentRequestContext class >> use:during: (envId 0)
	anObject: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	aBlock: anExecBlock0
	anObject: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	receiver: WACurrentRequestContext
[129] [] in  WARequestContext >> push:during: (envId 0)
	aBlock: anExecBlock0
	self: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	receiver: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
[130] ExecBlock >> ensure: (envId 0)
	aBlock: anExecBlock
	result: nil
	.t1: anExecBlock0
	receiver: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
[131] WARequestContext >> push:during: (envId 0)
	aRequestHandler: aWADispatcher
	aBlock: anExecBlock0
	self: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	receiver: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
[132] WARequestHandler >> handle: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	self: aWADispatcher
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	receiver: aWADispatcher
[133] [] in  WAServerAdaptor >> handleRequest: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	self: aWAFastCGIAdaptor
	receiver: aWAFastCGIAdaptor
[134] ExecBlock >> on:do: (envId 0)
	exceptionSelector: WAResponseNotification
	handlerBlock: anExecBlock1
	fastPath: true
	.t1: anExecBlock0
	receiver: aWAFastCGIAdaptor
[135] WAServerAdaptor >> handleRequest: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	self: aWAFastCGIAdaptor
	receiver: aWAFastCGIAdaptor
[136] [] in  WAServerAdaptor >> handle: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	self: aWAFastCGIAdaptor
	receiver: aWAFastCGIAdaptor
[137] ProfMonitorTree >> writeProfileFileForBlock:withUniqueIdentifier: (envId 0)
	aBlock: anExecBlock0
	anId: '399699713'
	self: aProfMonitorTree
	minimum: nil
	.t1: anExecBlock0
	receiver: aProfMonitorTree
[138] WAServerAdaptor >> handle: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	self: aWAFastCGIAdaptor
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	receiver: aWAFastCGIAdaptor
[139] [] in  WAServerAdaptor >> process: (envId 0)
	context: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	self: aWAFastCGIAdaptor
	receiver: aWAFastCGIAdaptor
[140] ExecBlock >> ensure: (envId 0)
	aBlock: anExecBlock
	result: nil
	.t1: anExecBlock0
	receiver: aWAFastCGIAdaptor
[141] WAServerAdaptor >> process: (envId 0)
	aNativeRequest: aFSResponderRole
	context: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	self: aWAFastCGIAdaptor
	receiver: aWAFastCGIAdaptor
[142] [] in  WAFastCGIAdaptor >> process: (envId 0)
	aRequest: aFSResponderRole
	self: aWAFastCGIAdaptor
	receiver: aWAFastCGIAdaptor
[143] [] in  GRGemStonePlatform >> seasideProcessRequestWithRetry:resultBlock: (envId 0)
	result: nil
	aNativeRequest: aFSResponderRole
	resultBlock: anExecBlock1
	receiver: aGRGemStonePlatform
[144] ExecBlock >> on:do: (envId 0)
	exceptionSelector: anExceptionSet
	handlerBlock: anExecBlock
	fastPath: true
	.t1: anExecBlock0
	receiver: aGRGemStonePlatform
[145] [] in  GRGemStonePlatform >> seasideProcessRequestWithRetry:resultBlock: (envId 0)
	aNativeRequest: aFSResponderRole
	conflicts: nil
	retryException: nil
	retryRequest: false
	self: aGRGemStonePlatform
	.t1: anExecBlock0
	.t2: anExceptionSet
	.t3: anExecBlock
	receiver: aGRGemStonePlatform
[146] ExecBlock >> ensure: (envId 0)
	aBlock: anExecBlock
	result: nil
	.t1: anExecBlock0
	receiver: aGRGemStonePlatform
[147] TransientRecursionLock >> critical: (envId 0)
	aBlock: anExecBlock0
	proc: GsProcess(oop=399685633, status=debug, priority=4, block=anExecBlock, args=anArray( aFSConnection), 
)
	self: aTransientRecursionLock
	.t1: anExecBlock0
	.t2: anExecBlock
	receiver: aTransientRecursionLock
[148] GRGemStonePlatform >> seasideProcessRequestWithRetry:resultBlock: (envId 0)
	aNativeRequest: aFSResponderRole
	resultBlock: anExecBlock1
	result: nil
	self: aGRGemStonePlatform
	receiver: aGRGemStonePlatform
[149] [] in  GRGemStonePlatform >> seasideProcessRequest:adaptor:resultBlock: (envId 0)
	adaptor: aWAFastCGIAdaptor
	result: nil
	resultBlock: anExecBlock1
	aNativeRequest: aFSResponderRole
	count: 1
	retryCount: 10
	self: aGRGemStonePlatform
	.t1: nil
	.t2: 1
	.t3: 10
	.t4: 1
	.t5: aGRGemStonePlatform
	.t6: aFSResponderRole
	.t7: anExecBlock1
	receiver: aGRGemStonePlatform
[150] ExecBlock >> on:do: (envId 0)
	exceptionSelector: Error
	handlerBlock: anExecBlock
	fastPath: true
	.t1: anExecBlock0
	receiver: aGRGemStonePlatform
[151] GRGemStonePlatform >> seasideProcessRequest:adaptor:resultBlock: (envId 0)
	aNativeRequest: aFSResponderRole
	adaptor: aWAFastCGIAdaptor
	resultBlock: anExecBlock1
	result: nil
	receiver: aGRGemStonePlatform
[152] WAFastCGIAdaptor >> process: (envId 0)
	aNativeRequest: aFSResponderRole
	self: aWAFastCGIAdaptor
	receiver: aWAFastCGIAdaptor
[153] [] in  WAFastCGIAdaptor >> answerResponderRole: (envId 0)
	string: nil
	aFSResponderRole: aFSResponderRole
	self: aWAFastCGIAdaptor
	receiver: aWAFastCGIAdaptor
[154] ExecBlock >> on:do: (envId 0)
	exceptionSelector: Error
	handlerBlock: anExecBlock
	fastPath: true
	.t1: anExecBlock0
	receiver: aWAFastCGIAdaptor
[155] WAFastCGIAdaptor >> answerResponderRole: (envId 0)
	aFSResponderRole: aFSResponderRole
	string: nil
	aFSResponderRole: aFSResponderRole
	receiver: aWAFastCGIAdaptor
[156] FSResponderRole >> answer (envId 0)
	receiver: aFSResponderRole
[157] FSRole >> handleConnection (envId 0)
	receiver: aFSResponderRole
[158] FSConnection >> unsafeServe (envId 0)
	receiver: aFSConnection
[159] [] in  FSConnection >> safeServe (envId 0)
	self: aFSConnection
	receiver: aFSConnection
[160] ExecBlock >> on:do: (envId 0)
	exceptionSelector: FSError
	handlerBlock: anExecBlock
	fastPath: true
	.t1: anExecBlock0
	receiver: aFSConnection
[161] [] in  FSConnection >> safeServe (envId 0)
	receiver: aFSConnection
[162] ExecBlock >> on:do: (envId 0)
	exceptionSelector: Error
	handlerBlock: anExecBlock
	fastPath: true
	.t1: anExecBlock0
	receiver: aFSConnection
[163] [] in  FSConnection >> safeServe (envId 0)
	receiver: aFSConnection
[164] ExecBlock >> ensure: (envId 0)
	aBlock: anExecBlock
	result: nil
	.t1: anExecBlock0
	receiver: aFSConnection
[165] FSConnection >> safeServe (envId 0)
	self: aFSConnection
	receiver: aFSConnection
[166] FSConnection >> serve (envId 0)
	receiver: aFSConnection
[167] [] in  FSSocketServer >> listen: (envId 0)
	conn: aFSConnection
	self: aFSGsSocketServer
	receiver: aFSGsSocketServer
[168] GsProcess >> _start (envId 0)
	curr: nil
	res: nil
	.t1: nil
	.t2: anExecBlock
	.t3: aFSConnection
	receiver: GsProcess(oop=399685633, status=debug, priority=4, block=anExecBlock, args=anArray( aFSConnection), 
)
[169] GsNMethod class >> _gsReturnToC (envId 0)
	receiver: nil

-------------- next part --------------
[1] AbstractException >> _signalWith: (envId 0)
	handleInCextensionBool: nil
	res: nil
	.t1: a Halt occurred (error 2709)
	receiver: a Halt occurred (error 2709)
[2] AbstractException class >> signal (envId 0)
	receiver: Halt
[3] Object >> halt (envId 0)
	receiver: 0
[4] FinWorksHaltOnErrorHandler >> handleError: (envId 0)
	anError: a WAGsInvalidCallbackContext occurred (error 2710), You can only #call: and #answer: from within a callback or a Task.
	receiver: aFinWorksHaltOnErrorHandler
[5] WAErrorHandler >> handleException: (envId 0)
	anException: a WAGsInvalidCallbackContext occurred (error 2710), You can only #call: and #answer: from within a callback or a Task.
	receiver: aFinWorksHaltOnErrorHandler
[6] [] in  WAExceptionHandler >> handleExceptionsDuring: (envId 0)
	self: aFinWorksHaltOnErrorHandler
	exception: a WAGsInvalidCallbackContext occurred (error 2710), You can only #call: and #answer: from within a callback or a Task.
	receiver: aFinWorksHaltOnErrorHandler
[7] ExecBlock >> on:do: (envId 0)
	exceptionSelector: Error
	handlerBlock: anExecBlock
	fastPath: true
	.t1: anExecBlock0
	receiver: aFinWorksHaltOnErrorHandler
[8] [] in  WAExceptionHandler >> handleExceptionsDuring: (envId 0)
	exception: a WAGsInvalidCallbackContext occurred (error 2710), You can only #call: and #answer: from within a callback or a Task.
	receiver: aFinWorksHaltOnErrorHandler
[9] [] in  ExecBlock >> on:do: (envId 0)
	ex: a WAGsInvalidCallbackContext occurred (error 2710), You can only #call: and #answer: from within a callback or a Task.
	handlerBlock: anExecBlock1
	exceptionSelector: aFinWorksHaltOnErrorHandler
	receiver: nil
[10] AbstractException >> _executeHandler: (envId 0)
	aBlock: anExecBlock1
	res: nil
	.t1: anExecBlock1
	.t2: a WAGsInvalidCallbackContext occurred (error 2710), You can only #call: and #answer: from within a callback or a Task.
	receiver: a WAGsInvalidCallbackContext occurred (error 2710), You can only #call: and #answer: from within a callback or a Task.
[11] AbstractException >> _signalWith: (envId 0)
	handleInCextensionBool: nil
	receiver: a WAGsInvalidCallbackContext occurred (error 2710), You can only #call: and #answer: from within a callback or a Task.
[12] AbstractException >> signal: (envId 0)
	signalText: 'You can only #call: and #answer: from within a callback or a Task.'
	receiver: a WAGsInvalidCallbackContext occurred (error 2710), You can only #call: and #answer: from within a callback or a Task.
[13] AbstractException class >> signal: (envId 0)
	signalText: 'You can only #call: and #answer: from within a callback or a Task.'
	receiver: WAGsInvalidCallbackContext
[14] GRGemStonePlatform >> seasideSuspendFlowDo: (envId 0)
	aBlock: anExecBlock
	marker: nil
	self: aGRGemStonePlatform
	.t1: WAGsInvalidCallbackContext
	.t2: 'You can only #call: and #answer: from within a callback or a Task.'
	receiver: aGRGemStonePlatform
[15] WAComponent >> wait: (envId 0)
	aBlock: anExecBlock
	receiver: aWonkaContainerComponent
[16] WAComponent >> inform: (envId 0)
	aString: 'No interest rates loaded for:  Wealthport on: 2013/06/28'
	self: aWonkaContainerComponent
	receiver: aWonkaContainerComponent
[17] [] in  Investment >> matchComponent: (envId 0)
	err: No interest rates loaded for:  Wealthport on: 2013/06/28
	aComponent: aWonkaContainerComponent
	receiver: Cash Transfer In
[18] AbstractException >> _executeHandler: (envId 0)
	aBlock: anExecBlock1
	res: nil
	.t1: anExecBlock1
	.t2: No interest rates loaded for:  Wealthport on: 2013/06/28
	receiver: No interest rates loaded for:  Wealthport on: 2013/06/28
[19] AbstractException >> _signalWith: (envId 0)
	handleInCextensionBool: nil
	receiver: No interest rates loaded for:  Wealthport on: 2013/06/28
[20] AbstractException >> signal: (envId 0)
	signalText: 'No interest rates loaded for:  Wealthport on: 2013/06/28'
	receiver: No interest rates loaded for:  Wealthport on: 2013/06/28
[21] AbstractException class >> signal: (envId 0)
	signalText: 'No interest rates loaded for:  Wealthport on: 2013/06/28'
	receiver: ValidateError
[22] [] in  InterestRateSet >> rateOn: (envId 0)
	aDate: 2013/06/28
	self: a InterestRateSet
	receiver: a InterestRateSet
[23] SequenceableCollection >> detect:ifNone: (envId 0)
	aBlock: anExecBlock1
	exceptionBlock: anExecBlock0
	i: 1
	.t1: anExecBlock0
	receiver: anOrderedCollection( a InterestRate)
[24] InterestRateSet >> rateOn: (envId 0)
	aDate: 2013/06/28
	rate: nil
	self: a InterestRateSet
	.t1: anOrderedCollection( a InterestRate)
	.t2: anExecBlock1
	.t3: anExecBlock0
	receiver: a InterestRateSet
[25] InterestRateSet >> interestOnAmount:forDate: (envId 0)
	anAmount: R 200.00
	workDate: 2013/06/28
	receiver: a InterestRateSet
[26] InterestRateSet >> calculateInterestforAmount:from:upToExcluding: (envId 0)
	anAmount: R 200.00
	fromDate: 2013/06/28
	toDate: 2014/05/19
	workDate: 2013/06/28
	total: R 0.00
	.t1: 2013/06/28
	.t2: R 0.00
	.t3: a InterestRateSet
	.t4: R 200.00
	.t5: 2013/06/28
	receiver: a InterestRateSet
[27] Contribution >> calculatedInterest (envId 0)
	receiver: Buy 27BA1 100.00%; 
[28] Contribution >> interest (envId 0)
	receiver: Buy 27BA1 100.00%; 
[29] [] in  Instruction >> interestTotalOfContributions (envId 0)
	contribution: Buy 27BA1 100.00%; 
	receiver: nil
[30] [] in  Collection >> sum:convertingToCurrency: (envId 0)
	element: Buy 27BA1 100.00%; 
	aCurrency: ZAR
	aBlock: anExecBlock1
	receiver: nil
[31] [] in  Collection >> sumStartingWith:do: (envId 0)
	sum: R 0.00
	element: Buy 27BA1 100.00%; 
	aBlock: anExecBlock1
	receiver: nil
[32] [] in  Collection >> inject:into: (envId 0)
	element: Buy 27BA1 100.00%; 
	val: R 0.00
	aBlock: anExecBlock2
	receiver: nil
[33] Collection >> do: (envId 0)
	aBlock: anExecBlock1
	i: 1
	.t1: 1
	.t2: 1
	.t3: anExecBlock1
	.t4: Buy 27BA1 100.00%; 
	receiver: anOrderedCollection( Buy 27BA1 100.00%; )
[34] Collection >> inject:into: (envId 0)
	aValue: R 0.00
	aBlock: anExecBlock2
	val: R 0.00
	receiver: anOrderedCollection( Buy 27BA1 100.00%; )
[35] Collection >> sumStartingWith:do: (envId 0)
	zeroValue: R 0.00
	aBlock: anExecBlock1
	receiver: anOrderedCollection( Buy 27BA1 100.00%; )
[36] Collection >> sum:inCurrency: (envId 0)
	aBlock: anExecBlock1
	aCurrency: ZAR
	receiver: anOrderedCollection( Buy 27BA1 100.00%; )
[37] Collection >> sum:convertingToCurrency: (envId 0)
	aBlock: anExecBlock1
	aCurrency: ZAR
	aCurrency: ZAR
	receiver: anOrderedCollection( Buy 27BA1 100.00%; )
[38] Instruction >> interestTotalOfContributions (envId 0)
	receiver: Cash Transfer In
[39] Instruction >> interest (envId 0)
	receiver: Cash Transfer In
[40] OverrideInterestOnInstruction >> instruction: (envId 0)
	anInstruction: Cash Transfer In
	receiver: a OverrideInterestOnInstruction
[41] Instruction >> overrideInterestWithRate (envId 0)
	receiver: Cash Transfer In
[42] MASelectorAccessor >> read: (envId 0)
	aModel: Cash Transfer In
	receiver: (MASelectorAccessor read: #'overrideInterestWithRate' write: #'overrideInterestWithRate:')
[43] Object >> readUsing: (envId 0)
	aDescription: aMAToOneRelationDescription label: 'Interest' comment: nil
	receiver: Cash Transfer In
[44] [] in  MAMemento >> pullRaw (envId 0)
	each: aMAToOneRelationDescription label: 'Interest' comment: nil
	self: aWonkaMemento model: a Investment
	result: aDictionary( aMASingleOptionDescription label: 'Received via' comment: nil->#'eMail', aMAStringDescription label: 'Created on' comment: nil->'2014/05/19', aMAStringDescription label: 'Date submitted' comment: nil->2014/05/19 08:45, aPercentageDescription label: 'Initial platform fee (%) (VAT excl)' comment: nil->a OverrideFeeRatePercentage, aMAStringDescription label: 'Date invested' comment: nil->'', aFinworksMoneyDescription label: 'Amount' comment: nil->R 200.00, aMAStringDescription label: 'Date authorised' comment: nil->'', aMADatePickerDescription label: 'Deposit date' comment: nil->'', aMAStringDescription label: 'Investor' comment: nil->'TEST Anderson, Jennifer', aMAStringDescription label: 'Debit Order Status' comment: nil->'Deposit', ...)
	receiver: aWonkaMemento model: a Investment
[45] Collection >> do: (envId 0)
	aBlock: anExecBlock1
	i: 16
	.t1: 41
	.t2: 16
	.t3: anExecBlock1
	.t4: aMAToOneRelationDescription label: 'Interest' comment: nil
	receiver: aSortedCollection( aMAStringDescription label: 'Status' comment: nil, aMAStringDescription label: 'Debit Order Status' comment: nil, aMAStringDescription label: 'Created on' comment: nil, aMASingleOptionDescription label: 'Received via' comment: nil, aMATimeStampDescription label: 'Date and time received' comment: nil, aMAStringDescription label: 'Date submitted' comment: nil, aMAStringDescription label: 'Date authorised' comment: nil, aMAStringDescription label: 'Date invested' comment: nil, aMAStringDescription label: 'Investor' comment: nil, aMADatePickerDescription label: 'Deposit date' comment: nil, aMALinkDescription label: 'Portfolio' comment: nil, aMAStringDescription label: 'Instruction type' comment: nil, ...)
[46] MAContainer >> do: (envId 0)
	aBlock: anExecBlock1
	receiver: aMAPriorityContainer label: 'Investment' comment: nil
[47] MAMemento >> pullRaw (envId 0)
	self: aWonkaMemento model: a Investment
	result: aDictionary( aMASingleOptionDescription label: 'Received via' comment: nil->#'eMail', aMAStringDescription label: 'Created on' comment: nil->'2014/05/19', aMAStringDescription label: 'Date submitted' comment: nil->2014/05/19 08:45, aPercentageDescription label: 'Initial platform fee (%) (VAT excl)' comment: nil->a OverrideFeeRatePercentage, aMAStringDescription label: 'Date invested' comment: nil->'', aFinworksMoneyDescription label: 'Amount' comment: nil->R 200.00, aMAStringDescription label: 'Date authorised' comment: nil->'', aMADatePickerDescription label: 'Deposit date' comment: nil->'', aMAStringDescription label: 'Investor' comment: nil->'TEST Anderson, Jennifer', aMAStringDescription label: 'Debit Order Status' comment: nil->'Deposit', ...)
	receiver: aWonkaMemento model: a Investment
[48] MAMemento >> pull (envId 0)
	result: nil
	receiver: aWonkaMemento model: a Investment
[49] MACachedMemento >> reset (envId 0)
	receiver: aWonkaMemento model: a Investment
[50] MACheckedMemento >> reset (envId 0)
	receiver: aWonkaMemento model: a Investment
[51] [] in  MAContainerComponent >> reset (envId 0)
	each: aWonkaContainerComponent
	receiver: nil
[52] MAContainerComponent >> withContainersDo:in: (envId 0)
	aBlock: anExecBlock1
	aComponent: aWonkaContainerComponent
	self: aWonkaContainerComponent
	aBlock: anExecBlock1
	receiver: aWonkaContainerComponent
[53] MAContainerComponent >> withContainersDo: (envId 0)
	aBlock: anExecBlock1
	receiver: aWonkaContainerComponent
[54] MAContainerComponent >> reset (envId 0)
	receiver: aWonkaContainerComponent
[55] [] in  Investment >> matchComponent: (envId 0)
	aComponent: aWonkaContainerComponent
	self: Cash Transfer In
	receiver: Cash Transfer In
[56] ExecBlock >> on:do: (envId 0)
	exceptionSelector: ValidateError
	handlerBlock: anExecBlock1
	fastPath: true
	.t1: anExecBlock
	receiver: Cash Transfer In
[57] Investment >> matchComponent: (envId 0)
	aComponent: aWonkaContainerComponent
	self: Cash Transfer In
	receiver: Cash Transfer In
[58] [] in  Investment >> matchBankEntryCallbackForComponent: (envId 0)
	aComponent: aWonkaContainerComponent
	self: Cash Transfer In
	receiver: Cash Transfer In
[59] Instruction >> saveComponent:ifValidDo: (envId 0)
	aComponent: aWonkaContainerComponent
	doBlock: anExecBlock
	oldInstruction: Cash Transfer In
	.t1: anExecBlock
	receiver: Cash Transfer In
[60] Investment >> matchBankEntryCallbackForComponent: (envId 0)
	aComponent: aWonkaContainerComponent
	selectedPaymentMethod: #'Electronic/Internet Transfer'
	self: Cash Transfer In
	aComponent: aWonkaContainerComponent
	.t1: Cash Transfer In
	.t2: aWonkaContainerComponent
	.t3: anExecBlock
	receiver: Cash Transfer In
[61] FinePrintFormDecoration >> performAction:selector: (envId 0)
	actionName: #'matchBankEntry'
	callbackSelector: #'matchBankEntryCallbackForComponent:'
	receiver: aFinePrintFormForInvestment
[62] [] in  FinePrintFormDecoration >> printButton:on: (envId 0)
	each: #'matchBankEntry'->#'matchBankEntryCallbackForComponent:'
	self: aFinePrintFormForInvestment
	receiver: aFinePrintFormForInvestment
[63] ExecBlock >> valueWithPossibleArguments: (envId 0)
	anArray: anArray( 'Match Bank Entry')
	args: nil
	n: 0
	.t1: nil
	.t2: anExecBlock
	receiver: aFinePrintFormForInvestment
[64] GsNMethod class >> _noopReturnTos (envId 0)
	receiver: GsNMethod
[65] [] in  WACallbackRegistry >> handle: (envId 0)
	callback: aWAActionCallback
	fields: aWAMergedRequestFields
	receiver: aWACallbackRegistry
[66] Collection >> do: (envId 0)
	aBlock: anExecBlock1
	i: 2
	.t1: 2
	.t2: 2
	.t3: anExecBlock1
	.t4: aWAActionCallback
	receiver: anArray( aWAValueCallback, aWAActionCallback)
[67] WACallbackRegistry >> handle: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	self: aWACallbackRegistry
	fields: aWAMergedRequestFields
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	set: aSet( aWAActionCallback, aWAValueCallback)
	receiver: aWACallbackRegistry
[68] [] in  WAActionPhaseContinuation >> runCallbacks (envId 0)
	self: aWAActionPhaseContinuation
	receiver: aWAActionPhaseContinuation
[69] ExecBlock >> onException:do: (envId 0)
	anException: AbstractException
	handlerBlock: anExecBlock1
	receiver: aWAActionPhaseContinuation
[70] ExecBlock >> on:do: (envId 0)
	exceptionSelector: aFinWorksHaltOnErrorHandler
	handlerBlock: anExecBlock1
	fastPath: nil
	.t1: anExecBlock0
	.t2: AbstractException
	.t3: anExecBlock1
	receiver: aWAActionPhaseContinuation
[71] WAExceptionHandler >> handleExceptionsDuring: (envId 0)
	aBlock: anExecBlock0
	self: aFinWorksHaltOnErrorHandler
	receiver: aFinWorksHaltOnErrorHandler
[72] [] in  WARenderLoopContinuation >> withNotificationHandlerDo: (envId 0)
	aBlock: anExecBlock0
	currentHandler: aFinWorksHaltOnErrorHandler
	receiver: nil
[73] ExecBlock >> on:do: (envId 0)
	exceptionSelector: WARenderNotification
	handlerBlock: anExecBlock1
	fastPath: true
	.t1: anExecBlock0
	receiver: nil
[74] WARenderLoopContinuation >> withNotificationHandlerDo: (envId 0)
	aBlock: anExecBlock0
	currentHandler: aFinWorksHaltOnErrorHandler
	receiver: aWAActionPhaseContinuation
[75] [] in  WAActionPhaseContinuation >> runCallbacks (envId 0)
	self: aWAActionPhaseContinuation
	receiver: aWAActionPhaseContinuation
[76] ExecBlock >> ensure: (envId 0)
	aBlock: anExecBlock
	result: nil
	.t1: anExecBlock0
	receiver: aWAActionPhaseContinuation
[77] WAActionPhaseContinuation >> runCallbacks (envId 0)
	self: aWAActionPhaseContinuation
	receiver: aWAActionPhaseContinuation
[78] WAActionPhaseContinuation >> handleRequest (envId 0)
	receiver: aWAActionPhaseContinuation
[79] [] in  WASessionContinuation >> basicValue (envId 0)
	self: aWAActionPhaseContinuation
	receiver: aWAActionPhaseContinuation
[80] ExecBlock >> on:do: (envId 0)
	exceptionSelector: WAUnregisteredHandlerError
	handlerBlock: anExecBlock
	fastPath: true
	.t1: anExecBlock0
	receiver: aWAActionPhaseContinuation
[81] WASessionContinuation >> withUnregisteredHandlerDo: (envId 0)
	aBlock: anExecBlock0
	receiver: aWAActionPhaseContinuation
[82] WASessionContinuation >> basicValue (envId 0)
	self: aWAActionPhaseContinuation
	receiver: aWAActionPhaseContinuation
[83] WASessionContinuation >> value (envId 0)
	receiver: aWAActionPhaseContinuation
[84] WASession >> handleFiltered: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	continuation: aWAActionPhaseContinuation
	key: 'awJMxTnc12h9SlUb'
	self: aFinworksSession
	.t1: aWAActionPhaseContinuation
	.t2: aWAActionPhaseContinuation
	receiver: aFinworksSession
[85] FinworksSession >> handleFiltered: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	receiver: aFinworksSession
[86] [] in  WARequestHandler >> handle: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	self: aFinworksSession
	receiver: aFinworksSession
[87] ExecBlock >> on:do: (envId 0)
	exceptionSelector: LoggedInUserContext
	handlerBlock: anExecBlock1
	fastPath: true
	.t1: anExecBlock0
	receiver: aFinworksSession
[88] WADynamicVariable class >> use:during: (envId 0)
	anObject: aFinworksSession
	aBlock: anExecBlock0
	receiver: LoggedInUserContext
[89] [] in  WACurrentRequestContext class >> use:during: (envId 0)
	session: aFinworksSession
	aBlock: anExecBlock0
	receiver: nil
[90] Object >> ifNotNilDo:ifNil: (envId 0)
	aBlock: anExecBlock1
	nilBlock: anExecBlock
	receiver: aFinworksSession
[91] [] in  WACurrentRequestContext class >> use:during: (envId 0)
	anObject: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	receiver: nil
[92] ExecBlock >> on:do: (envId 0)
	exceptionSelector: WACurrentRequestContext
	handlerBlock: anExecBlock1
	fastPath: true
	.t1: anExecBlock0
	receiver: nil
[93] WADynamicVariable class >> use:during: (envId 0)
	anObject: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	aBlock: anExecBlock0
	receiver: WACurrentRequestContext
[94] WACurrentRequestContext class >> use:during: (envId 0)
	anObject: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	aBlock: anExecBlock0
	anObject: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	receiver: WACurrentRequestContext
[95] [] in  WARequestContext >> push:during: (envId 0)
	aBlock: anExecBlock0
	self: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	receiver: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
[96] ExecBlock >> ensure: (envId 0)
	aBlock: anExecBlock
	result: nil
	.t1: anExecBlock0
	receiver: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
[97] WARequestContext >> push:during: (envId 0)
	aRequestHandler: aFinworksSession
	aBlock: anExecBlock0
	self: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	receiver: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
[98] WARequestHandler >> handle: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	self: aFinworksSession
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	receiver: aFinworksSession
[99] WASession >> handle: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	result: 1
	.t1: aFinworksSession
	.t2: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	receiver: aFinworksSession
[100] WARegistry >> dispatch:to: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	aRequestHandler: aFinworksSession
	receiver: aWAApplication
[101] WARegistry >> handleKeyed:with: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	aRequestHandler: aFinworksSession
	receiver: aWAApplication
[102] WARegistry >> handleFiltered: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	handler: aFinworksSession
	key: 'F0U_G8vLI2Dv-RyP'
	cookie: nil
	urlKey: 'F0U_G8vLI2Dv-RyP'
	.t1: aWAApplication
	.t2: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	.t3: aFinworksSession
	receiver: aWAApplication
[103] WAApplication >> handleFiltered: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	receiver: aWAApplication
[104] WARequestFilter >> handleFiltered: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	receiver: aWAExceptionFilter
[105] [] in  WAExceptionFilter >> handleFiltered: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	self: aWAExceptionFilter
	receiver: aWAExceptionFilter
[106] ExecBlock >> on:do: (envId 0)
	exceptionSelector: WACurrentExceptionHandler
	handlerBlock: anExecBlock1
	fastPath: true
	.t1: anExecBlock0
	receiver: aWAExceptionFilter
[107] WADynamicVariable class >> use:during: (envId 0)
	anObject: aFinWorksHaltOnErrorHandler
	aBlock: anExecBlock0
	receiver: WACurrentExceptionHandler
[108] [] in  WAExceptionFilter >> handleFiltered: (envId 0)
	handler: aFinWorksHaltOnErrorHandler
	receiver: aWAExceptionFilter
[109] ExecBlock >> onException:do: (envId 0)
	anException: AbstractException
	handlerBlock: anExecBlock1
	receiver: aWAExceptionFilter
[110] ExecBlock >> on:do: (envId 0)
	exceptionSelector: aFinWorksHaltOnErrorHandler
	handlerBlock: anExecBlock
	fastPath: nil
	.t1: anExecBlock0
	.t2: AbstractException
	.t3: anExecBlock1
	receiver: aWAExceptionFilter
[111] WAExceptionHandler >> handleExceptionsDuring: (envId 0)
	aBlock: anExecBlock0
	self: aFinWorksHaltOnErrorHandler
	receiver: aFinWorksHaltOnErrorHandler
[112] WAExceptionFilter >> handleFiltered: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	handler: aFinWorksHaltOnErrorHandler
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	self: aWAExceptionFilter
	receiver: aWAExceptionFilter
[113] [] in  WARequestHandler >> handle: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	self: aWAApplication
	receiver: aWAApplication
[114] [] in  WACurrentRequestContext class >> use:during: (envId 0)
	aBlock: anExecBlock0
	receiver: nil
[115] UndefinedObject >> ifNotNilDo:ifNil: (envId 0)
	ifNotNilBlock: anExecBlock
	nilBlock: anExecBlock0
	receiver: nil
[116] [] in  WACurrentRequestContext class >> use:during: (envId 0)
	anObject: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	receiver: nil
[117] ExecBlock >> on:do: (envId 0)
	exceptionSelector: WACurrentRequestContext
	handlerBlock: anExecBlock
	fastPath: true
	.t1: anExecBlock0
	receiver: nil
[118] WADynamicVariable class >> use:during: (envId 0)
	anObject: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	aBlock: anExecBlock0
	receiver: WACurrentRequestContext
[119] WACurrentRequestContext class >> use:during: (envId 0)
	anObject: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	aBlock: anExecBlock0
	anObject: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	receiver: WACurrentRequestContext
[120] [] in  WARequestContext >> push:during: (envId 0)
	aBlock: anExecBlock0
	self: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	receiver: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
[121] ExecBlock >> ensure: (envId 0)
	aBlock: anExecBlock
	result: nil
	.t1: anExecBlock0
	receiver: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
[122] WARequestContext >> push:during: (envId 0)
	aRequestHandler: aWAApplication
	aBlock: anExecBlock0
	self: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	receiver: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
[123] WARequestHandler >> handle: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	self: aWAApplication
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	receiver: aWAApplication
[124] WADispatcher >> handleFiltered:named: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	aString: 'p'
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	receiver: aWADispatcher
[125] WADispatcher >> handleFiltered: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	consumer: aWAPathConsumer
	.t1: aWADispatcher
	.t2: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	.t3: 'p'
	receiver: aWADispatcher
[126] [] in  WARequestHandler >> handle: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	self: aWADispatcher
	receiver: aWADispatcher
[127] [] in  WACurrentRequestContext class >> use:during: (envId 0)
	aBlock: anExecBlock0
	receiver: nil
[128] UndefinedObject >> ifNotNilDo:ifNil: (envId 0)
	ifNotNilBlock: anExecBlock
	nilBlock: anExecBlock0
	receiver: nil
[129] [] in  WACurrentRequestContext class >> use:during: (envId 0)
	anObject: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	receiver: nil
[130] ExecBlock >> on:do: (envId 0)
	exceptionSelector: WACurrentRequestContext
	handlerBlock: anExecBlock
	fastPath: true
	.t1: anExecBlock0
	receiver: nil
[131] WADynamicVariable class >> use:during: (envId 0)
	anObject: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	aBlock: anExecBlock0
	receiver: WACurrentRequestContext
[132] WACurrentRequestContext class >> use:during: (envId 0)
	anObject: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	aBlock: anExecBlock0
	anObject: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	receiver: WACurrentRequestContext
[133] [] in  WARequestContext >> push:during: (envId 0)
	aBlock: anExecBlock0
	self: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	receiver: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
[134] ExecBlock >> ensure: (envId 0)
	aBlock: anExecBlock
	result: nil
	.t1: anExecBlock0
	receiver: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
[135] WARequestContext >> push:during: (envId 0)
	aRequestHandler: aWADispatcher
	aBlock: anExecBlock0
	self: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	receiver: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
[136] WARequestHandler >> handle: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	self: aWADispatcher
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	receiver: aWADispatcher
[137] [] in  WAServerAdaptor >> handleRequest: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	self: aWAFastCGIAdaptor
	receiver: aWAFastCGIAdaptor
[138] ExecBlock >> on:do: (envId 0)
	exceptionSelector: WAResponseNotification
	handlerBlock: anExecBlock1
	fastPath: true
	.t1: anExecBlock0
	receiver: aWAFastCGIAdaptor
[139] WAServerAdaptor >> handleRequest: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	self: aWAFastCGIAdaptor
	receiver: aWAFastCGIAdaptor
[140] [] in  WAServerAdaptor >> handle: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	self: aWAFastCGIAdaptor
	receiver: aWAFastCGIAdaptor
[141] ProfMonitorTree >> writeProfileFileForBlock:withUniqueIdentifier: (envId 0)
	aBlock: anExecBlock0
	anId: '170467329'
	self: aProfMonitorTree
	minimum: nil
	.t1: anExecBlock0
	receiver: aProfMonitorTree
[142] WAServerAdaptor >> handle: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	self: aWAFastCGIAdaptor
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	receiver: aWAFastCGIAdaptor
[143] [] in  WAServerAdaptor >> process: (envId 0)
	context: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	self: aWAFastCGIAdaptor
	receiver: aWAFastCGIAdaptor
[144] ExecBlock >> ensure: (envId 0)
	aBlock: anExecBlock
	result: nil
	.t1: anExecBlock0
	receiver: aWAFastCGIAdaptor
[145] WAServerAdaptor >> process: (envId 0)
	aNativeRequest: aFSResponderRole
	context: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	self: aWAFastCGIAdaptor
	receiver: aWAFastCGIAdaptor
[146] [] in  WAFastCGIAdaptor >> process: (envId 0)
	aRequest: aFSResponderRole
	self: aWAFastCGIAdaptor
	receiver: aWAFastCGIAdaptor
[147] [] in  GRGemStonePlatform >> seasideProcessRequestWithRetry:resultBlock: (envId 0)
	result: nil
	aNativeRequest: aFSResponderRole
	resultBlock: anExecBlock1
	receiver: aGRGemStonePlatform
[148] ExecBlock >> on:do: (envId 0)
	exceptionSelector: anExceptionSet
	handlerBlock: anExecBlock
	fastPath: true
	.t1: anExecBlock0
	receiver: aGRGemStonePlatform
[149] [] in  GRGemStonePlatform >> seasideProcessRequestWithRetry:resultBlock: (envId 0)
	aNativeRequest: aFSResponderRole
	conflicts: nil
	retryException: nil
	retryRequest: false
	self: aGRGemStonePlatform
	.t1: anExecBlock0
	.t2: anExceptionSet
	.t3: anExecBlock
	receiver: aGRGemStonePlatform
[150] ExecBlock >> ensure: (envId 0)
	aBlock: anExecBlock
	result: nil
	.t1: anExecBlock0
	receiver: aGRGemStonePlatform
[151] TransientRecursionLock >> critical: (envId 0)
	aBlock: anExecBlock0
	proc: GsProcess(oop=171410433, status=debug, priority=4, block=anExecBlock, args=anArray( aFSConnection), 
)
	self: aTransientRecursionLock
	.t1: anExecBlock0
	.t2: anExecBlock
	receiver: aTransientRecursionLock
[152] GRGemStonePlatform >> seasideProcessRequestWithRetry:resultBlock: (envId 0)
	aNativeRequest: aFSResponderRole
	resultBlock: anExecBlock1
	result: nil
	self: aGRGemStonePlatform
	receiver: aGRGemStonePlatform
[153] [] in  GRGemStonePlatform >> seasideProcessRequest:adaptor:resultBlock: (envId 0)
	adaptor: aWAFastCGIAdaptor
	result: nil
	resultBlock: anExecBlock1
	aNativeRequest: aFSResponderRole
	count: 1
	retryCount: 10
	self: aGRGemStonePlatform
	.t1: nil
	.t2: 1
	.t3: 10
	.t4: 1
	.t5: aGRGemStonePlatform
	.t6: aFSResponderRole
	.t7: anExecBlock1
	receiver: aGRGemStonePlatform
[154] ExecBlock >> on:do: (envId 0)
	exceptionSelector: Error
	handlerBlock: anExecBlock
	fastPath: true
	.t1: anExecBlock0
	receiver: aGRGemStonePlatform
[155] GRGemStonePlatform >> seasideProcessRequest:adaptor:resultBlock: (envId 0)
	aNativeRequest: aFSResponderRole
	adaptor: aWAFastCGIAdaptor
	resultBlock: anExecBlock1
	result: nil
	receiver: aGRGemStonePlatform
[156] WAFastCGIAdaptor >> process: (envId 0)
	aNativeRequest: aFSResponderRole
	self: aWAFastCGIAdaptor
	receiver: aWAFastCGIAdaptor
[157] [] in  WAFastCGIAdaptor >> answerResponderRole: (envId 0)
	string: nil
	aFSResponderRole: aFSResponderRole
	self: aWAFastCGIAdaptor
	receiver: aWAFastCGIAdaptor
[158] ExecBlock >> on:do: (envId 0)
	exceptionSelector: Error
	handlerBlock: anExecBlock
	fastPath: true
	.t1: anExecBlock0
	receiver: aWAFastCGIAdaptor
[159] WAFastCGIAdaptor >> answerResponderRole: (envId 0)
	aFSResponderRole: aFSResponderRole
	string: nil
	aFSResponderRole: aFSResponderRole
	receiver: aWAFastCGIAdaptor
[160] FSResponderRole >> answer (envId 0)
	receiver: aFSResponderRole
[161] FSRole >> handleConnection (envId 0)
	receiver: aFSResponderRole
[162] FSConnection >> unsafeServe (envId 0)
	receiver: aFSConnection
[163] [] in  FSConnection >> safeServe (envId 0)
	self: aFSConnection
	receiver: aFSConnection
[164] ExecBlock >> on:do: (envId 0)
	exceptionSelector: FSError
	handlerBlock: anExecBlock
	fastPath: true
	.t1: anExecBlock0
	receiver: aFSConnection
[165] [] in  FSConnection >> safeServe (envId 0)
	receiver: aFSConnection
[166] ExecBlock >> on:do: (envId 0)
	exceptionSelector: Error
	handlerBlock: anExecBlock
	fastPath: true
	.t1: anExecBlock0
	receiver: aFSConnection
[167] [] in  FSConnection >> safeServe (envId 0)
	receiver: aFSConnection
[168] ExecBlock >> ensure: (envId 0)
	aBlock: anExecBlock
	result: nil
	.t1: anExecBlock0
	receiver: aFSConnection
[169] FSConnection >> safeServe (envId 0)
	self: aFSConnection
	receiver: aFSConnection
[170] FSConnection >> serve (envId 0)
	receiver: aFSConnection
[171] [] in  FSSocketServer >> listen: (envId 0)
	conn: aFSConnection
	self: aFSGsSocketServer
	receiver: aFSGsSocketServer
[172] GsProcess >> _start (envId 0)
	curr: nil
	res: nil
	.t1: nil
	.t2: anExecBlock
	.t3: aFSConnection
	receiver: GsProcess(oop=171410433, status=debug, priority=4, block=anExecBlock, args=anArray( aFSConnection), 
)
[173] GsNMethod class >> _gsReturnToC (envId 0)
	receiver: nil
efr
-------------- next part --------------
<snip>

[1] GRGemStonePlatform >> seasideSuspendFlowDo: (envId 0)
	aBlock: anExecBlock
	marker: nil
	self: aGRGemStonePlatform
	.t1: aGRGemStonePlatform
	receiver: aGRGemStonePlatform
[2] WAComponent >> wait: (envId 0)
	aBlock: anExecBlock
	receiver: aWonkaContainerComponent
[3] WAComponent >> inform: (envId 0)
	aString: 'No interest rates loaded for:  new set on: 2005/05/13'
	self: aWonkaContainerComponent
	receiver: aWonkaContainerComponent
[4] [] in  Investment >> matchComponent: (envId 0)
	err: No interest rates loaded for:  new set on: 2005/05/13
	aComponent: aWonkaContainerComponent
	receiver: Investment in progress

<snip>

[50] ExecBlock >> valueWithPossibleArguments: (envId 0)
	anArray: anArray( 'Match Bank Entry')
	args: nil
	n: 0
	.t1: nil
	.t2: anExecBlock0
	receiver: aFinePrintFormForInvestment
[51] GsNMethod class >> _noopReturnTos (envId 0)
	receiver: GsNMethod

Otto: #callbackMarker finds this on the stack and is happy to create the
partial continuation to here.

[52] WACallback >> evaluateWithFieldValues: (envId 0)
	anOrderedCollection: anArray( 'Match')
	receiver: aWAActionCallback
[53] [] in  WACallbackRegistry >> handle: (envId 0)
	callback: aWAActionCallback
	fields: aWAMergedRequestFields
	receiver: aWACallbackRegistry
[54] Collection >> do: (envId 0)
	aBlock: anExecBlock1
	i: 10
	.t1: 10
	.t2: 10
	.t3: anExecBlock1
	.t4: aWAActionCallback
	receiver: anArray( aWAValueCallback, aWAValueCallback, aWAValueCallback, aWAValueCallback, aWAValueCallback, aWAValueCallback, aWADispatchCallback, aWAValueCallback, aWAValueCallback, aWAActionCallback)
[55] WACallbackRegistry >> handle: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	self: aWACallbackRegistry
	fields: aWAMergedRequestFields
	aRequestContext: aWAGemStoneRequestContext url: '/webtestercomponenttesting?_s=xmQN876r8WKhg-TK&_k=YJJAq9K-B3rK2h66'
	set: aSet( aWAValueCallback, aWAValueCallback, aWAValueCallback, aWAValueCallback, aWAValueCallback, aWAValueCallback, aWADispatchCallback, aWAActionCallback, aWAValueCallback, aWAValueCallback)
	receiver: aWACallbackRegistry
[56] [] in  WAActionPhaseContinuation >> runCallbacks (envId 0)
	self: aWAActionPhaseContinuation
	receiver: aWAActionPhaseContinuation

<snip>
-------------- next part --------------
<snip> 

Otto: Here it raises the 'You can only #call...' error, because it does
not find a WACallback on the stack (which it should)

[14] GRGemStonePlatform >> seasideSuspendFlowDo: (envId 0)
	aBlock: anExecBlock
	marker: nil
	self: aGRGemStonePlatform
	.t1: WAGsInvalidCallbackContext
	.t2: 'You can only #call: and #answer: from within a callback or a Task.'
	receiver: aGRGemStonePlatform
[15] WAComponent >> wait: (envId 0)
	aBlock: anExecBlock
	receiver: aWonkaContainerComponent
[16] WAComponent >> inform: (envId 0)
	aString: 'No interest rates loaded for:  Wealthport on: 2013/06/28'
	self: aWonkaContainerComponent
	receiver: aWonkaContainerComponent
[17] [] in  Investment >> matchComponent: (envId 0)
	err: No interest rates loaded for:  Wealthport on: 2013/06/28
	aComponent: aWonkaContainerComponent
	receiver: Cash Transfer In

<snip>

[63] ExecBlock >> valueWithPossibleArguments: (envId 0)
	anArray: anArray( 'Match Bank Entry')
	args: nil
	n: 0
	.t1: nil
	.t2: anExecBlock
	receiver: aFinePrintFormForInvestment
[64] GsNMethod class >> _noopReturnTos (envId 0)
	receiver: GsNMethod

Otto: Here we expect to see 
[64] WACallback >> evaluateWithFieldValues: (envId 0)
and callbackMarker as well. The code WACallbackRegistry clearly calls it.

[65] [] in  WACallbackRegistry >> handle: (envId 0)
	callback: aWAActionCallback
	fields: aWAMergedRequestFields
	receiver: aWACallbackRegistry
[66] Collection >> do: (envId 0)
	aBlock: anExecBlock1
	i: 2
	.t1: 2
	.t2: 2
	.t3: anExecBlock1
	.t4: aWAActionCallback
	receiver: anArray( aWAValueCallback, aWAActionCallback)
[67] WACallbackRegistry >> handle: (envId 0)
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	self: aWACallbackRegistry
	fields: aWAMergedRequestFields
	aRequestContext: aWAGemStoneRequestContext url: '/p?_s=F0U_G8vLI2Dv-RyP&_k=awJMxTnc12h9SlUb'
	set: aSet( aWAActionCallback, aWAValueCallback)
	receiver: aWACallbackRegistry
[68] [] in  WAActionPhaseContinuation >> runCallbacks (envId 0)
	self: aWAActionPhaseContinuation
	receiver: aWAActionPhaseContinuation

<snip>


More information about the Glass mailing list