[Seaside] Always getting WARequestContextNotFound while debugging

Tim Johnson digit at sonic.net
Sat Apr 13 16:28:31 UTC 2019


Hi Thomas,

Thank you for the explanation!  I am happy to build a better understanding of this mechanism, especially as I work to master exceptions, handlers, and return values.

I still have this foggy memory that in the era of Seaside 2.6/2.7/2.8, I had access to most/all variables in the debugger.  Am I mistaken?

Best,
Tim J

> On Apr 11, 2019, at 12:11 AM, Thomas Brodt <thomas.brodt.lists at porabo.ch> wrote:
> 
> Hi Tim,
> 
> access to the current request context is handled through signalling a request notification and getting the request context as the notification resume value. See class WACurrentRequestContext which is a notification. If you are running requests regularly in the normal control flow, some outer methods establish a handler which catches the notification and returns the current context. See implementers of #push:during: and #use:during: which do that. This allows to get e.g. the request (or other so called dynamic variables) without having to pass it along the call chain as parameter or have it as instance variable.
> 
> If you are executing arbitrary code in the debugger through print/inspect/do it, this outer notification handler is missing and the request notification is then unhandled, which results in another "real" exception WARequestContextNotFound because the context is not found.
> 
> HTH
> 
> Thomas
> 
> Am 11.04.2019 um 06:27 schrieb Tim Johnson:
>> Hi,
>> 
>> Since moving to Seaside 3.x in Squeak 5.x, it seems like I haven't been able to debug as well as I used to.  This has been happening for a while but I just thought I'd ask about it now.  It seems worse lately...?
>> 
>> It seems like after I hit "Debug" on a Seaside Walkback, I go back to my image and enter the debugger.  Then when I try to evaluate / print / inspect various statements maybe three items down the stack, I always end up with something like a WARequestContextNotFound window.
>> 
>> Basically, it seems like I can't interact with anything but the topmost item in a debugger anymore, but I could be totally wrong about that.
>> 
>> I don't suppose this would have anything to do with proxying through Apache or nginx...?
>> 
>> I'm also having trouble clicking on individual stack items in the Seaside Walkback, but that might be unrelated, or related to the proxy.
>> 
>> Here is a sample stack when trying to inspect/print something three items down in the stack after hitting "Debug" on a Seaside Walkback.  I am wondering if something is up with WADynamicVariable in Squeak lately:
>> 
>> WACurrentRequestContext class>>defaultValue
>> WACurrentRequestContext(WADynamicVariable)>>defaultAction
>> UndefinedObject>>handleSignal:
>> Context>>handleSignal:
>> WACurrentRequestContext(Exception)>>signal
>> WACurrentRequestContext class(Exception class)>>signal
>> WACurrentRequestContext class(WADynamicVariable class)>>value
>> PCardLoggedInComponent(WAObject)>>requestContext
>> PCardLoggedInComponent(WAObject)>>session
>> PCardLoggedInComponent>>DoItIn:
>> Compiler>>evaluateCue:ifFail:
>> Compiler>>evaluateCue:ifFail:logged:
>> Compiler>>evaluate:in:to:environment:notifying:ifFail:logged:
>> [] in SmalltalkEditor(TextEditor)>>evaluateSelectionAndDo:
>> BlockClosure>>on:do:
>> SmalltalkEditor(TextEditor)>>evaluateSelectionAndDo:
>> SmalltalkEditor(TextEditor)>>printIt
>> SmalltalkEditor(TextEditor)>>printIt:
>> SmalltalkEditor(TextEditor)>>dispatchOnKeyboardEvent:
>> SmalltalkEditor(TextEditor)>>keyStroke:
>> 
>> 
>> Thanks,
>> Tim J
>> 
>> 
>> _______________________________________________
>> seaside mailing list
>> seaside at lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> 



More information about the seaside mailing list