[Glass] WARequestContextNotFound after seaside-flow call:

Brodbeck Andreas andreas.brodbeck at mindclue.ch
Wed May 20 14:01:36 PDT 2020


Hi all

I have a stubborn "bug" or other creature which I can not catch after days of trying my best... Before I will eventually file a bug report, may I ask you if this problem sounds familiar to someone?

Bug summary:
Exception WARequestContextNotFound after seaside's call/answer

Steps:

1. I have a seaside application running in GemStone 3.4.5, latest Seaside, latest GsDevKit.
2. From the main seaside UI-component I simply open another seaside component with seaside's call: method.
3. I press the "close" UI-button, which calls seaside's answer method of that component.
4. I get a WARequestContextNotFound exception.

My observations:

--- Bug DOES NOT show up, if I use call:onAnswer: instead of call:. So it probably narrows down to the usage of GRPlatform current seasideSuspendFlowDo:, since that is what call: is using to suspend the flow with continuations.

--- Seaside's error handling will in turn fail itself because it also relies on calling current requestContext itself. Only a simple text based stack is placed on GemStone's ObjectLog. And the browser just shows a simple "Internal Error:"

--- WACurrentRequestContext is a WADynamicVariable and as such uses the environment dictionary of the active GsProcess (via something like this: Processor activeProcess environment at: WACurrentRequestContext). With stupid pseudo debugging (since I can't get a real debugger to work) I figured out, that after call:/answer the GsProcess changes and starts with an empty environment, therefore missing the WACurrentRequestContext.

--- Seaside tests all green


I'm really exhausted. Any clues or similar experiences?

Thanks!

Cheers, Andreas


-----------------------------------------
Brot? www.brotrezept.ch!

Andreas Brodbeck
Software-Macher
mindclue GmbH
Dipl. El.-Ing. ETH

+41 55 622 26 24
www.mindclue.ch
-----------------------------------------



More information about the Glass mailing list