[Glass] Error 2252 and Topaz

Dale Henrichs via Glass glass at lists.gemtalksystems.com
Mon Dec 5 11:00:07 PST 2016



On 12/04/2016 12:35 PM, BrunoBB via Glass wrote:
> Hi All,
>
> First the Descritpion (then the question):
> I just fix an error in my web app that it took me an hour to find.
>
> The web run on a Jade session and after a click in the web app --> the gem
> loop crash with the: "Error #2252" (try to find that number in gemstone64
> manuals but no luck).
I'm surprised that you are just getting an "Error #2252" ... where is 
that error coming from ... usually GemStone errors are generated with a 
bit more information. If you send the message #description to an 
exception you should get a good error message.
>
> In GS32 it has something to do with stack (#rtErrLoadSaveStack):
> "Error encountered while saving or reloading Smalltalk DB execution state.
> Execution cannot continue."
> Do not now if it is the same in GS64.

In 64 bit you can do the following things to try to understand the error 
number.

Look up the key for the error number in ErrorSymbols

   ErrorSymbols keyAtValue: 2252

gives you symbol #'rtErrLoadSaveStack' and you can do senders of that 
symbol to see if and where the error is signalled in the Smalltalk code 
... in this case there are none, but the symbol itself 
#'rtErrLoadSaveStack' is meaningful ... to us:)

Finally , looking the error number up in the LegacyErrNumMap:

   LegacyErrNumMap at: 2252

which again does not give you much more information.
>
> Anyway the log files did show nothing and i could not run Topaz (to
> replicate this with a Topaz session). Running "topaz" did not start topaz it
> just show: "command not found". Even with "find / -name topaz" and executing
> those files the same answer "command not found"
In GsDevKit_home, you should use the startTopaz command to launch topaz 
for a particular stone:

   $GS_HOME/bin/startTopaz <stone-name> <topaz arguments>

The startTopaz command sets up the GemStone env variables and arranges 
to use a .topazini that is sufficient for starting a linked topaz (using 
the -l topaz option)
>
> The error was bug in my app i forgot to add "^" in a method. (fixed now :)
>
> Questions:
> * Why i did not get a wallback or anything in the logs ?
>     + Instead of receiving aString the method was receiving aSeaside
> component. It should be a normal #doesNotUnderstand: situation ?
> * And how to execute Topaz ?
These are good questions ... the #'rtErrLoadSaveStack' is a pretty deep 
error in the vm and there are quite a few different conditions that can 
lead to this error. The error #description should contain a bit of 
information about what conditions caused the error. Most if not all of 
the standard Seaside error handlers use should be attempting to dump a 
stack with the error description as well as snap off an error 
continuation to the Object log ... Are you using a standard seaside 
server script?

I am surprised that you are getting an error message that looks like 
"Error #2252" - I've searched through the Seaside code base and not 
found an error message that is generated like this, so I am curious how 
that error message is being generated. Could you provide the gem log 
itself so that we can see if there is any additional information in the 
log ... we're also curious what version of GemStone you are using.

We're guessing that you are getting the #'rtErrLoadSaveStack' because of 
recursion and or trying to install a partial continuation (used by 
Seaside) when there is not enough room on the stack ... as I mentioned 
there are a several other possibilities for this error and trying to 
understand why you are not getting good information is a good thing to 
understand ... the error handling in Seaside might need a bit more 
bullet proofing ...

Dale




More information about the Glass mailing list