[Glass] WARequestContextNotFound after seaside-flow call:
Brodbeck Andreas
andreas.brodbeck at mindclue.ch
Thu May 21 05:29:43 PDT 2020
Hi Phil
In the meantime I figured out, that the problem was introduced between Seaside v3.2.5 and v3.3.0. call:/answer works OK with Seaside v3.2.5
They have changed the platform specific implementation of WADynamicVariable (which WACurrentRequestContext is a subclass of). On GemStone this is now a subclass of GemStone's own DynamicVariable class, which in turn uses "Processor activeProcess environment at:" to get the value of the dynamic variable.
I managed to figure out, that the "Processor activeProcess" changes after call:/answer and therefore the environment is blank and the current request context is gone, obviously. I don't know at which point the activeProcess is changed. But my guess is somewhere around GemServer?
I keep investigating. Looking forward for hints from GemStone staff! ;-)
Cheers, Andreas
> Am 21.05.2020 um 13:54 schrieb Jupiter Jones <jupiter.jones at mail.com>:
>
> Hi Andreas,
>
> I use call:onAnswer: a lot and just changed a couple of them to call: just to see… and had the same issue.
>
> Seaside is installed from the main Seaside repo on Github in GemStone 3.5.1.
>
> Without a debugger it’s not easy to pinpoint but a quick look at the log and the various call: methods, it does look like there’s something going on with GRPlatform current seasideSuspendFlowDo:
>
> Had the same issue with #wait: …as would be expected if the issue is in GRPlatform current seasideSuspendFlowDo:
>
> Cheers,
>
> Phil
>
> PS Copied this message to the Seaside list just in case someone there has seen this before.
>
>> On 21 May 2020, at 6:52 pm, Brodbeck Andreas via Glass <glass at lists.gemtalksystems.com <mailto:glass at lists.gemtalksystems.com>> wrote:
>>
>> Additional astonishing observation: In a plain installation without any code from mine the WAFlowFunctionalTest fails! (GemStone 3.4.5, latest Seaside, latest GsDevKit, Platform Linux)
>>
>> (I previously reported "all tests green" but that did not include the functional tests ...)
>>
>> Since this would be a bug at the heart of seaside, I doubt my observations. I will investigate some more.
>>
>> Cheers, Andreas
>>
>>> Am 20.05.2020 um 23:01 schrieb Brodbeck Andreas via Glass <glass at lists.gemtalksystems.com <mailto:glass at lists.gemtalksystems.com>>:
>>>
>>> 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 <http://www.brotrezept.ch/>!
>>>
>>> Andreas Brodbeck
>>> Software-Macher
>>> mindclue GmbH
>>> Dipl. El.-Ing. ETH
>>>
>>> +41 55 622 26 24
>>> www.mindclue.ch <http://www.mindclue.ch/>
>>> -----------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.gemtalksystems.com/mailman/private/glass/attachments/20200521/f3084531/attachment.htm>
More information about the Glass
mailing list