How to calculate the size of an object tree?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
56 messages Options
123
Reply | Threaded
Open this post in threaded view
|

Re: Object does not exist error - Worry about it?

Dale Henrichs
Larry,

Object does not exist errors are not good things ... and the gem coming down in this case is probably a good thing ... The fact that the problem is showing up in a GsProcess means that the Seaside session data structures are corrupted but not your model data ...

You can check for corruption in your data base by running an object audit (see section 8.2 of the System Administration Guide[1]). If you follow these steps you own't need to run the object audit as single user (see the docs):

  - expire sessions
  - mfc
  - reclaimAll
  - object audit

If, as I suspect, you've got corruption in GsProcess objects they only impact Seaside session state, and should have disappeared by the time you run the object audit ...

This problems seems to ring a bell, but it seems to me that the problem I am thinking of showed up in GemStone 3.0 and I think it was fixed in GemStone 3.0.1... so I'm curious what version of GemStone you are using.

As I think about this, I seem to recall that the problem was related to deeply nested block structure in a method that was involved in partial continuations, so I am curious if you happen to have some deeply nested block structures let's say more than 5 or 6 levels deep in your method? In fact even in 3.0.1 I think that there might be an effective limit (the engineer that worked on this will be back on Monday for exact details), so if you are running with 3.0.1, you should definitely be suspicious of deep nesting of blocks...

Dale

[1] http://community.gemstone.com/display/GSS64/GemStoneS+64+Documentation

----- Original Message -----
| From: "Lawrence Kellogg" <[hidden email]>
| To: "GemStone Seaside beta discussion" <[hidden email]>
| Sent: Friday, February 10, 2012 2:13:15 PM
| Subject: [GS/SS Beta] Object does not exist error - Worry about it?
|
|
|
| Hello,
| After a long series of calls and answers in Seaside, I got an Object
| does not exist error that brought down the fast cgi gateway. My
| production error handler was not triggered, although it was
| installed, as far as I could tell. Strange. My supervise fastcgi
| process also did not pick up my dead fastcgi process. Not a good
| day.
|
| Here is the walkback:
|
|
|
| USER IDS: REAL=seasideuser (500) EFFECTIVE=seasideuser (500) |
| |_____________________________________________________________________________|
| topaz> topaz> topaz> topaz> topaz> topaz> topaz> [Info]: LNK
| client/gem GCI levels = 844/844
| [Info]: User ID: DataCurator
| [Info]: Repository: seaside
| [Info]: Session ID: 5
| [Info]: GCI Client Host: <Linked>
| [Info]: Page server PID: -1
| [Info]: Login Time: 02/10/2012 09:27:56 PM.572 UTC
| [02/10/2012 09:27:56 PM.592 UTC] gci login: currSession 1 rpc gem
| processId -1
| successful login
| topaz 1> topaz 1> [20 sz:0 cls: 76289 UndefinedObject] nil
| topaz 1> topaz 1> [76033 sz:19 cls: 801793 System class] System class
| superClass [72193 sz:19 cls: 206081 Object class] Object class
| format [258 sz:0 cls: 74241 SmallInteger] 32
| instVars [2 sz:0 cls: 74241 SmallInteger] 0
| instVarNames [422145 sz:0 cls: 66817 Array] an Array
| constraints [421889 sz:0 cls: 66817 Array] an Array
| classVars [421633 sz:26 cls: 111361 SymbolDictionary] a
| SymbolDictionary
| methodDict [711937 sz:112 cls: 99073 GsMethodDictionary] a
| GsMethodDictionary
| poolDictionaries [421377 sz:0 cls: 66817 Array] an Array
| categories [421121 sz:28 cls: 99073 GsMethodDictionary] a
| GsMethodDictionary
| secondarySuperclasses [20 sz:0 cls: 76289 UndefinedObject] nil
| name [801537 sz:6 cls: 110849 Symbol] System
| classHistory [420865 sz:3 cls: 82689 ClassHistory] a ClassHistory
| description [13498369 sz:10 cls: 95233 GsClassDocumentation] a
| GsClassDocumentation
| migrationDestination [20 sz:0 cls: 76289 UndefinedObject] nil
| timeStamp [14510593 sz:4 cls: 118785 DateTime] a DateTime
| userId [14508801 sz:10 cls: 74753 String] SystemUser
| extraDict [14524929 sz:14 cls: 111361 SymbolDictionary] a
| SymbolDictionary
| classCategory [20 sz:0 cls: 76289 UndefinedObject] nil
| subclasses [20 sz:0 cls: 76289 UndefinedObject] nil
|
|
| topaz 1> topaz 1> WAFastCGIAdaptor Server started on port 9001
| -----------------------------------------------------
| GemStone: Error Nonfatal
| The object with object ID 81065894683350528 does not exist.
| Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1 Context :
| 526648321
| Arg 1: [648527157466804226 sz:0 cls: 74241 SmallInteger]
| 81065894683350528
|
|
| Now executing the following command saved from "iferr 1":
| where
| ==> 1 GsProcess class >> installPartialContinuation:atLevel:value: @2
| line 1 [GsMethod 4487425]
| 2 WAPartialContinuation >> value: @13 line 11 [GsMethod 212791041]
| 3 WAPartialContinuation >> valueWithPossibleArguments: @2 line 2
| [GsMethod 218326273]
| 4 ComplexBlock in WAComponent >> show:onAnswer:delegation: @7 line 7
| [GsMethod 194749185]
| 5 ComplexBlock in ExecutableBlock >> valueWithPossibleArguments: @12
| line 8 [GsMethod 116163585]
| 6 WAAnswerHandler >> handleAnswer:continueWith: @3 line 2 [GsMethod
| 194735873]
| 7 WADecoration >> handleAnswer: @6 line 3 [GsMethod 194731009]
| 8 WAComponent >> answer: @2 line 5 [GsMethod 194751745]
|
|
|
|
| I found this on the net:
|
|
|
| Object does not exist errors
| GBS applications may encounter object does not exist errors in
| non-persistent
| objects. This is due to a problem with the fix for bug #40703 in
| version
| 2.4.4, which resulted in non-persistent objects not properly
| protected
| from garbage collection.
|
| Workaround:
|
| none/not applicable
| from:
|
|
|
|
|
|
| http://www.gemstone.com/docs/GemStoneS/bugnotes/bugnotes/40948.html
|
|
|
| So, should I worry about this? I implemented code that allowed a user
| to call an editor, switch out on the navigation menu, call another
| editor,
| switch out. With each switch, I send answer: false to the open editor
| to close it so that it is not hanging around open. My idea
| was to hide the section navigation when the editor came up but I'm
| getting push back from my user.
|
|
| What do you think?
|
|
| Larry
|
|
|
|
Reply | Threaded
Open this post in threaded view
|

Re: Forwarding of non www domain to Amazon EC2 host

NorbertHartl
In reply to this post by Larry Kellogg

Am 10.02.2012 um 23:30 schrieb Lawrence Kellogg:

Hello Norbert, 
  Thanks for all the great information. I'm still puzzling my way through it. 
Some comments below. 

On Feb 10, 2012, at 2:08 PM, Norbert Hartl wrote:


Am 09.02.2012 um 22:41 schrieb Lawrence Kellogg:

Hello,
This is not specifically a Gemstone/Seaside query but I'll throw it out there anyway.

I have a domain which I have used a CNAME record to point to my Amazon EC2
instance running Seaside. The www version of my domain works great.

Now, if I try just the non-www version of my domain, I get forwarded to an "It Works"
page from an Apache server. I had played with Apache but didn't think it was running
now and I don't see an Apache process when I do ps -A.

I talked to the Register.com guys and they said I had to own an A record
to point and that for $50 a year, they would point the non-www address but it didn't work.

Is there some sort of configuration setting on the Amazon side? Is it an NGINX setting?
What do I have to do in order to get the non-www name to point to the www. name.

Larry,

you won't get it made without extra effort I guess. Basically a CNAME is the right thing to do. It is exact the case it was designed for which is a well-misunderstood fact. Unfortunately CNAME does not work on zones itself (the non www name). That is a shortcoming of DNS. On the other hand a CNAME would introduce problems when you reboot a machine. It will take up to 3 hours to have your CNAME point to the right address. Just look yourself


  Funny, the Register.com people said it could take up to 24 hours to propagate a CNAME change, unfortunately. 

It doesn't matter what you are told. The update is managed by the TTL I showed you. Any non-lame DNS will obey.

dig soa compute-1.amazonaws.com +short
pdns1.ultradns.net. hostmaster.amazon.com. 2011110102 10800 3600 2592000 60

The number 10800 is the zone TTL meaning the number of seconds it should be cached. So for two reasons the CNAME does not seem what you are looking for. Amazon offers Route 53 DNS service where you could shorten the TTL. But that wouldn't solve the access for your domain ip. The easiest will be to buy an elastic IP or if you have a big installation an elastic load balancer. Then you just need to make nginx aware that there are www. and none www names it should react upon (you can just write the server names separated by space in the server name line.
I don't know what is causing the "It works". But the "It works" is just a html file. Probably nginx points to the same document root as an apache installation. Usually to be found in /var/www/


  Well, I did a little more experimenting with my system. I have a staging server that has a DNA name that starts with 
EC2. So, I introduced this rewrite rule in nginx,

if ($host !~* ^www\.) {
    rewrite ^(.*)$ http://www.$host$1 permanent;
}

killed nginx and restarted it and saw that the url was rewritten to www.EC2, not found...

  So, I tried to do the same thing on my production server, which does have a www. redirection from 
Register.com but the rewrite rule did not work. The only difference was that I used -HUP to restart nginx. 
not sure if killing and restarting nginx would make a difference. So, I'm kind of confused by what happened. 
 # nginx -t -c /etc/nginx/nginx.conf 
 2007/10/18 20:55:07 [info] 3125#0: the configuration file /etc/nginx/nginx.conf syntax is ok
 2007/10/18 20:55:07 [info] 3125#0: the configuration file /etc/nginx/nginx.conf was tested successfully

Next, look for the process id of the master nginx process:


 # ps -ef|grep nginx
 root      1911     1  0 18:00 ?        00:00:00 nginx: master process /usr/sbin/nginx
 www-data  1912  1911  0 18:00 ?        00:00:00 nginx: worker process

Lastly, tell nginx to reload the configuration and restart the worker processes:

 # kill -HUP 1911

I was told by the Register guys that I would need an A record in order to do ip address forwarding. Is that true?
I thought you could only get an A record if you had a physical server. I have no physical server, just aRegister.com 
domain pointing at Amazon EC2. 

  I'm wondering if I have to worry about getting an elastic ip. How long will a large instance stay up? 
I am paying for two large instances? If the thing never goes down, maybe I'll just leave it alone. 
I would like to switch it over to a more stable configuration at some point, though...

Ok, this mailing list is not the best place to discuss these kind of things. Just a few words more. 

To solve your problems you need a little understanding how those things work together. If you ask a provider you probably get an answer what you need to do in their system in order to get it done. That doesn't necessarily mean it is generally right.
You have a domain (e.g. yourdomain.com) that is registered by a registrar. The registrar adds a record in the topmost DNS hierarchy which DNS provider is responsible for your domain. The DNS provider holds a so called zone file that contains the whole configuration for your domain. A zone file consists of A, CNAME,... and some other records. The needed refresh period for these entries are defined in the zone. So it makes no difference in updating if it is an A record or a CNAME. The CNAME needs an additional lookup to a another domain that has its own caching time (e.g. amazon). So your worst case for time needed for an update is the addition of the time for your own domain and the domain the CNAME points to.
If you have an A record "www 172.45.67.98" then a name www.yourdomain.com will be resolved to the IP 172.45.67.98. So requests will arrive at your host. If you have a CNAME "www dummyhost.amazonaws.com" then any lookup for www.yourdomain.com will be redirected to another lookup for dummyhost.amazonaws.com. If amazon configured an A record "dummyhost.amazonaws.com  172.45.67.98" requests will again arrive at your machine. So having an A record has nothing to do with a type of machine. An A record is just configured in the domain even if there is no machine with a corresponding IP address.
Last but not least a request to your machine will arrive with name requested www.yourdomain.com. The apache/nginx/cherokee/... servers takes the name and looks for a configuration that fits that name. So you always need a DNS configuration that matches your webserver configuration.
For the uptime in amazon you need to esitmate the risk. You might think the service does not need to be restarted. If you scan the things again you didn't read when ackowledging the terms of use at amazon you might have noticed that amazon has the right to reboot the machine at will. If you cannot afford a 3 hours outtake you need an alternative approach.

hope this helps,

Norbert






Well...this is not an advize to do it but there is one option you can do if saving money is your top priority. You can use an dyndns provider to serve your domain. There are ready made scripts that are triggered when your machine is booted. The script reads the assigned IP address and updates the entry at your dyndns provider. The TTL for dyndns domains is usually 60 seconds. That could solve your troubles. But then you would need your domain to reside at the dyndns provider. Otherwise there is less chance to update the IP address for your non-www name. And maybe there are also costs involved

hope this helps,

Norbert


Reply | Threaded
Open this post in threaded view
|

Re: Forwarding of non www domain to Amazon EC2 host

Larry Kellogg
Comments below...

On Feb 10, 2012, at 7:10 PM, Norbert Hartl wrote:


Am 10.02.2012 um 23:30 schrieb Lawrence Kellogg:

Hello Norbert, 
  Thanks for all the great information. I'm still puzzling my way through it. 
Some comments below. 

On Feb 10, 2012, at 2:08 PM, Norbert Hartl wrote:


Am 09.02.2012 um 22:41 schrieb Lawrence Kellogg:

Hello,
This is not specifically a Gemstone/Seaside query but I'll throw it out there anyway.

I have a domain which I have used a CNAME record to point to my Amazon EC2
instance running Seaside. The www version of my domain works great.

Now, if I try just the non-www version of my domain, I get forwarded to an "It Works"
page from an Apache server. I had played with Apache but didn't think it was running
now and I don't see an Apache process when I do ps -A.

I talked to the Register.com guys and they said I had to own an A record
to point and that for $50 a year, they would point the non-www address but it didn't work.

Is there some sort of configuration setting on the Amazon side? Is it an NGINX setting?
What do I have to do in order to get the non-www name to point to the www. name.

Larry,

you won't get it made without extra effort I guess. Basically a CNAME is the right thing to do. It is exact the case it was designed for which is a well-misunderstood fact. Unfortunately CNAME does not work on zones itself (the non www name). That is a shortcoming of DNS. On the other hand a CNAME would introduce problems when you reboot a machine. It will take up to 3 hours to have your CNAME point to the right address. Just look yourself


  Funny, the Register.com people said it could take up to 24 hours to propagate a CNAME change, unfortunately. 

It doesn't matter what you are told. The update is managed by the TTL I showed you. Any non-lame DNS will obey.

dig soa compute-1.amazonaws.com +short
pdns1.ultradns.net. hostmaster.amazon.com. 2011110102 10800 3600 2592000 60

The number 10800 is the zone TTL meaning the number of seconds it should be cached. So for two reasons the CNAME does not seem what you are looking for. Amazon offers Route 53 DNS service where you could shorten the TTL. But that wouldn't solve the access for your domain ip. The easiest will be to buy an elastic IP or if you have a big installation an elastic load balancer. Then you just need to make nginx aware that there are www. and none www names it should react upon (you can just write the server names separated by space in the server name line.
I don't know what is causing the "It works". But the "It works" is just a html file. Probably nginx points to the same document root as an apache installation. Usually to be found in /var/www/


  Well, I did a little more experimenting with my system. I have a staging server that has a DNA name that starts with 
EC2. So, I introduced this rewrite rule in nginx,

if ($host !~* ^www\.) {
    rewrite ^(.*)$ http://www.$host$1 permanent;
}

killed nginx and restarted it and saw that the url was rewritten to www.EC2, not found...

  So, I tried to do the same thing on my production server, which does have a www. redirection from 
Register.com but the rewrite rule did not work. The only difference was that I used -HUP to restart nginx. 
not sure if killing and restarting nginx would make a difference. So, I'm kind of confused by what happened. 
 # nginx -t -c /etc/nginx/nginx.conf 
 2007/10/18 20:55:07 [info] 3125#0: the configuration file /etc/nginx/nginx.conf syntax is ok
 2007/10/18 20:55:07 [info] 3125#0: the configuration file /etc/nginx/nginx.conf was tested successfully

Next, look for the process id of the master nginx process:


 # ps -ef|grep nginx
 root      1911     1  0 18:00 ?        00:00:00 nginx: master process /usr/sbin/nginx
 www-data  1912  1911  0 18:00 ?        00:00:00 nginx: worker process

Lastly, tell nginx to reload the configuration and restart the worker processes:

 # kill -HUP 1911

I was told by the Register guys that I would need an A record in order to do ip address forwarding. Is that true?
I thought you could only get an A record if you had a physical server. I have no physical server, just aRegister.com 
domain pointing at Amazon EC2. 

  I'm wondering if I have to worry about getting an elastic ip. How long will a large instance stay up? 
I am paying for two large instances? If the thing never goes down, maybe I'll just leave it alone. 
I would like to switch it over to a more stable configuration at some point, though...

Ok, this mailing list is not the best place to discuss these kind of things. Just a few words more. 


  Yes, you're right, this is not the correct place for these discussions. I'm sorry for bringing the subject up on 
the list. Thanks for all your help. I will figure out a good way to configure my site, after I digest all of your comments 
along with other things I have read. 

  I'm still not clear on why my rewrite rule did not work on nginx. I'l think about it some more. By the way, Register has 
their own forwarding set up in the A record for my site. I wonder if that is just to allow them to sell the redirect service. 

  Anyway, thanks again for your help. We can let this issue rest. 

  Regards,

  Larry

To solve your problems you need a little understanding how those things work together. If you ask a provider you probably get an answer what you need to do in their system in order to get it done. That doesn't necessarily mean it is generally right.
You have a domain (e.g. yourdomain.com) that is registered by a registrar. The registrar adds a record in the topmost DNS hierarchy which DNS provider is responsible for your domain. The DNS provider holds a so called zone file that contains the whole configuration for your domain. A zone file consists of A, CNAME,... and some other records. The needed refresh period for these entries are defined in the zone. So it makes no difference in updating if it is an A record or a CNAME. The CNAME needs an additional lookup to a another domain that has its own caching time (e.g. amazon). So your worst case for time needed for an update is the addition of the time for your own domain and the domain the CNAME points to.
If you have an A record "www 172.45.67.98" then a name www.yourdomain.com will be resolved to the IP 172.45.67.98. So requests will arrive at your host. If you have a CNAME "www dummyhost.amazonaws.com" then any lookup for www.yourdomain.com will be redirected to another lookup for dummyhost.amazonaws.com. If amazon configured an A record "dummyhost.amazonaws.com  172.45.67.98" requests will again arrive at your machine. So having an A record has nothing to do with a type of machine. An A record is just configured in the domain even if there is no machine with a corresponding IP address.
Last but not least a request to your machine will arrive with name requested www.yourdomain.com. The apache/nginx/cherokee/... servers takes the name and looks for a configuration that fits that name. So you always need a DNS configuration that matches your webserver configuration.
For the uptime in amazon you need to esitmate the risk. You might think the service does not need to be restarted. If you scan the things again you didn't read when ackowledging the terms of use at amazon you might have noticed that amazon has the right to reboot the machine at will. If you cannot afford a 3 hours outtake you need an alternative approach.

hope this helps,

Norbert






Well...this is not an advize to do it but there is one option you can do if saving money is your top priority. You can use an dyndns provider to serve your domain. There are ready made scripts that are triggered when your machine is booted. The script reads the assigned IP address and updates the entry at your dyndns provider. The TTL for dyndns domains is usually 60 seconds. That could solve your troubles. But then you would need your domain to reside at the dyndns provider. Otherwise there is less chance to update the IP address for your non-www name. And maybe there are also costs involved

hope this helps,

Norbert



Reply | Threaded
Open this post in threaded view
|

Re: Object does not exist error - Worry about it?

Larry Kellogg
In reply to this post by Dale Henrichs
Dale,
  Thanks for your help. At least now I know I have to work on the problem.

On Feb 10, 2012, at 7:04 PM, Dale Henrichs wrote:

> Larry,
>
> Object does not exist errors are not good things ... and the gem coming down in this case is probably a good thing ... The fact that the problem is showing up in a GsProcess means that the Seaside session data structures are corrupted but not your model data ...
>
> You can check for corruption in your data base by running an object audit (see section 8.2 of the System Administration Guide[1]). If you follow these steps you own't need to run the object audit as single user (see the docs):
>
>  - expire sessions
>  - mfc
>  - reclaimAll
>  - object audit
>
> If, as I suspect, you've got corruption in GsProcess objects they only impact Seaside session state, and should have disappeared by the time you run the object audit ...
>
> This problems seems to ring a bell, but it seems to me that the problem I am thinking of showed up in GemStone 3.0 and I think it was fixed in GemStone 3.0.1... so I'm curious what version of GemStone you are using.
>

  I'm on 2.4.4.1. Should I upgrade to 3.0.1? Tomorrow, I will go through the object audit, as you recommended.


> As I think about this, I seem to recall that the problem was related to deeply nested block structure in a method that was involved in partial continuations, so I am curious if you happen to have some deeply nested block structures let's say more than 5 or 6 levels deep in your method? In fact even in 3.0.1 I think that there might be an effective limit (the engineer that worked on this will be back on Monday for exact details), so if you are running with 3.0.1, you should definitely be suspicious of deep nesting of blocks...
>

  I'm trying to think if I am deeply nesting block structures in my methods.

My top level WATask is like this


        self call: self userLoginView.
        (self userLoginView user) notNil  
                ifTrue: [
                        component := self firstComponentToDisplayForUser: self userLoginView user.
                        [ component notNil ]
                                whileTrue: [
                                        self call: component.
                                        component := component nextComponentToBeDisplayed ] ].

  Each of the subcomponents does an answer and returns the next component to call.
Is this a bad way of implementing my system?

  In the case where I got the crash, we were hitting a sequence of calls over and over again, but
with an answer:false being sent to each one before calling another component.
Shouldn't that implementation prevent the deep nesting of continuations?

  What other kinds of structures should I look for in trying to figure out my nesting level? I have
written a lot of code, ;-) , but I didn't think it was nested deeply.

  Regards,

  Larry
 



> Dale
>
> [1] http://community.gemstone.com/display/GSS64/GemStoneS+64+Documentation
>
> ----- Original Message -----
> | From: "Lawrence Kellogg" <[hidden email]>
> | To: "GemStone Seaside beta discussion" <[hidden email]>
> | Sent: Friday, February 10, 2012 2:13:15 PM
> | Subject: [GS/SS Beta] Object does not exist error - Worry about it?
> |
> |
> |
> | Hello,
> | After a long series of calls and answers in Seaside, I got an Object
> | does not exist error that brought down the fast cgi gateway. My
> | production error handler was not triggered, although it was
> | installed, as far as I could tell. Strange. My supervise fastcgi
> | process also did not pick up my dead fastcgi process. Not a good
> | day.
> |
> | Here is the walkback:
> |
> |
> |
> | USER IDS: REAL=seasideuser (500) EFFECTIVE=seasideuser (500) |
> | |_____________________________________________________________________________|
> | topaz> topaz> topaz> topaz> topaz> topaz> topaz> [Info]: LNK
> | client/gem GCI levels = 844/844
> | [Info]: User ID: DataCurator
> | [Info]: Repository: seaside
> | [Info]: Session ID: 5
> | [Info]: GCI Client Host: <Linked>
> | [Info]: Page server PID: -1
> | [Info]: Login Time: 02/10/2012 09:27:56 PM.572 UTC
> | [02/10/2012 09:27:56 PM.592 UTC] gci login: currSession 1 rpc gem
> | processId -1
> | successful login
> | topaz 1> topaz 1> [20 sz:0 cls: 76289 UndefinedObject] nil
> | topaz 1> topaz 1> [76033 sz:19 cls: 801793 System class] System class
> | superClass [72193 sz:19 cls: 206081 Object class] Object class
> | format [258 sz:0 cls: 74241 SmallInteger] 32
> | instVars [2 sz:0 cls: 74241 SmallInteger] 0
> | instVarNames [422145 sz:0 cls: 66817 Array] an Array
> | constraints [421889 sz:0 cls: 66817 Array] an Array
> | classVars [421633 sz:26 cls: 111361 SymbolDictionary] a
> | SymbolDictionary
> | methodDict [711937 sz:112 cls: 99073 GsMethodDictionary] a
> | GsMethodDictionary
> | poolDictionaries [421377 sz:0 cls: 66817 Array] an Array
> | categories [421121 sz:28 cls: 99073 GsMethodDictionary] a
> | GsMethodDictionary
> | secondarySuperclasses [20 sz:0 cls: 76289 UndefinedObject] nil
> | name [801537 sz:6 cls: 110849 Symbol] System
> | classHistory [420865 sz:3 cls: 82689 ClassHistory] a ClassHistory
> | description [13498369 sz:10 cls: 95233 GsClassDocumentation] a
> | GsClassDocumentation
> | migrationDestination [20 sz:0 cls: 76289 UndefinedObject] nil
> | timeStamp [14510593 sz:4 cls: 118785 DateTime] a DateTime
> | userId [14508801 sz:10 cls: 74753 String] SystemUser
> | extraDict [14524929 sz:14 cls: 111361 SymbolDictionary] a
> | SymbolDictionary
> | classCategory [20 sz:0 cls: 76289 UndefinedObject] nil
> | subclasses [20 sz:0 cls: 76289 UndefinedObject] nil
> |
> |
> | topaz 1> topaz 1> WAFastCGIAdaptor Server started on port 9001
> | -----------------------------------------------------
> | GemStone: Error Nonfatal
> | The object with object ID 81065894683350528 does not exist.
> | Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1 Context :
> | 526648321
> | Arg 1: [648527157466804226 sz:0 cls: 74241 SmallInteger]
> | 81065894683350528
> |
> |
> | Now executing the following command saved from "iferr 1":
> | where
> | ==> 1 GsProcess class >> installPartialContinuation:atLevel:value: @2
> | line 1 [GsMethod 4487425]
> | 2 WAPartialContinuation >> value: @13 line 11 [GsMethod 212791041]
> | 3 WAPartialContinuation >> valueWithPossibleArguments: @2 line 2
> | [GsMethod 218326273]
> | 4 ComplexBlock in WAComponent >> show:onAnswer:delegation: @7 line 7
> | [GsMethod 194749185]
> | 5 ComplexBlock in ExecutableBlock >> valueWithPossibleArguments: @12
> | line 8 [GsMethod 116163585]
> | 6 WAAnswerHandler >> handleAnswer:continueWith: @3 line 2 [GsMethod
> | 194735873]
> | 7 WADecoration >> handleAnswer: @6 line 3 [GsMethod 194731009]
> | 8 WAComponent >> answer: @2 line 5 [GsMethod 194751745]
> |
> |
> |
> |
> | I found this on the net:
> |
> |
> |
> | Object does not exist errors
> | GBS applications may encounter object does not exist errors in
> | non-persistent
> | objects. This is due to a problem with the fix for bug #40703 in
> | version
> | 2.4.4, which resulted in non-persistent objects not properly
> | protected
> | from garbage collection.
> |
> | Workaround:
> |
> | none/not applicable
> | from:
> |
> |
> |
> |
> |
> |
> | http://www.gemstone.com/docs/GemStoneS/bugnotes/bugnotes/40948.html
> |
> |
> |
> | So, should I worry about this? I implemented code that allowed a user
> | to call an editor, switch out on the navigation menu, call another
> | editor,
> | switch out. With each switch, I send answer: false to the open editor
> | to close it so that it is not hanging around open. My idea
> | was to hide the section navigation when the editor came up but I'm
> | getting push back from my user.
> |
> |
> | What do you think?
> |
> |
> | Larry
> |
> |
> |
> |

Reply | Threaded
Open this post in threaded view
|

Re: Object does not exist error - Worry about it?

Larry Kellogg
In reply to this post by Dale Henrichs

On Feb 10, 2012, at 7:04 PM, Dale Henrichs wrote:

> Larry,
>
> Object does not exist errors are not good things ... and the gem coming down in this case is probably a good thing ... The fact that the problem is showing up in a GsProcess means that the Seaside session data structures are corrupted but not your model data ...
>
> You can check for corruption in your data base by running an object audit (see section 8.2 of the System Administration Guide[1]). If you follow these steps you own't need to run the object audit as single user (see the docs):
>
>  - expire sessions
>  - mfc
>  - reclaimAll
>  - object audit
>

Hello Dale,
  Ok, I ran:

System stopUserSessions
SystemRepository objectAudit
SystemRepository markForCollection
SystemRepository reclaimAll
SystemRepository objectAudit

I don't see any errors. Here is my log. What do you make of it?

Larry


[Info]: Login Time: 02/11/2012 12:06:22 PM.972 UTC
[02/11/2012 12:06:23 PM.001 UTC] gci login: currSession 1 rpc gem processId -1
successful login
topaz 1> printit
System hasMissingGcGems
%
false
topaz 1> printit
System stopUserSessions
%
System class
  superClass      Object class
  format          32
  instVars        0
  instVarNames    an Array
  constraints     an Array
  classVars       a SymbolDictionary
  methodDict      a GsMethodDictionary
  poolDictionaries an Array
  categories      a GsMethodDictionary
  secondarySuperclasses nil
  name            System
  classHistory    a ClassHistory
  description     a GsClassDocumentation
  migrationDestination nil
  timeStamp       a DateTime
  userId          SystemUser
  extraDict       a SymbolDictionary
  classCategory   nil
  subclasses      nil

topaz 1> printit
SystemRepository objectAudit
%
--reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
--setGcConfig: set reclaimMinPages to 1
--reclaimAll: changed reclaimMinPages from 40 to 1
--setGcConfig: set reclaimSleepTime to 1
--setGcConfig: set sleepTimeBetweenReclaimMs to 0
--reclaimAll: using reclaimDeadEnabled true
--reclaimAll: simpleCommit loopCount 10
02/11/2012 12:07:41 PM.070 UTC: Starting object table scan
02/11/2012 12:07:41 PM.698 UTC: Finished object table scan

Object audit is proceeding in FullAudit mode:
Scavenging completed (either single user mode or no pages to scavenge).
All audit checks are enabled.

Object audit as of 02/11/2012 12:07:41 PM UTC.
Summary of objects whose sizes exceed 100000 Bytes or Oops:

  ObjectID        Class     ClassName                                LogicalSize    
--------------------------------------------------------------------------------------------------------------
    305743617         74753 String                                      134740 Oops  
    149534721         74753 String                                      164661 Oops  
    173784833         74753 String                                      163312 Oops  
    196368897         74753 String                                      164661 Oops  
    305774593         74753 String                                      134740 Oops  
    175519489         74753 String                                      376305 Oops  
    196571393         74753 String                                      379399 Oops  
    175494145         74753 String                                      201874 Oops  
    197005569         74753 String                                      202074 Oops  
    149996289         74753 String                                      236426 Oops  
    151722753         74753 String                                      379399 Oops  
    151723777         74753 String                                      202074 Oops  
    274619393         74753 String                                     1170577 Oops  
    265139713         74753 String                                     1170577 Oops  
    215910913         66817 Array                                       331214 Oops  
    164965121         74753 String                                      236201 Oops  
    197155585         74753 String                                      236426 Oops  
    271373057         74753 String                                     1170577 Oops  
    268426753         74753 String                                      134740 Oops  
    264103681         74753 String                                     1170577 Oops  

----------- Object Statistics Summary -----------------

----- Instances of invisible (private) classes ------
   Number of instances:         1072
            Total size:        15855 K Bytes
          Average size:         14.8 Bytes

          Class:       209153 Instances:            0 Total Size:            0 K Bytes
          Class:       209409 Instances:         1072 Total Size:        15855 K Bytes
          Class:       209665 Instances:            0 Total Size:            0 K Bytes
          Class:       209921 Instances:            0 Total Size:            0 K Bytes
          Class:       210177 Instances:            0 Total Size:            0 K Bytes
          Class:       210433 Instances:            0 Total Size:            0 K Bytes
          Class:       210689 Instances:            0 Total Size:            0 K Bytes
          Class:       210945 Instances:            0 Total Size:            0 K Bytes
          Class:       211201 Instances:            0 Total Size:            0 K Bytes
          Class:       211457 Instances:            0 Total Size:            0 K Bytes
          Class:       211713 Instances:            0 Total Size:            0 K Bytes
          Class:       211969 Instances:            0 Total Size:            0 K Bytes
          Class:       212225 Instances:            0 Total Size:            0 K Bytes
          Class:       212481 Instances:            0 Total Size:            0 K Bytes
          Class:       212737 Instances:            0 Total Size:            0 K Bytes
          Class:       212993 Instances:            0 Total Size:            0 K Bytes
          Class:       213249 Instances:            0 Total Size:            0 K Bytes
          Class:       213505 Instances:            0 Total Size:            0 K Bytes
          Class:       213761 Instances:            0 Total Size:            0 K Bytes


----- Instances of visible classes -----------------
   Number of objects      :      1633432
   Total Size             :       157861 K Bytes
   size of Object Headers :        38283 K Bytes
   size of Object Values  :       116978 K Bytes
   size of Object Tags    :            0 K Bytes
   average of Object Value:         73.3 Bytes

Object Audit: Audit successfully completed; no errors were detected.
--setGcConfig: set reclaimMinPages to 40
--setGcConfig: set reclaimSleepTime to 10
--setGcConfig: set sleepTimeBetweenReclaimMs to 0
--postReclaimAll: restored reclaimMinPages to 40
true
topaz 1> printit
SystemRepository markForCollection
%
start MFC mark/sweep phase: 02/11/2012 12:08:56 PM UTC
WARNING, unable to resolve either garMarkSweepPageBufSize or mfcGcPageBufSize, using default 320
MarkSweepArgsSType::(): buffer size= 320 pages
start MFC process dead phase: 02/11/2012 12:08:59 PM UTC
end MFC: 02/11/2012 12:08:59 PM UTC
Successful completion of markForCollection.
    1613875 live objects found.
    20629 possible dead objects, occupying approximately 1856610 bytes, may be reclaimed.
topaz 1> printit
SystemRepository reclaimAll
%
--reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
--setGcConfig: set reclaimMinPages to 1
--reclaimAll: changed reclaimMinPages from 40 to 1
--setGcConfig: set reclaimSleepTime to 1
--setGcConfig: set sleepTimeBetweenReclaimMs to 0
--reclaimAll: using reclaimDeadEnabled true
--reclaimAll: simpleCommit loopCount 10
an Array
  #1 40
  #2 10
  #3 0

topaz 1> printit
SystemRepository objectAudit
%
--reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
--setGcConfig: set reclaimMinPages to 1
--reclaimAll: changed reclaimMinPages from 1 to 1
--setGcConfig: set reclaimSleepTime to 1
--setGcConfig: set sleepTimeBetweenReclaimMs to 0
--reclaimAll: using reclaimDeadEnabled true
02/11/2012 12:11:27 PM.328 UTC: Starting object table scan
02/11/2012 12:11:27 PM.921 UTC: Finished object table scan

Object audit is proceeding in FullAudit mode:
Scavenging completed (either single user mode or no pages to scavenge).
All audit checks are enabled.

Object audit as of 02/11/2012 12:11:27 PM UTC.
Summary of objects whose sizes exceed 100000 Bytes or Oops:

  ObjectID        Class     ClassName                                LogicalSize    
--------------------------------------------------------------------------------------------------------------
    305743617         74753 String                                      134740 Oops  
    149534721         74753 String                                      164661 Oops  
    173784833         74753 String                                      163312 Oops  
    196368897         74753 String                                      164661 Oops  
    305774593         74753 String                                      134740 Oops  
    175519489         74753 String                                      376305 Oops  
    196571393         74753 String                                      379399 Oops  
    175494145         74753 String                                      201874 Oops  
    197005569         74753 String                                      202074 Oops  
    149996289         74753 String                                      236426 Oops  
    151722753         74753 String                                      379399 Oops  
    151723777         74753 String                                      202074 Oops  
    274619393         74753 String                                     1170577 Oops  
    265139713         74753 String                                     1170577 Oops  
    215910913         66817 Array                                       331214 Oops  
    164965121         74753 String                                      236201 Oops  
    197155585         74753 String                                      236426 Oops  
    271373057         74753 String                                     1170577 Oops  
    268426753         74753 String                                      134740 Oops  
    264103681         74753 String                                     1170577 Oops  

----------- Object Statistics Summary -----------------

----- Instances of invisible (private) classes ------
   Number of instances:         1072
            Total size:        15855 K Bytes
          Average size:         14.8 Bytes

          Class:       209153 Instances:            0 Total Size:            0 K Bytes
          Class:       209409 Instances:         1072 Total Size:        15855 K Bytes
          Class:       209665 Instances:            0 Total Size:            0 K Bytes
          Class:       209921 Instances:            0 Total Size:            0 K Bytes
          Class:       210177 Instances:            0 Total Size:            0 K Bytes
          Class:       210433 Instances:            0 Total Size:            0 K Bytes
          Class:       210689 Instances:            0 Total Size:            0 K Bytes
          Class:       210945 Instances:            0 Total Size:            0 K Bytes
          Class:       211201 Instances:            0 Total Size:            0 K Bytes
          Class:       211457 Instances:            0 Total Size:            0 K Bytes
          Class:       211713 Instances:            0 Total Size:            0 K Bytes
          Class:       211969 Instances:            0 Total Size:            0 K Bytes
          Class:       212225 Instances:            0 Total Size:            0 K Bytes
          Class:       212481 Instances:            0 Total Size:            0 K Bytes
          Class:       212737 Instances:            0 Total Size:            0 K Bytes
          Class:       212993 Instances:            0 Total Size:            0 K Bytes
          Class:       213249 Instances:            0 Total Size:            0 K Bytes
          Class:       213505 Instances:            0 Total Size:            0 K Bytes
          Class:       213761 Instances:            0 Total Size:            0 K Bytes


----- Instances of visible classes -----------------
   Number of objects      :      1612803
   Total Size             :       156912 K Bytes
   size of Object Headers :        37800 K Bytes
   size of Object Values  :       116516 K Bytes
   size of Object Tags    :            0 K Bytes
   average of Object Value:         74.0 Bytes

Object Audit: Audit successfully completed; no errors were detected.
--setGcConfig: set reclaimMinPages to 1
--setGcConfig: set reclaimSleepTime to 1
--setGcConfig: set sleepTimeBetweenReclaimMs to 0
--postReclaimAll: restored reclaimMinPages to 1
true
topaz 1>
topaz 1>


> If, as I suspect, you've got corruption in GsProcess objects they only impact Seaside session state, and should have disappeared by the time you run the object audit ...
>
> This problems seems to ring a bell, but it seems to me that the problem I am thinking of showed up in GemStone 3.0 and I think it was fixed in GemStone 3.0.1... so I'm curious what version of GemStone you are using.
>
> As I think about this, I seem to recall that the problem was related to deeply nested block structure in a method that was involved in partial continuations, so I am curious if you happen to have some deeply nested block structures let's say more than 5 or 6 levels deep in your method? In fact even in 3.0.1 I think that there might be an effective limit (the engineer that worked on this will be back on Monday for exact details), so if you are running with 3.0.1, you should definitely be suspicious of deep nesting of blocks...
>
> Dale
>
> [1] http://community.gemstone.com/display/GSS64/GemStoneS+64+Documentation
>
> ----- Original Message -----
> | From: "Lawrence Kellogg" <[hidden email]>
> | To: "GemStone Seaside beta discussion" <[hidden email]>
> | Sent: Friday, February 10, 2012 2:13:15 PM
> | Subject: [GS/SS Beta] Object does not exist error - Worry about it?
> |
> |
> |
> | Hello,
> | After a long series of calls and answers in Seaside, I got an Object
> | does not exist error that brought down the fast cgi gateway. My
> | production error handler was not triggered, although it was
> | installed, as far as I could tell. Strange. My supervise fastcgi
> | process also did not pick up my dead fastcgi process. Not a good
> | day.
> |
> | Here is the walkback:
> |
> |
> |
> | USER IDS: REAL=seasideuser (500) EFFECTIVE=seasideuser (500) |
> | |_____________________________________________________________________________|
> | topaz> topaz> topaz> topaz> topaz> topaz> topaz> [Info]: LNK
> | client/gem GCI levels = 844/844
> | [Info]: User ID: DataCurator
> | [Info]: Repository: seaside
> | [Info]: Session ID: 5
> | [Info]: GCI Client Host: <Linked>
> | [Info]: Page server PID: -1
> | [Info]: Login Time: 02/10/2012 09:27:56 PM.572 UTC
> | [02/10/2012 09:27:56 PM.592 UTC] gci login: currSession 1 rpc gem
> | processId -1
> | successful login
> | topaz 1> topaz 1> [20 sz:0 cls: 76289 UndefinedObject] nil
> | topaz 1> topaz 1> [76033 sz:19 cls: 801793 System class] System class
> | superClass [72193 sz:19 cls: 206081 Object class] Object class
> | format [258 sz:0 cls: 74241 SmallInteger] 32
> | instVars [2 sz:0 cls: 74241 SmallInteger] 0
> | instVarNames [422145 sz:0 cls: 66817 Array] an Array
> | constraints [421889 sz:0 cls: 66817 Array] an Array
> | classVars [421633 sz:26 cls: 111361 SymbolDictionary] a
> | SymbolDictionary
> | methodDict [711937 sz:112 cls: 99073 GsMethodDictionary] a
> | GsMethodDictionary
> | poolDictionaries [421377 sz:0 cls: 66817 Array] an Array
> | categories [421121 sz:28 cls: 99073 GsMethodDictionary] a
> | GsMethodDictionary
> | secondarySuperclasses [20 sz:0 cls: 76289 UndefinedObject] nil
> | name [801537 sz:6 cls: 110849 Symbol] System
> | classHistory [420865 sz:3 cls: 82689 ClassHistory] a ClassHistory
> | description [13498369 sz:10 cls: 95233 GsClassDocumentation] a
> | GsClassDocumentation
> | migrationDestination [20 sz:0 cls: 76289 UndefinedObject] nil
> | timeStamp [14510593 sz:4 cls: 118785 DateTime] a DateTime
> | userId [14508801 sz:10 cls: 74753 String] SystemUser
> | extraDict [14524929 sz:14 cls: 111361 SymbolDictionary] a
> | SymbolDictionary
> | classCategory [20 sz:0 cls: 76289 UndefinedObject] nil
> | subclasses [20 sz:0 cls: 76289 UndefinedObject] nil
> |
> |
> | topaz 1> topaz 1> WAFastCGIAdaptor Server started on port 9001
> | -----------------------------------------------------
> | GemStone: Error Nonfatal
> | The object with object ID 81065894683350528 does not exist.
> | Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1 Context :
> | 526648321
> | Arg 1: [648527157466804226 sz:0 cls: 74241 SmallInteger]
> | 81065894683350528
> |
> |
> | Now executing the following command saved from "iferr 1":
> | where
> | ==> 1 GsProcess class >> installPartialContinuation:atLevel:value: @2
> | line 1 [GsMethod 4487425]
> | 2 WAPartialContinuation >> value: @13 line 11 [GsMethod 212791041]
> | 3 WAPartialContinuation >> valueWithPossibleArguments: @2 line 2
> | [GsMethod 218326273]
> | 4 ComplexBlock in WAComponent >> show:onAnswer:delegation: @7 line 7
> | [GsMethod 194749185]
> | 5 ComplexBlock in ExecutableBlock >> valueWithPossibleArguments: @12
> | line 8 [GsMethod 116163585]
> | 6 WAAnswerHandler >> handleAnswer:continueWith: @3 line 2 [GsMethod
> | 194735873]
> | 7 WADecoration >> handleAnswer: @6 line 3 [GsMethod 194731009]
> | 8 WAComponent >> answer: @2 line 5 [GsMethod 194751745]
> |
> |
> |
> |
> | I found this on the net:
> |
> |
> |
> | Object does not exist errors
> | GBS applications may encounter object does not exist errors in
> | non-persistent
> | objects. This is due to a problem with the fix for bug #40703 in
> | version
> | 2.4.4, which resulted in non-persistent objects not properly
> | protected
> | from garbage collection.
> |
> | Workaround:
> |
> | none/not applicable
> | from:
> |
> |
> |
> |
> |
> |
> | http://www.gemstone.com/docs/GemStoneS/bugnotes/bugnotes/40948.html
> |
> |
> |
> | So, should I worry about this? I implemented code that allowed a user
> | to call an editor, switch out on the navigation menu, call another
> | editor,
> | switch out. With each switch, I send answer: false to the open editor
> | to close it so that it is not hanging around open. My idea
> | was to hide the section navigation when the editor came up but I'm
> | getting push back from my user.
> |
> |
> | What do you think?
> |
> |
> | Larry
> |
> |
> |
> |

Reply | Threaded
Open this post in threaded view
|

Re: Object does not exist error - Worry about it?

Dale Henrichs
Larry,

Yes, everything looks clean, I'm a little bit surprised that you didn't find the original error in you first audit, but the implication is that the "corrupt object" never got persisted ... indicating some other type of corruption ...

A clean object audit means that your data base has no corruption so you're good to go ... I'll talk to some guys on Monday and see if they have some ideas as to what might have happened...there's a bug in there somewhere, but for now it looks like it is isolated to the local state in a gem ...

Dale

----- Original Message -----
| From: "Lawrence Kellogg" <[hidden email]>
| To: "GemStone Seaside beta discussion" <[hidden email]>
| Sent: Saturday, February 11, 2012 4:18:06 AM
| Subject: Re: [GS/SS Beta] Object does not exist error - Worry about it?
|
|
| On Feb 10, 2012, at 7:04 PM, Dale Henrichs wrote:
|
| > Larry,
| >
| > Object does not exist errors are not good things ... and the gem
| > coming down in this case is probably a good thing ... The fact
| > that the problem is showing up in a GsProcess means that the
| > Seaside session data structures are corrupted but not your model
| > data ...
| >
| > You can check for corruption in your data base by running an object
| > audit (see section 8.2 of the System Administration Guide[1]). If
| > you follow these steps you own't need to run the object audit as
| > single user (see the docs):
| >
| >  - expire sessions
| >  - mfc
| >  - reclaimAll
| >  - object audit
| >
|
| Hello Dale,
|   Ok, I ran:
|
| System stopUserSessions
| SystemRepository objectAudit
| SystemRepository markForCollection
| SystemRepository reclaimAll
| SystemRepository objectAudit
|
| I don't see any errors. Here is my log. What do you make of it?
|
| Larry
|
|
| [Info]: Login Time: 02/11/2012 12:06:22 PM.972 UTC
| [02/11/2012 12:06:23 PM.001 UTC] gci login: currSession 1 rpc gem
| processId -1
| successful login
| topaz 1> printit
| System hasMissingGcGems
| %
| false
| topaz 1> printit
| System stopUserSessions
| %
| System class
|   superClass      Object class
|   format          32
|   instVars        0
|   instVarNames    an Array
|   constraints     an Array
|   classVars       a SymbolDictionary
|   methodDict      a GsMethodDictionary
|   poolDictionaries an Array
|   categories      a GsMethodDictionary
|   secondarySuperclasses nil
|   name            System
|   classHistory    a ClassHistory
|   description     a GsClassDocumentation
|   migrationDestination nil
|   timeStamp       a DateTime
|   userId          SystemUser
|   extraDict       a SymbolDictionary
|   classCategory   nil
|   subclasses      nil
|
| topaz 1> printit
| SystemRepository objectAudit
| %
| --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
| --setGcConfig: set reclaimMinPages to 1
| --reclaimAll: changed reclaimMinPages from 40 to 1
| --setGcConfig: set reclaimSleepTime to 1
| --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| --reclaimAll: using reclaimDeadEnabled true
| --reclaimAll: simpleCommit loopCount 10
| 02/11/2012 12:07:41 PM.070 UTC: Starting object table scan
| 02/11/2012 12:07:41 PM.698 UTC: Finished object table scan
|
| Object audit is proceeding in FullAudit mode:
| Scavenging completed (either single user mode or no pages to
| scavenge).
| All audit checks are enabled.
|
| Object audit as of 02/11/2012 12:07:41 PM UTC.
| Summary of objects whose sizes exceed 100000 Bytes or Oops:
|
|   ObjectID        Class     ClassName
|                                  LogicalSize
| --------------------------------------------------------------------------------------------------------------
|     305743617         74753 String
|                                          134740 Oops
|     149534721         74753 String
|                                          164661 Oops
|     173784833         74753 String
|                                          163312 Oops
|     196368897         74753 String
|                                          164661 Oops
|     305774593         74753 String
|                                          134740 Oops
|     175519489         74753 String
|                                          376305 Oops
|     196571393         74753 String
|                                          379399 Oops
|     175494145         74753 String
|                                          201874 Oops
|     197005569         74753 String
|                                          202074 Oops
|     149996289         74753 String
|                                          236426 Oops
|     151722753         74753 String
|                                          379399 Oops
|     151723777         74753 String
|                                          202074 Oops
|     274619393         74753 String
|                                         1170577 Oops
|     265139713         74753 String
|                                         1170577 Oops
|     215910913         66817 Array
|                                           331214 Oops
|     164965121         74753 String
|                                          236201 Oops
|     197155585         74753 String
|                                          236426 Oops
|     271373057         74753 String
|                                         1170577 Oops
|     268426753         74753 String
|                                          134740 Oops
|     264103681         74753 String
|                                         1170577 Oops
|
| ----------- Object Statistics Summary -----------------
|
| ----- Instances of invisible (private) classes ------
|    Number of instances:         1072
|             Total size:        15855 K Bytes
|           Average size:         14.8 Bytes
|
|           Class:       209153 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       209409 Instances:         1072 Total Size:
|                  15855 K Bytes
|           Class:       209665 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       209921 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       210177 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       210433 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       210689 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       210945 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       211201 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       211457 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       211713 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       211969 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       212225 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       212481 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       212737 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       212993 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       213249 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       213505 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       213761 Instances:            0 Total Size:
|                      0 K Bytes
|
|
| ----- Instances of visible classes -----------------
|    Number of objects      :      1633432
|    Total Size             :       157861 K Bytes
|    size of Object Headers :        38283 K Bytes
|    size of Object Values  :       116978 K Bytes
|    size of Object Tags    :            0 K Bytes
|    average of Object Value:         73.3 Bytes
|
| Object Audit: Audit successfully completed; no errors were detected.
| --setGcConfig: set reclaimMinPages to 40
| --setGcConfig: set reclaimSleepTime to 10
| --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| --postReclaimAll: restored reclaimMinPages to 40
| true
| topaz 1> printit
| SystemRepository markForCollection
| %
| start MFC mark/sweep phase: 02/11/2012 12:08:56 PM UTC
| WARNING, unable to resolve either garMarkSweepPageBufSize or
| mfcGcPageBufSize, using default 320
| MarkSweepArgsSType::(): buffer size= 320 pages
| start MFC process dead phase: 02/11/2012 12:08:59 PM UTC
| end MFC: 02/11/2012 12:08:59 PM UTC
| Successful completion of markForCollection.
|     1613875 live objects found.
|     20629 possible dead objects, occupying approximately 1856610
|     bytes, may be reclaimed.
| topaz 1> printit
| SystemRepository reclaimAll
| %
| --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
| --setGcConfig: set reclaimMinPages to 1
| --reclaimAll: changed reclaimMinPages from 40 to 1
| --setGcConfig: set reclaimSleepTime to 1
| --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| --reclaimAll: using reclaimDeadEnabled true
| --reclaimAll: simpleCommit loopCount 10
| an Array
|   #1 40
|   #2 10
|   #3 0
|
| topaz 1> printit
| SystemRepository objectAudit
| %
| --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
| --setGcConfig: set reclaimMinPages to 1
| --reclaimAll: changed reclaimMinPages from 1 to 1
| --setGcConfig: set reclaimSleepTime to 1
| --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| --reclaimAll: using reclaimDeadEnabled true
| 02/11/2012 12:11:27 PM.328 UTC: Starting object table scan
| 02/11/2012 12:11:27 PM.921 UTC: Finished object table scan
|
| Object audit is proceeding in FullAudit mode:
| Scavenging completed (either single user mode or no pages to
| scavenge).
| All audit checks are enabled.
|
| Object audit as of 02/11/2012 12:11:27 PM UTC.
| Summary of objects whose sizes exceed 100000 Bytes or Oops:
|
|   ObjectID        Class     ClassName
|                                  LogicalSize
| --------------------------------------------------------------------------------------------------------------
|     305743617         74753 String
|                                          134740 Oops
|     149534721         74753 String
|                                          164661 Oops
|     173784833         74753 String
|                                          163312 Oops
|     196368897         74753 String
|                                          164661 Oops
|     305774593         74753 String
|                                          134740 Oops
|     175519489         74753 String
|                                          376305 Oops
|     196571393         74753 String
|                                          379399 Oops
|     175494145         74753 String
|                                          201874 Oops
|     197005569         74753 String
|                                          202074 Oops
|     149996289         74753 String
|                                          236426 Oops
|     151722753         74753 String
|                                          379399 Oops
|     151723777         74753 String
|                                          202074 Oops
|     274619393         74753 String
|                                         1170577 Oops
|     265139713         74753 String
|                                         1170577 Oops
|     215910913         66817 Array
|                                           331214 Oops
|     164965121         74753 String
|                                          236201 Oops
|     197155585         74753 String
|                                          236426 Oops
|     271373057         74753 String
|                                         1170577 Oops
|     268426753         74753 String
|                                          134740 Oops
|     264103681         74753 String
|                                         1170577 Oops
|
| ----------- Object Statistics Summary -----------------
|
| ----- Instances of invisible (private) classes ------
|    Number of instances:         1072
|             Total size:        15855 K Bytes
|           Average size:         14.8 Bytes
|
|           Class:       209153 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       209409 Instances:         1072 Total Size:
|                  15855 K Bytes
|           Class:       209665 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       209921 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       210177 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       210433 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       210689 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       210945 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       211201 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       211457 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       211713 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       211969 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       212225 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       212481 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       212737 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       212993 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       213249 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       213505 Instances:            0 Total Size:
|                      0 K Bytes
|           Class:       213761 Instances:            0 Total Size:
|                      0 K Bytes
|
|
| ----- Instances of visible classes -----------------
|    Number of objects      :      1612803
|    Total Size             :       156912 K Bytes
|    size of Object Headers :        37800 K Bytes
|    size of Object Values  :       116516 K Bytes
|    size of Object Tags    :            0 K Bytes
|    average of Object Value:         74.0 Bytes
|
| Object Audit: Audit successfully completed; no errors were detected.
| --setGcConfig: set reclaimMinPages to 1
| --setGcConfig: set reclaimSleepTime to 1
| --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| --postReclaimAll: restored reclaimMinPages to 1
| true
| topaz 1>
| topaz 1>
|
|
| > If, as I suspect, you've got corruption in GsProcess objects they
| > only impact Seaside session state, and should have disappeared by
| > the time you run the object audit ...
| >
| > This problems seems to ring a bell, but it seems to me that the
| > problem I am thinking of showed up in GemStone 3.0 and I think it
| > was fixed in GemStone 3.0.1... so I'm curious what version of
| > GemStone you are using.
| >
| > As I think about this, I seem to recall that the problem was
| > related to deeply nested block structure in a method that was
| > involved in partial continuations, so I am curious if you happen
| > to have some deeply nested block structures let's say more than 5
| > or 6 levels deep in your method? In fact even in 3.0.1 I think
| > that there might be an effective limit (the engineer that worked
| > on this will be back on Monday for exact details), so if you are
| > running with 3.0.1, you should definitely be suspicious of deep
| > nesting of blocks...
| >
| > Dale
| >
| > [1]
| > http://community.gemstone.com/display/GSS64/GemStoneS+64+Documentation
| >
| > ----- Original Message -----
| > | From: "Lawrence Kellogg" <[hidden email]>
| > | To: "GemStone Seaside beta discussion"
| > | <[hidden email]>
| > | Sent: Friday, February 10, 2012 2:13:15 PM
| > | Subject: [GS/SS Beta] Object does not exist error - Worry about
| > | it?
| > |
| > |
| > |
| > | Hello,
| > | After a long series of calls and answers in Seaside, I got an
| > | Object
| > | does not exist error that brought down the fast cgi gateway. My
| > | production error handler was not triggered, although it was
| > | installed, as far as I could tell. Strange. My supervise fastcgi
| > | process also did not pick up my dead fastcgi process. Not a good
| > | day.
| > |
| > | Here is the walkback:
| > |
| > |
| > |
| > | USER IDS: REAL=seasideuser (500) EFFECTIVE=seasideuser (500) |
| > | |_____________________________________________________________________________|
| > | topaz> topaz> topaz> topaz> topaz> topaz> topaz> [Info]: LNK
| > | client/gem GCI levels = 844/844
| > | [Info]: User ID: DataCurator
| > | [Info]: Repository: seaside
| > | [Info]: Session ID: 5
| > | [Info]: GCI Client Host: <Linked>
| > | [Info]: Page server PID: -1
| > | [Info]: Login Time: 02/10/2012 09:27:56 PM.572 UTC
| > | [02/10/2012 09:27:56 PM.592 UTC] gci login: currSession 1 rpc gem
| > | processId -1
| > | successful login
| > | topaz 1> topaz 1> [20 sz:0 cls: 76289 UndefinedObject] nil
| > | topaz 1> topaz 1> [76033 sz:19 cls: 801793 System class] System
| > | class
| > | superClass [72193 sz:19 cls: 206081 Object class] Object class
| > | format [258 sz:0 cls: 74241 SmallInteger] 32
| > | instVars [2 sz:0 cls: 74241 SmallInteger] 0
| > | instVarNames [422145 sz:0 cls: 66817 Array] an Array
| > | constraints [421889 sz:0 cls: 66817 Array] an Array
| > | classVars [421633 sz:26 cls: 111361 SymbolDictionary] a
| > | SymbolDictionary
| > | methodDict [711937 sz:112 cls: 99073 GsMethodDictionary] a
| > | GsMethodDictionary
| > | poolDictionaries [421377 sz:0 cls: 66817 Array] an Array
| > | categories [421121 sz:28 cls: 99073 GsMethodDictionary] a
| > | GsMethodDictionary
| > | secondarySuperclasses [20 sz:0 cls: 76289 UndefinedObject] nil
| > | name [801537 sz:6 cls: 110849 Symbol] System
| > | classHistory [420865 sz:3 cls: 82689 ClassHistory] a ClassHistory
| > | description [13498369 sz:10 cls: 95233 GsClassDocumentation] a
| > | GsClassDocumentation
| > | migrationDestination [20 sz:0 cls: 76289 UndefinedObject] nil
| > | timeStamp [14510593 sz:4 cls: 118785 DateTime] a DateTime
| > | userId [14508801 sz:10 cls: 74753 String] SystemUser
| > | extraDict [14524929 sz:14 cls: 111361 SymbolDictionary] a
| > | SymbolDictionary
| > | classCategory [20 sz:0 cls: 76289 UndefinedObject] nil
| > | subclasses [20 sz:0 cls: 76289 UndefinedObject] nil
| > |
| > |
| > | topaz 1> topaz 1> WAFastCGIAdaptor Server started on port 9001
| > | -----------------------------------------------------
| > | GemStone: Error Nonfatal
| > | The object with object ID 81065894683350528 does not exist.
| > | Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1
| > | Context :
| > | 526648321
| > | Arg 1: [648527157466804226 sz:0 cls: 74241 SmallInteger]
| > | 81065894683350528
| > |
| > |
| > | Now executing the following command saved from "iferr 1":
| > | where
| > | ==> 1 GsProcess class >>
| > | installPartialContinuation:atLevel:value: @2
| > | line 1 [GsMethod 4487425]
| > | 2 WAPartialContinuation >> value: @13 line 11 [GsMethod
| > | 212791041]
| > | 3 WAPartialContinuation >> valueWithPossibleArguments: @2 line 2
| > | [GsMethod 218326273]
| > | 4 ComplexBlock in WAComponent >> show:onAnswer:delegation: @7
| > | line 7
| > | [GsMethod 194749185]
| > | 5 ComplexBlock in ExecutableBlock >> valueWithPossibleArguments:
| > | @12
| > | line 8 [GsMethod 116163585]
| > | 6 WAAnswerHandler >> handleAnswer:continueWith: @3 line 2
| > | [GsMethod
| > | 194735873]
| > | 7 WADecoration >> handleAnswer: @6 line 3 [GsMethod 194731009]
| > | 8 WAComponent >> answer: @2 line 5 [GsMethod 194751745]
| > |
| > |
| > |
| > |
| > | I found this on the net:
| > |
| > |
| > |
| > | Object does not exist errors
| > | GBS applications may encounter object does not exist errors in
| > | non-persistent
| > | objects. This is due to a problem with the fix for bug #40703 in
| > | version
| > | 2.4.4, which resulted in non-persistent objects not properly
| > | protected
| > | from garbage collection.
| > |
| > | Workaround:
| > |
| > | none/not applicable
| > | from:
| > |
| > |
| > |
| > |
| > |
| > |
| > | http://www.gemstone.com/docs/GemStoneS/bugnotes/bugnotes/40948.html
| > |
| > |
| > |
| > | So, should I worry about this? I implemented code that allowed a
| > | user
| > | to call an editor, switch out on the navigation menu, call
| > | another
| > | editor,
| > | switch out. With each switch, I send answer: false to the open
| > | editor
| > | to close it so that it is not hanging around open. My idea
| > | was to hide the section navigation when the editor came up but
| > | I'm
| > | getting push back from my user.
| > |
| > |
| > | What do you think?
| > |
| > |
| > | Larry
| > |
| > |
| > |
| > |
|
|
Reply | Threaded
Open this post in threaded view
|

Re: Error 404 - Infinite recursion

Philippe Marschall
In reply to this post by Larry Kellogg
2012/2/10 Lawrence Kellogg <[hidden email]>:

>
> This is probably a stupid error on my part, but I'll share it.
>
>   So, my wife told me I needed to link the logo on the top of all
> the pages back to the home page, which is a dynamically generated Seaside
> page.
>
>   Without thinking too hard about it, I coded this:
>
> html anchor
>     url: 'http://www.example.com';
>     with: [ html image url: 'example.jpg' ]
>
> and clicked on the image from within one of other Seaside pages.
> Boom, it went into an infinite recursion, (I think), and
> everything fell down. Eventually some Error 404 got spit out.

Strange, do you have a stack trace?

>   It took be quite a while to get everything shut down, and
> restarted to bring the app back to life.
>
>   So, I can see why this is a big no-no. I don't need
> to really get back to that login page, I just need to build some links
> on the other pages to some static content.

Well it's not so simple because Seaside doesn't know about pages. For
Seaside there's really only just one page that's made up of the root
component. Messing directly with URLs in Seaside is error prone. For
example do you want a new session or keep the existing one? If so how
do you track sessions? In addition if you don't attach a continuation
key the following request will be treated as the first request of the
session and #initialRequest: will be sent to the root component. Is
that what you want?

The Seaside way to solve this is swapping components until the page
looks like the home page. If you're inside the right component this is
easy. If not you'll probably need some kind of message bus [1] to
inform the right component about what it should do.

 [1] http://onsmalltalk.com/maintaining-loose-coupling-in-seaside-components

Cheers
Philippe
Reply | Threaded
Open this post in threaded view
|

Re: Error 404 - Infinite recursion

Larry Kellogg

On Feb 12, 2012, at 12:16 PM, Philippe Marschall wrote:

> 2012/2/10 Lawrence Kellogg <[hidden email]>:
>>
>> This is probably a stupid error on my part, but I'll share it.
>>
>>   So, my wife told me I needed to link the logo on the top of all
>> the pages back to the home page, which is a dynamically generated Seaside
>> page.
>>
>>   Without thinking too hard about it, I coded this:
>>
>> html anchor
>>     url: 'http://www.example.com';
>>     with: [ html image url: 'example.jpg' ]
>>
>> and clicked on the image from within one of other Seaside pages.
>> Boom, it went into an infinite recursion, (I think), and
>> everything fell down. Eventually some Error 404 got spit out.
>
> Strange, do you have a stack trace?

No, unfortunately, I could not seem to find a stack trace anywhere.

>
>>   It took be quite a while to get everything shut down, and
>> restarted to bring the app back to life.
>>
>>   So, I can see why this is a big no-no. I don't need
>> to really get back to that login page, I just need to build some links
>> on the other pages to some static content.
>
> Well it's not so simple because Seaside doesn't know about pages. For
> Seaside there's really only just one page that's made up of the root
> component. Messing directly with URLs in Seaside is error prone.

  Yes, that's true, as I see now. I tried to explain this to my wife who thinks that
you should be able to navigate to any link, at any time, no matter what you're
doing. It is kind of the web view versus the desktop application view of the world.

  For instance, if you have a bunch of  navigation options, and you bring up an editor
component to create something, should you be allow the user to ignore the save/cancel
buttons and navigate away to look at something else? What happens to the
open view? Do you close it or leave it. If you leave it, then people are confused
that it is still open when they stumble upon it later.

  I started to hide other navigation options when a user brings up an
editor but I got pushback saying that it was too confusing. If you decide
to create something, is it should a bother to press the Cancel button to say
you've changed your mind? Some people think so.

  So, I wrote a bunch of code to send answer: false to the open view when the
people tried to navigate to other places, but it is a real pain.

 


> For
> example do you want a new session or keep the existing one? If so how
> do you track sessions? In addition if you don't attach a continuation
> key the following request will be treated as the first request of the
> session and #initialRequest: will be sent to the root component. Is
> that what you want?
>

  Right, I realized that creating a whole new session was not something I wanted
to do so I just cut off navigating back to the root of the application that way. I don't
link back to my login page from inside of the application. You can only get back to the login page by
logging out of the application.

  I can build links to some of the lower level static information pages that are accessible from the application pages
without going back to the login screen.


> The Seaside way to solve this is swapping components until the page
> looks like the home page. If you're inside the right component this is
> easy. If not you'll probably need some kind of message bus [1] to
> inform the right component about what it should do.
>
> [1] http://onsmalltalk.com/maintaining-loose-coupling-in-seaside-components
>
 
  Thanks for the link. I'll check it out. I have tried to make my components loosely coupled
so that i can use them anywhere.


> Cheers
> Philippe

Reply | Threaded
Open this post in threaded view
|

Re: Object does not exist error - Worry about it?

Larry Kellogg
In reply to this post by Dale Henrichs
Hello Dale,
  Well, my system has been up for days, running with no problems, not that it has been getting a lot of traffic, but still, no crashes. Today, I hit the Object does not exist error again. I guess I can do another object audit but, other than that, I'm not sure how to proceed. Do you think an upgrade to 2.4.5 will help me?

  Here is the walkback:

topaz 1> topaz 1> WAFastCGIAdaptor Server started on port 9001
-----------------------------------------------------
GemStone: Error         Nonfatal
The object with object ID 76562293713797632 does not exist.
Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1 Context : 412915713
Arg 1: [612498349710381058 sz:0 cls: 74241 SmallInteger] 76562293713797632

Now executing the following command saved from "iferr 1":
   where
==> 1 WAComponent >> decoration @3 line 1   [GsMethod 194749441]
2 WAComponent >> addDecoration: @2 line 6   [GsMethod 194748417]
3 WAComponent >> show:onAnswer:delegation: @10 line 8   [GsMethod 194749185]
4 WAComponent >> show:onAnswer: @5 line 5   [GsMethod 499699713]
5 WAComponent >> call:onAnswer: @5 line 8   [GsMethod 194750977]
6 ComplexBlock in WAComponent >> call: @3 line 4   [GsMethod 191317249]
7 ComplexBlock in WAComponent >> wait: @3 line 3   [GsMethod 191268353]
8 GRGemStonePlatform >> seasideSuspendFlowDo: @9 line 5   [GsMethod 499655937]
9 WAComponent >> wait: @4 line 3   [GsMethod 191268353]
10 WAComponent >> call: @4 line 4   [GsMethod 191317249]
11 PracticeJournalLoginTask >> go @14 line 9   [GsMethod 371393537]


Larry

On Feb 11, 2012, at 2:34 PM, Dale Henrichs wrote:

> Larry,
>
> Yes, everything looks clean, I'm a little bit surprised that you didn't find the original error in you first audit, but the implication is that the "corrupt object" never got persisted ... indicating some other type of corruption ...
>
> A clean object audit means that your data base has no corruption so you're good to go ... I'll talk to some guys on Monday and see if they have some ideas as to what might have happened...there's a bug in there somewhere, but for now it looks like it is isolated to the local state in a gem ...
>
> Dale
>
> ----- Original Message -----
> | From: "Lawrence Kellogg" <[hidden email]>
> | To: "GemStone Seaside beta discussion" <[hidden email]>
> | Sent: Saturday, February 11, 2012 4:18:06 AM
> | Subject: Re: [GS/SS Beta] Object does not exist error - Worry about it?
> |
> |
> | On Feb 10, 2012, at 7:04 PM, Dale Henrichs wrote:
> |
> | > Larry,
> | >
> | > Object does not exist errors are not good things ... and the gem
> | > coming down in this case is probably a good thing ... The fact
> | > that the problem is showing up in a GsProcess means that the
> | > Seaside session data structures are corrupted but not your model
> | > data ...
> | >
> | > You can check for corruption in your data base by running an object
> | > audit (see section 8.2 of the System Administration Guide[1]). If
> | > you follow these steps you own't need to run the object audit as
> | > single user (see the docs):
> | >
> | >  - expire sessions
> | >  - mfc
> | >  - reclaimAll
> | >  - object audit
> | >
> |
> | Hello Dale,
> |   Ok, I ran:
> |
> | System stopUserSessions
> | SystemRepository objectAudit
> | SystemRepository markForCollection
> | SystemRepository reclaimAll
> | SystemRepository objectAudit
> |
> | I don't see any errors. Here is my log. What do you make of it?
> |
> | Larry
> |
> |
> | [Info]: Login Time: 02/11/2012 12:06:22 PM.972 UTC
> | [02/11/2012 12:06:23 PM.001 UTC] gci login: currSession 1 rpc gem
> | processId -1
> | successful login
> | topaz 1> printit
> | System hasMissingGcGems
> | %
> | false
> | topaz 1> printit
> | System stopUserSessions
> | %
> | System class
> |   superClass      Object class
> |   format          32
> |   instVars        0
> |   instVarNames    an Array
> |   constraints     an Array
> |   classVars       a SymbolDictionary
> |   methodDict      a GsMethodDictionary
> |   poolDictionaries an Array
> |   categories      a GsMethodDictionary
> |   secondarySuperclasses nil
> |   name            System
> |   classHistory    a ClassHistory
> |   description     a GsClassDocumentation
> |   migrationDestination nil
> |   timeStamp       a DateTime
> |   userId          SystemUser
> |   extraDict       a SymbolDictionary
> |   classCategory   nil
> |   subclasses      nil
> |
> | topaz 1> printit
> | SystemRepository objectAudit
> | %
> | --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
> | --setGcConfig: set reclaimMinPages to 1
> | --reclaimAll: changed reclaimMinPages from 40 to 1
> | --setGcConfig: set reclaimSleepTime to 1
> | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
> | --reclaimAll: using reclaimDeadEnabled true
> | --reclaimAll: simpleCommit loopCount 10
> | 02/11/2012 12:07:41 PM.070 UTC: Starting object table scan
> | 02/11/2012 12:07:41 PM.698 UTC: Finished object table scan
> |
> | Object audit is proceeding in FullAudit mode:
> | Scavenging completed (either single user mode or no pages to
> | scavenge).
> | All audit checks are enabled.
> |
> | Object audit as of 02/11/2012 12:07:41 PM UTC.
> | Summary of objects whose sizes exceed 100000 Bytes or Oops:
> |
> |   ObjectID        Class     ClassName
> |                                  LogicalSize
> | --------------------------------------------------------------------------------------------------------------
> |     305743617         74753 String
> |                                          134740 Oops
> |     149534721         74753 String
> |                                          164661 Oops
> |     173784833         74753 String
> |                                          163312 Oops
> |     196368897         74753 String
> |                                          164661 Oops
> |     305774593         74753 String
> |                                          134740 Oops
> |     175519489         74753 String
> |                                          376305 Oops
> |     196571393         74753 String
> |                                          379399 Oops
> |     175494145         74753 String
> |                                          201874 Oops
> |     197005569         74753 String
> |                                          202074 Oops
> |     149996289         74753 String
> |                                          236426 Oops
> |     151722753         74753 String
> |                                          379399 Oops
> |     151723777         74753 String
> |                                          202074 Oops
> |     274619393         74753 String
> |                                         1170577 Oops
> |     265139713         74753 String
> |                                         1170577 Oops
> |     215910913         66817 Array
> |                                           331214 Oops
> |     164965121         74753 String
> |                                          236201 Oops
> |     197155585         74753 String
> |                                          236426 Oops
> |     271373057         74753 String
> |                                         1170577 Oops
> |     268426753         74753 String
> |                                          134740 Oops
> |     264103681         74753 String
> |                                         1170577 Oops
> |
> | ----------- Object Statistics Summary -----------------
> |
> | ----- Instances of invisible (private) classes ------
> |    Number of instances:         1072
> |             Total size:        15855 K Bytes
> |           Average size:         14.8 Bytes
> |
> |           Class:       209153 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       209409 Instances:         1072 Total Size:
> |                  15855 K Bytes
> |           Class:       209665 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       209921 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       210177 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       210433 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       210689 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       210945 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       211201 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       211457 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       211713 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       211969 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       212225 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       212481 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       212737 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       212993 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       213249 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       213505 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       213761 Instances:            0 Total Size:
> |                      0 K Bytes
> |
> |
> | ----- Instances of visible classes -----------------
> |    Number of objects      :      1633432
> |    Total Size             :       157861 K Bytes
> |    size of Object Headers :        38283 K Bytes
> |    size of Object Values  :       116978 K Bytes
> |    size of Object Tags    :            0 K Bytes
> |    average of Object Value:         73.3 Bytes
> |
> | Object Audit: Audit successfully completed; no errors were detected.
> | --setGcConfig: set reclaimMinPages to 40
> | --setGcConfig: set reclaimSleepTime to 10
> | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
> | --postReclaimAll: restored reclaimMinPages to 40
> | true
> | topaz 1> printit
> | SystemRepository markForCollection
> | %
> | start MFC mark/sweep phase: 02/11/2012 12:08:56 PM UTC
> | WARNING, unable to resolve either garMarkSweepPageBufSize or
> | mfcGcPageBufSize, using default 320
> | MarkSweepArgsSType::(): buffer size= 320 pages
> | start MFC process dead phase: 02/11/2012 12:08:59 PM UTC
> | end MFC: 02/11/2012 12:08:59 PM UTC
> | Successful completion of markForCollection.
> |     1613875 live objects found.
> |     20629 possible dead objects, occupying approximately 1856610
> |     bytes, may be reclaimed.
> | topaz 1> printit
> | SystemRepository reclaimAll
> | %
> | --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
> | --setGcConfig: set reclaimMinPages to 1
> | --reclaimAll: changed reclaimMinPages from 40 to 1
> | --setGcConfig: set reclaimSleepTime to 1
> | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
> | --reclaimAll: using reclaimDeadEnabled true
> | --reclaimAll: simpleCommit loopCount 10
> | an Array
> |   #1 40
> |   #2 10
> |   #3 0
> |
> | topaz 1> printit
> | SystemRepository objectAudit
> | %
> | --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
> | --setGcConfig: set reclaimMinPages to 1
> | --reclaimAll: changed reclaimMinPages from 1 to 1
> | --setGcConfig: set reclaimSleepTime to 1
> | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
> | --reclaimAll: using reclaimDeadEnabled true
> | 02/11/2012 12:11:27 PM.328 UTC: Starting object table scan
> | 02/11/2012 12:11:27 PM.921 UTC: Finished object table scan
> |
> | Object audit is proceeding in FullAudit mode:
> | Scavenging completed (either single user mode or no pages to
> | scavenge).
> | All audit checks are enabled.
> |
> | Object audit as of 02/11/2012 12:11:27 PM UTC.
> | Summary of objects whose sizes exceed 100000 Bytes or Oops:
> |
> |   ObjectID        Class     ClassName
> |                                  LogicalSize
> | --------------------------------------------------------------------------------------------------------------
> |     305743617         74753 String
> |                                          134740 Oops
> |     149534721         74753 String
> |                                          164661 Oops
> |     173784833         74753 String
> |                                          163312 Oops
> |     196368897         74753 String
> |                                          164661 Oops
> |     305774593         74753 String
> |                                          134740 Oops
> |     175519489         74753 String
> |                                          376305 Oops
> |     196571393         74753 String
> |                                          379399 Oops
> |     175494145         74753 String
> |                                          201874 Oops
> |     197005569         74753 String
> |                                          202074 Oops
> |     149996289         74753 String
> |                                          236426 Oops
> |     151722753         74753 String
> |                                          379399 Oops
> |     151723777         74753 String
> |                                          202074 Oops
> |     274619393         74753 String
> |                                         1170577 Oops
> |     265139713         74753 String
> |                                         1170577 Oops
> |     215910913         66817 Array
> |                                           331214 Oops
> |     164965121         74753 String
> |                                          236201 Oops
> |     197155585         74753 String
> |                                          236426 Oops
> |     271373057         74753 String
> |                                         1170577 Oops
> |     268426753         74753 String
> |                                          134740 Oops
> |     264103681         74753 String
> |                                         1170577 Oops
> |
> | ----------- Object Statistics Summary -----------------
> |
> | ----- Instances of invisible (private) classes ------
> |    Number of instances:         1072
> |             Total size:        15855 K Bytes
> |           Average size:         14.8 Bytes
> |
> |           Class:       209153 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       209409 Instances:         1072 Total Size:
> |                  15855 K Bytes
> |           Class:       209665 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       209921 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       210177 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       210433 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       210689 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       210945 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       211201 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       211457 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       211713 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       211969 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       212225 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       212481 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       212737 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       212993 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       213249 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       213505 Instances:            0 Total Size:
> |                      0 K Bytes
> |           Class:       213761 Instances:            0 Total Size:
> |                      0 K Bytes
> |
> |
> | ----- Instances of visible classes -----------------
> |    Number of objects      :      1612803
> |    Total Size             :       156912 K Bytes
> |    size of Object Headers :        37800 K Bytes
> |    size of Object Values  :       116516 K Bytes
> |    size of Object Tags    :            0 K Bytes
> |    average of Object Value:         74.0 Bytes
> |
> | Object Audit: Audit successfully completed; no errors were detected.
> | --setGcConfig: set reclaimMinPages to 1
> | --setGcConfig: set reclaimSleepTime to 1
> | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
> | --postReclaimAll: restored reclaimMinPages to 1
> | true
> | topaz 1>
> | topaz 1>
> |
> |
> | > If, as I suspect, you've got corruption in GsProcess objects they
> | > only impact Seaside session state, and should have disappeared by
> | > the time you run the object audit ...
> | >
> | > This problems seems to ring a bell, but it seems to me that the
> | > problem I am thinking of showed up in GemStone 3.0 and I think it
> | > was fixed in GemStone 3.0.1... so I'm curious what version of
> | > GemStone you are using.
> | >
> | > As I think about this, I seem to recall that the problem was
> | > related to deeply nested block structure in a method that was
> | > involved in partial continuations, so I am curious if you happen
> | > to have some deeply nested block structures let's say more than 5
> | > or 6 levels deep in your method? In fact even in 3.0.1 I think
> | > that there might be an effective limit (the engineer that worked
> | > on this will be back on Monday for exact details), so if you are
> | > running with 3.0.1, you should definitely be suspicious of deep
> | > nesting of blocks...
> | >
> | > Dale
> | >
> | > [1]
> | > http://community.gemstone.com/display/GSS64/GemStoneS+64+Documentation
> | >
> | > ----- Original Message -----
> | > | From: "Lawrence Kellogg" <[hidden email]>
> | > | To: "GemStone Seaside beta discussion"
> | > | <[hidden email]>
> | > | Sent: Friday, February 10, 2012 2:13:15 PM
> | > | Subject: [GS/SS Beta] Object does not exist error - Worry about
> | > | it?
> | > |
> | > |
> | > |
> | > | Hello,
> | > | After a long series of calls and answers in Seaside, I got an
> | > | Object
> | > | does not exist error that brought down the fast cgi gateway. My
> | > | production error handler was not triggered, although it was
> | > | installed, as far as I could tell. Strange. My supervise fastcgi
> | > | process also did not pick up my dead fastcgi process. Not a good
> | > | day.
> | > |
> | > | Here is the walkback:
> | > |
> | > |
> | > |
> | > | USER IDS: REAL=seasideuser (500) EFFECTIVE=seasideuser (500) |
> | > | |_____________________________________________________________________________|
> | > | topaz> topaz> topaz> topaz> topaz> topaz> topaz> [Info]: LNK
> | > | client/gem GCI levels = 844/844
> | > | [Info]: User ID: DataCurator
> | > | [Info]: Repository: seaside
> | > | [Info]: Session ID: 5
> | > | [Info]: GCI Client Host: <Linked>
> | > | [Info]: Page server PID: -1
> | > | [Info]: Login Time: 02/10/2012 09:27:56 PM.572 UTC
> | > | [02/10/2012 09:27:56 PM.592 UTC] gci login: currSession 1 rpc gem
> | > | processId -1
> | > | successful login
> | > | topaz 1> topaz 1> [20 sz:0 cls: 76289 UndefinedObject] nil
> | > | topaz 1> topaz 1> [76033 sz:19 cls: 801793 System class] System
> | > | class
> | > | superClass [72193 sz:19 cls: 206081 Object class] Object class
> | > | format [258 sz:0 cls: 74241 SmallInteger] 32
> | > | instVars [2 sz:0 cls: 74241 SmallInteger] 0
> | > | instVarNames [422145 sz:0 cls: 66817 Array] an Array
> | > | constraints [421889 sz:0 cls: 66817 Array] an Array
> | > | classVars [421633 sz:26 cls: 111361 SymbolDictionary] a
> | > | SymbolDictionary
> | > | methodDict [711937 sz:112 cls: 99073 GsMethodDictionary] a
> | > | GsMethodDictionary
> | > | poolDictionaries [421377 sz:0 cls: 66817 Array] an Array
> | > | categories [421121 sz:28 cls: 99073 GsMethodDictionary] a
> | > | GsMethodDictionary
> | > | secondarySuperclasses [20 sz:0 cls: 76289 UndefinedObject] nil
> | > | name [801537 sz:6 cls: 110849 Symbol] System
> | > | classHistory [420865 sz:3 cls: 82689 ClassHistory] a ClassHistory
> | > | description [13498369 sz:10 cls: 95233 GsClassDocumentation] a
> | > | GsClassDocumentation
> | > | migrationDestination [20 sz:0 cls: 76289 UndefinedObject] nil
> | > | timeStamp [14510593 sz:4 cls: 118785 DateTime] a DateTime
> | > | userId [14508801 sz:10 cls: 74753 String] SystemUser
> | > | extraDict [14524929 sz:14 cls: 111361 SymbolDictionary] a
> | > | SymbolDictionary
> | > | classCategory [20 sz:0 cls: 76289 UndefinedObject] nil
> | > | subclasses [20 sz:0 cls: 76289 UndefinedObject] nil
> | > |
> | > |
> | > | topaz 1> topaz 1> WAFastCGIAdaptor Server started on port 9001
> | > | -----------------------------------------------------
> | > | GemStone: Error Nonfatal
> | > | The object with object ID 81065894683350528 does not exist.
> | > | Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1
> | > | Context :
> | > | 526648321
> | > | Arg 1: [648527157466804226 sz:0 cls: 74241 SmallInteger]
> | > | 81065894683350528
> | > |
> | > |
> | > | Now executing the following command saved from "iferr 1":
> | > | where
> | > | ==> 1 GsProcess class >>
> | > | installPartialContinuation:atLevel:value: @2
> | > | line 1 [GsMethod 4487425]
> | > | 2 WAPartialContinuation >> value: @13 line 11 [GsMethod
> | > | 212791041]
> | > | 3 WAPartialContinuation >> valueWithPossibleArguments: @2 line 2
> | > | [GsMethod 218326273]
> | > | 4 ComplexBlock in WAComponent >> show:onAnswer:delegation: @7
> | > | line 7
> | > | [GsMethod 194749185]
> | > | 5 ComplexBlock in ExecutableBlock >> valueWithPossibleArguments:
> | > | @12
> | > | line 8 [GsMethod 116163585]
> | > | 6 WAAnswerHandler >> handleAnswer:continueWith: @3 line 2
> | > | [GsMethod
> | > | 194735873]
> | > | 7 WADecoration >> handleAnswer: @6 line 3 [GsMethod 194731009]
> | > | 8 WAComponent >> answer: @2 line 5 [GsMethod 194751745]
> | > |
> | > |
> | > |
> | > |
> | > | I found this on the net:
> | > |
> | > |
> | > |
> | > | Object does not exist errors
> | > | GBS applications may encounter object does not exist errors in
> | > | non-persistent
> | > | objects. This is due to a problem with the fix for bug #40703 in
> | > | version
> | > | 2.4.4, which resulted in non-persistent objects not properly
> | > | protected
> | > | from garbage collection.
> | > |
> | > | Workaround:
> | > |
> | > | none/not applicable
> | > | from:
> | > |
> | > |
> | > |
> | > |
> | > |
> | > |
> | > | http://www.gemstone.com/docs/GemStoneS/bugnotes/bugnotes/40948.html
> | > |
> | > |
> | > |
> | > | So, should I worry about this? I implemented code that allowed a
> | > | user
> | > | to call an editor, switch out on the navigation menu, call
> | > | another
> | > | editor,
> | > | switch out. With each switch, I send answer: false to the open
> | > | editor
> | > | to close it so that it is not hanging around open. My idea
> | > | was to hide the section navigation when the editor came up but
> | > | I'm
> | > | getting push back from my user.
> | > |
> | > |
> | > | What do you think?
> | > |
> | > |
> | > | Larry
> | > |
> | > |
> | > |
> | > |
> |
> |

Reply | Threaded
Open this post in threaded view
|

Re: Object does not exist error - Worry about it?

Larry Kellogg

On Feb 20, 2012, at 11:48 AM, Lawrence Kellogg wrote:

> Hello Dale,
>  Well, my system has been up for days, running with no problems, not that it has been getting a lot of traffic, but still, no crashes. Today, I hit the Object does not exist error again. I guess I can do another object audit but, other than that, I'm not sure how to proceed. Do you think an upgrade to 2.4.5 will help me?
>

  By the way, I went through the ObjectAudit steps again and did not find any errors…..

  Larry



>  Here is the walkback:
>
> topaz 1> topaz 1> WAFastCGIAdaptor Server started on port 9001
> -----------------------------------------------------
> GemStone: Error         Nonfatal
> The object with object ID 76562293713797632 does not exist.
> Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1 Context : 412915713
> Arg 1: [612498349710381058 sz:0 cls: 74241 SmallInteger] 76562293713797632
>
> Now executing the following command saved from "iferr 1":
>   where
> ==> 1 WAComponent >> decoration @3 line 1   [GsMethod 194749441]
> 2 WAComponent >> addDecoration: @2 line 6   [GsMethod 194748417]
> 3 WAComponent >> show:onAnswer:delegation: @10 line 8   [GsMethod 194749185]
> 4 WAComponent >> show:onAnswer: @5 line 5   [GsMethod 499699713]
> 5 WAComponent >> call:onAnswer: @5 line 8   [GsMethod 194750977]
> 6 ComplexBlock in WAComponent >> call: @3 line 4   [GsMethod 191317249]
> 7 ComplexBlock in WAComponent >> wait: @3 line 3   [GsMethod 191268353]
> 8 GRGemStonePlatform >> seasideSuspendFlowDo: @9 line 5   [GsMethod 499655937]
> 9 WAComponent >> wait: @4 line 3   [GsMethod 191268353]
> 10 WAComponent >> call: @4 line 4   [GsMethod 191317249]
> 11 PracticeJournalLoginTask >> go @14 line 9   [GsMethod 371393537]
>
>
> Larry
>
> On Feb 11, 2012, at 2:34 PM, Dale Henrichs wrote:
>
>> Larry,
>>
>> Yes, everything looks clean, I'm a little bit surprised that you didn't find the original error in you first audit, but the implication is that the "corrupt object" never got persisted ... indicating some other type of corruption ...
>>
>> A clean object audit means that your data base has no corruption so you're good to go ... I'll talk to some guys on Monday and see if they have some ideas as to what might have happened...there's a bug in there somewhere, but for now it looks like it is isolated to the local state in a gem ...
>>
>> Dale
>>
>> ----- Original Message -----
>> | From: "Lawrence Kellogg" <[hidden email]>
>> | To: "GemStone Seaside beta discussion" <[hidden email]>
>> | Sent: Saturday, February 11, 2012 4:18:06 AM
>> | Subject: Re: [GS/SS Beta] Object does not exist error - Worry about it?
>> |
>> |
>> | On Feb 10, 2012, at 7:04 PM, Dale Henrichs wrote:
>> |
>> | > Larry,
>> | >
>> | > Object does not exist errors are not good things ... and the gem
>> | > coming down in this case is probably a good thing ... The fact
>> | > that the problem is showing up in a GsProcess means that the
>> | > Seaside session data structures are corrupted but not your model
>> | > data ...
>> | >
>> | > You can check for corruption in your data base by running an object
>> | > audit (see section 8.2 of the System Administration Guide[1]). If
>> | > you follow these steps you own't need to run the object audit as
>> | > single user (see the docs):
>> | >
>> | >  - expire sessions
>> | >  - mfc
>> | >  - reclaimAll
>> | >  - object audit
>> | >
>> |
>> | Hello Dale,
>> |   Ok, I ran:
>> |
>> | System stopUserSessions
>> | SystemRepository objectAudit
>> | SystemRepository markForCollection
>> | SystemRepository reclaimAll
>> | SystemRepository objectAudit
>> |
>> | I don't see any errors. Here is my log. What do you make of it?
>> |
>> | Larry
>> |
>> |
>> | [Info]: Login Time: 02/11/2012 12:06:22 PM.972 UTC
>> | [02/11/2012 12:06:23 PM.001 UTC] gci login: currSession 1 rpc gem
>> | processId -1
>> | successful login
>> | topaz 1> printit
>> | System hasMissingGcGems
>> | %
>> | false
>> | topaz 1> printit
>> | System stopUserSessions
>> | %
>> | System class
>> |   superClass      Object class
>> |   format          32
>> |   instVars        0
>> |   instVarNames    an Array
>> |   constraints     an Array
>> |   classVars       a SymbolDictionary
>> |   methodDict      a GsMethodDictionary
>> |   poolDictionaries an Array
>> |   categories      a GsMethodDictionary
>> |   secondarySuperclasses nil
>> |   name            System
>> |   classHistory    a ClassHistory
>> |   description     a GsClassDocumentation
>> |   migrationDestination nil
>> |   timeStamp       a DateTime
>> |   userId          SystemUser
>> |   extraDict       a SymbolDictionary
>> |   classCategory   nil
>> |   subclasses      nil
>> |
>> | topaz 1> printit
>> | SystemRepository objectAudit
>> | %
>> | --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
>> | --setGcConfig: set reclaimMinPages to 1
>> | --reclaimAll: changed reclaimMinPages from 40 to 1
>> | --setGcConfig: set reclaimSleepTime to 1
>> | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
>> | --reclaimAll: using reclaimDeadEnabled true
>> | --reclaimAll: simpleCommit loopCount 10
>> | 02/11/2012 12:07:41 PM.070 UTC: Starting object table scan
>> | 02/11/2012 12:07:41 PM.698 UTC: Finished object table scan
>> |
>> | Object audit is proceeding in FullAudit mode:
>> | Scavenging completed (either single user mode or no pages to
>> | scavenge).
>> | All audit checks are enabled.
>> |
>> | Object audit as of 02/11/2012 12:07:41 PM UTC.
>> | Summary of objects whose sizes exceed 100000 Bytes or Oops:
>> |
>> |   ObjectID        Class     ClassName
>> |                                  LogicalSize
>> | --------------------------------------------------------------------------------------------------------------
>> |     305743617         74753 String
>> |                                          134740 Oops
>> |     149534721         74753 String
>> |                                          164661 Oops
>> |     173784833         74753 String
>> |                                          163312 Oops
>> |     196368897         74753 String
>> |                                          164661 Oops
>> |     305774593         74753 String
>> |                                          134740 Oops
>> |     175519489         74753 String
>> |                                          376305 Oops
>> |     196571393         74753 String
>> |                                          379399 Oops
>> |     175494145         74753 String
>> |                                          201874 Oops
>> |     197005569         74753 String
>> |                                          202074 Oops
>> |     149996289         74753 String
>> |                                          236426 Oops
>> |     151722753         74753 String
>> |                                          379399 Oops
>> |     151723777         74753 String
>> |                                          202074 Oops
>> |     274619393         74753 String
>> |                                         1170577 Oops
>> |     265139713         74753 String
>> |                                         1170577 Oops
>> |     215910913         66817 Array
>> |                                           331214 Oops
>> |     164965121         74753 String
>> |                                          236201 Oops
>> |     197155585         74753 String
>> |                                          236426 Oops
>> |     271373057         74753 String
>> |                                         1170577 Oops
>> |     268426753         74753 String
>> |                                          134740 Oops
>> |     264103681         74753 String
>> |                                         1170577 Oops
>> |
>> | ----------- Object Statistics Summary -----------------
>> |
>> | ----- Instances of invisible (private) classes ------
>> |    Number of instances:         1072
>> |             Total size:        15855 K Bytes
>> |           Average size:         14.8 Bytes
>> |
>> |           Class:       209153 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       209409 Instances:         1072 Total Size:
>> |                  15855 K Bytes
>> |           Class:       209665 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       209921 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       210177 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       210433 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       210689 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       210945 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       211201 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       211457 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       211713 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       211969 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       212225 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       212481 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       212737 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       212993 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       213249 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       213505 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       213761 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |
>> |
>> | ----- Instances of visible classes -----------------
>> |    Number of objects      :      1633432
>> |    Total Size             :       157861 K Bytes
>> |    size of Object Headers :        38283 K Bytes
>> |    size of Object Values  :       116978 K Bytes
>> |    size of Object Tags    :            0 K Bytes
>> |    average of Object Value:         73.3 Bytes
>> |
>> | Object Audit: Audit successfully completed; no errors were detected.
>> | --setGcConfig: set reclaimMinPages to 40
>> | --setGcConfig: set reclaimSleepTime to 10
>> | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
>> | --postReclaimAll: restored reclaimMinPages to 40
>> | true
>> | topaz 1> printit
>> | SystemRepository markForCollection
>> | %
>> | start MFC mark/sweep phase: 02/11/2012 12:08:56 PM UTC
>> | WARNING, unable to resolve either garMarkSweepPageBufSize or
>> | mfcGcPageBufSize, using default 320
>> | MarkSweepArgsSType::(): buffer size= 320 pages
>> | start MFC process dead phase: 02/11/2012 12:08:59 PM UTC
>> | end MFC: 02/11/2012 12:08:59 PM UTC
>> | Successful completion of markForCollection.
>> |     1613875 live objects found.
>> |     20629 possible dead objects, occupying approximately 1856610
>> |     bytes, may be reclaimed.
>> | topaz 1> printit
>> | SystemRepository reclaimAll
>> | %
>> | --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
>> | --setGcConfig: set reclaimMinPages to 1
>> | --reclaimAll: changed reclaimMinPages from 40 to 1
>> | --setGcConfig: set reclaimSleepTime to 1
>> | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
>> | --reclaimAll: using reclaimDeadEnabled true
>> | --reclaimAll: simpleCommit loopCount 10
>> | an Array
>> |   #1 40
>> |   #2 10
>> |   #3 0
>> |
>> | topaz 1> printit
>> | SystemRepository objectAudit
>> | %
>> | --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
>> | --setGcConfig: set reclaimMinPages to 1
>> | --reclaimAll: changed reclaimMinPages from 1 to 1
>> | --setGcConfig: set reclaimSleepTime to 1
>> | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
>> | --reclaimAll: using reclaimDeadEnabled true
>> | 02/11/2012 12:11:27 PM.328 UTC: Starting object table scan
>> | 02/11/2012 12:11:27 PM.921 UTC: Finished object table scan
>> |
>> | Object audit is proceeding in FullAudit mode:
>> | Scavenging completed (either single user mode or no pages to
>> | scavenge).
>> | All audit checks are enabled.
>> |
>> | Object audit as of 02/11/2012 12:11:27 PM UTC.
>> | Summary of objects whose sizes exceed 100000 Bytes or Oops:
>> |
>> |   ObjectID        Class     ClassName
>> |                                  LogicalSize
>> | --------------------------------------------------------------------------------------------------------------
>> |     305743617         74753 String
>> |                                          134740 Oops
>> |     149534721         74753 String
>> |                                          164661 Oops
>> |     173784833         74753 String
>> |                                          163312 Oops
>> |     196368897         74753 String
>> |                                          164661 Oops
>> |     305774593         74753 String
>> |                                          134740 Oops
>> |     175519489         74753 String
>> |                                          376305 Oops
>> |     196571393         74753 String
>> |                                          379399 Oops
>> |     175494145         74753 String
>> |                                          201874 Oops
>> |     197005569         74753 String
>> |                                          202074 Oops
>> |     149996289         74753 String
>> |                                          236426 Oops
>> |     151722753         74753 String
>> |                                          379399 Oops
>> |     151723777         74753 String
>> |                                          202074 Oops
>> |     274619393         74753 String
>> |                                         1170577 Oops
>> |     265139713         74753 String
>> |                                         1170577 Oops
>> |     215910913         66817 Array
>> |                                           331214 Oops
>> |     164965121         74753 String
>> |                                          236201 Oops
>> |     197155585         74753 String
>> |                                          236426 Oops
>> |     271373057         74753 String
>> |                                         1170577 Oops
>> |     268426753         74753 String
>> |                                          134740 Oops
>> |     264103681         74753 String
>> |                                         1170577 Oops
>> |
>> | ----------- Object Statistics Summary -----------------
>> |
>> | ----- Instances of invisible (private) classes ------
>> |    Number of instances:         1072
>> |             Total size:        15855 K Bytes
>> |           Average size:         14.8 Bytes
>> |
>> |           Class:       209153 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       209409 Instances:         1072 Total Size:
>> |                  15855 K Bytes
>> |           Class:       209665 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       209921 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       210177 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       210433 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       210689 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       210945 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       211201 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       211457 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       211713 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       211969 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       212225 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       212481 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       212737 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       212993 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       213249 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       213505 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |           Class:       213761 Instances:            0 Total Size:
>> |                      0 K Bytes
>> |
>> |
>> | ----- Instances of visible classes -----------------
>> |    Number of objects      :      1612803
>> |    Total Size             :       156912 K Bytes
>> |    size of Object Headers :        37800 K Bytes
>> |    size of Object Values  :       116516 K Bytes
>> |    size of Object Tags    :            0 K Bytes
>> |    average of Object Value:         74.0 Bytes
>> |
>> | Object Audit: Audit successfully completed; no errors were detected.
>> | --setGcConfig: set reclaimMinPages to 1
>> | --setGcConfig: set reclaimSleepTime to 1
>> | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
>> | --postReclaimAll: restored reclaimMinPages to 1
>> | true
>> | topaz 1>
>> | topaz 1>
>> |
>> |
>> | > If, as I suspect, you've got corruption in GsProcess objects they
>> | > only impact Seaside session state, and should have disappeared by
>> | > the time you run the object audit ...
>> | >
>> | > This problems seems to ring a bell, but it seems to me that the
>> | > problem I am thinking of showed up in GemStone 3.0 and I think it
>> | > was fixed in GemStone 3.0.1... so I'm curious what version of
>> | > GemStone you are using.
>> | >
>> | > As I think about this, I seem to recall that the problem was
>> | > related to deeply nested block structure in a method that was
>> | > involved in partial continuations, so I am curious if you happen
>> | > to have some deeply nested block structures let's say more than 5
>> | > or 6 levels deep in your method? In fact even in 3.0.1 I think
>> | > that there might be an effective limit (the engineer that worked
>> | > on this will be back on Monday for exact details), so if you are
>> | > running with 3.0.1, you should definitely be suspicious of deep
>> | > nesting of blocks...
>> | >
>> | > Dale
>> | >
>> | > [1]
>> | > http://community.gemstone.com/display/GSS64/GemStoneS+64+Documentation
>> | >
>> | > ----- Original Message -----
>> | > | From: "Lawrence Kellogg" <[hidden email]>
>> | > | To: "GemStone Seaside beta discussion"
>> | > | <[hidden email]>
>> | > | Sent: Friday, February 10, 2012 2:13:15 PM
>> | > | Subject: [GS/SS Beta] Object does not exist error - Worry about
>> | > | it?
>> | > |
>> | > |
>> | > |
>> | > | Hello,
>> | > | After a long series of calls and answers in Seaside, I got an
>> | > | Object
>> | > | does not exist error that brought down the fast cgi gateway. My
>> | > | production error handler was not triggered, although it was
>> | > | installed, as far as I could tell. Strange. My supervise fastcgi
>> | > | process also did not pick up my dead fastcgi process. Not a good
>> | > | day.
>> | > |
>> | > | Here is the walkback:
>> | > |
>> | > |
>> | > |
>> | > | USER IDS: REAL=seasideuser (500) EFFECTIVE=seasideuser (500) |
>> | > | |_____________________________________________________________________________|
>> | > | topaz> topaz> topaz> topaz> topaz> topaz> topaz> [Info]: LNK
>> | > | client/gem GCI levels = 844/844
>> | > | [Info]: User ID: DataCurator
>> | > | [Info]: Repository: seaside
>> | > | [Info]: Session ID: 5
>> | > | [Info]: GCI Client Host: <Linked>
>> | > | [Info]: Page server PID: -1
>> | > | [Info]: Login Time: 02/10/2012 09:27:56 PM.572 UTC
>> | > | [02/10/2012 09:27:56 PM.592 UTC] gci login: currSession 1 rpc gem
>> | > | processId -1
>> | > | successful login
>> | > | topaz 1> topaz 1> [20 sz:0 cls: 76289 UndefinedObject] nil
>> | > | topaz 1> topaz 1> [76033 sz:19 cls: 801793 System class] System
>> | > | class
>> | > | superClass [72193 sz:19 cls: 206081 Object class] Object class
>> | > | format [258 sz:0 cls: 74241 SmallInteger] 32
>> | > | instVars [2 sz:0 cls: 74241 SmallInteger] 0
>> | > | instVarNames [422145 sz:0 cls: 66817 Array] an Array
>> | > | constraints [421889 sz:0 cls: 66817 Array] an Array
>> | > | classVars [421633 sz:26 cls: 111361 SymbolDictionary] a
>> | > | SymbolDictionary
>> | > | methodDict [711937 sz:112 cls: 99073 GsMethodDictionary] a
>> | > | GsMethodDictionary
>> | > | poolDictionaries [421377 sz:0 cls: 66817 Array] an Array
>> | > | categories [421121 sz:28 cls: 99073 GsMethodDictionary] a
>> | > | GsMethodDictionary
>> | > | secondarySuperclasses [20 sz:0 cls: 76289 UndefinedObject] nil
>> | > | name [801537 sz:6 cls: 110849 Symbol] System
>> | > | classHistory [420865 sz:3 cls: 82689 ClassHistory] a ClassHistory
>> | > | description [13498369 sz:10 cls: 95233 GsClassDocumentation] a
>> | > | GsClassDocumentation
>> | > | migrationDestination [20 sz:0 cls: 76289 UndefinedObject] nil
>> | > | timeStamp [14510593 sz:4 cls: 118785 DateTime] a DateTime
>> | > | userId [14508801 sz:10 cls: 74753 String] SystemUser
>> | > | extraDict [14524929 sz:14 cls: 111361 SymbolDictionary] a
>> | > | SymbolDictionary
>> | > | classCategory [20 sz:0 cls: 76289 UndefinedObject] nil
>> | > | subclasses [20 sz:0 cls: 76289 UndefinedObject] nil
>> | > |
>> | > |
>> | > | topaz 1> topaz 1> WAFastCGIAdaptor Server started on port 9001
>> | > | -----------------------------------------------------
>> | > | GemStone: Error Nonfatal
>> | > | The object with object ID 81065894683350528 does not exist.
>> | > | Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1
>> | > | Context :
>> | > | 526648321
>> | > | Arg 1: [648527157466804226 sz:0 cls: 74241 SmallInteger]
>> | > | 81065894683350528
>> | > |
>> | > |
>> | > | Now executing the following command saved from "iferr 1":
>> | > | where
>> | > | ==> 1 GsProcess class >>
>> | > | installPartialContinuation:atLevel:value: @2
>> | > | line 1 [GsMethod 4487425]
>> | > | 2 WAPartialContinuation >> value: @13 line 11 [GsMethod
>> | > | 212791041]
>> | > | 3 WAPartialContinuation >> valueWithPossibleArguments: @2 line 2
>> | > | [GsMethod 218326273]
>> | > | 4 ComplexBlock in WAComponent >> show:onAnswer:delegation: @7
>> | > | line 7
>> | > | [GsMethod 194749185]
>> | > | 5 ComplexBlock in ExecutableBlock >> valueWithPossibleArguments:
>> | > | @12
>> | > | line 8 [GsMethod 116163585]
>> | > | 6 WAAnswerHandler >> handleAnswer:continueWith: @3 line 2
>> | > | [GsMethod
>> | > | 194735873]
>> | > | 7 WADecoration >> handleAnswer: @6 line 3 [GsMethod 194731009]
>> | > | 8 WAComponent >> answer: @2 line 5 [GsMethod 194751745]
>> | > |
>> | > |
>> | > |
>> | > |
>> | > | I found this on the net:
>> | > |
>> | > |
>> | > |
>> | > | Object does not exist errors
>> | > | GBS applications may encounter object does not exist errors in
>> | > | non-persistent
>> | > | objects. This is due to a problem with the fix for bug #40703 in
>> | > | version
>> | > | 2.4.4, which resulted in non-persistent objects not properly
>> | > | protected
>> | > | from garbage collection.
>> | > |
>> | > | Workaround:
>> | > |
>> | > | none/not applicable
>> | > | from:
>> | > |
>> | > |
>> | > |
>> | > |
>> | > |
>> | > |
>> | > | http://www.gemstone.com/docs/GemStoneS/bugnotes/bugnotes/40948.html
>> | > |
>> | > |
>> | > |
>> | > | So, should I worry about this? I implemented code that allowed a
>> | > | user
>> | > | to call an editor, switch out on the navigation menu, call
>> | > | another
>> | > | editor,
>> | > | switch out. With each switch, I send answer: false to the open
>> | > | editor
>> | > | to close it so that it is not hanging around open. My idea
>> | > | was to hide the section navigation when the editor came up but
>> | > | I'm
>> | > | getting push back from my user.
>> | > |
>> | > |
>> | > | What do you think?
>> | > |
>> | > |
>> | > | Larry
>> | > |
>> | > |
>> | > |
>> | > |
>> |
>> |
>

Reply | Threaded
Open this post in threaded view
|

Re: Object does not exist error - Worry about it?

Dale Henrichs
In reply to this post by Larry Kellogg
Larry,

We should try to dig into this one some more.

To start with what version of Gemstone are you using? If you are using 2.4.4.1, then I'm not aware of an issue that would warrant an upgrade to 2.4.5, but I will check around a bit...As I said before, the only place that I've seen "Obj does not exist errors" is in 3.0 and those bugs were fixed in 3.0.1.

This time we are getting the error while creating the continuation ... the last episode occurred when you were trying to execute from a continuation.

Could you share the source code for PracticeJournalLoginTask >> go? That's the first non-Seaside method on the stack below the error, so it's as good a place as any to start ...

It would be useful to see the entire stack as well. The partial continuation copies the stack back to a marker method and it would be useful to examine the source for the methods that are on the stck for clues as to what might be going on...

Dale

----- Original Message -----
| From: "Lawrence Kellogg" <[hidden email]>
| To: "GemStone Seaside beta discussion" <[hidden email]>
| Sent: Monday, February 20, 2012 8:48:22 AM
| Subject: Re: [GS/SS Beta] Object does not exist error - Worry about it?
|
| Hello Dale,
|   Well, my system has been up for days, running with no problems, not
|   that it has been getting a lot of traffic, but still, no crashes.
|   Today, I hit the Object does not exist error again. I guess I can
|   do another object audit but, other than that, I'm not sure how to
|   proceed. Do you think an upgrade to 2.4.5 will help me?
|
|   Here is the walkback:
|
| topaz 1> topaz 1> WAFastCGIAdaptor Server started on port 9001
| -----------------------------------------------------
| GemStone: Error         Nonfatal
| The object with object ID 76562293713797632 does not exist.
| Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1 Context :
| 412915713
| Arg 1: [612498349710381058 sz:0 cls: 74241 SmallInteger]
| 76562293713797632
|
| Now executing the following command saved from "iferr 1":
|    where
| ==> 1 WAComponent >> decoration @3 line 1   [GsMethod 194749441]
| 2 WAComponent >> addDecoration: @2 line 6   [GsMethod 194748417]
| 3 WAComponent >> show:onAnswer:delegation: @10 line 8   [GsMethod
| 194749185]
| 4 WAComponent >> show:onAnswer: @5 line 5   [GsMethod 499699713]
| 5 WAComponent >> call:onAnswer: @5 line 8   [GsMethod 194750977]
| 6 ComplexBlock in WAComponent >> call: @3 line 4   [GsMethod
| 191317249]
| 7 ComplexBlock in WAComponent >> wait: @3 line 3   [GsMethod
| 191268353]
| 8 GRGemStonePlatform >> seasideSuspendFlowDo: @9 line 5   [GsMethod
| 499655937]
| 9 WAComponent >> wait: @4 line 3   [GsMethod 191268353]
| 10 WAComponent >> call: @4 line 4   [GsMethod 191317249]
| 11 PracticeJournalLoginTask >> go @14 line 9   [GsMethod 371393537]
|
|
| Larry
|
| On Feb 11, 2012, at 2:34 PM, Dale Henrichs wrote:
|
| > Larry,
| >
| > Yes, everything looks clean, I'm a little bit surprised that you
| > didn't find the original error in you first audit, but the
| > implication is that the "corrupt object" never got persisted ...
| > indicating some other type of corruption ...
| >
| > A clean object audit means that your data base has no corruption so
| > you're good to go ... I'll talk to some guys on Monday and see if
| > they have some ideas as to what might have happened...there's a
| > bug in there somewhere, but for now it looks like it is isolated
| > to the local state in a gem ...
| >
| > Dale
| >
| > ----- Original Message -----
| > | From: "Lawrence Kellogg" <[hidden email]>
| > | To: "GemStone Seaside beta discussion"
| > | <[hidden email]>
| > | Sent: Saturday, February 11, 2012 4:18:06 AM
| > | Subject: Re: [GS/SS Beta] Object does not exist error - Worry
| > | about it?
| > |
| > |
| > | On Feb 10, 2012, at 7:04 PM, Dale Henrichs wrote:
| > |
| > | > Larry,
| > | >
| > | > Object does not exist errors are not good things ... and the
| > | > gem
| > | > coming down in this case is probably a good thing ... The fact
| > | > that the problem is showing up in a GsProcess means that the
| > | > Seaside session data structures are corrupted but not your
| > | > model
| > | > data ...
| > | >
| > | > You can check for corruption in your data base by running an
| > | > object
| > | > audit (see section 8.2 of the System Administration Guide[1]).
| > | > If
| > | > you follow these steps you own't need to run the object audit
| > | > as
| > | > single user (see the docs):
| > | >
| > | >  - expire sessions
| > | >  - mfc
| > | >  - reclaimAll
| > | >  - object audit
| > | >
| > |
| > | Hello Dale,
| > |   Ok, I ran:
| > |
| > | System stopUserSessions
| > | SystemRepository objectAudit
| > | SystemRepository markForCollection
| > | SystemRepository reclaimAll
| > | SystemRepository objectAudit
| > |
| > | I don't see any errors. Here is my log. What do you make of it?
| > |
| > | Larry
| > |
| > |
| > | [Info]: Login Time: 02/11/2012 12:06:22 PM.972 UTC
| > | [02/11/2012 12:06:23 PM.001 UTC] gci login: currSession 1 rpc gem
| > | processId -1
| > | successful login
| > | topaz 1> printit
| > | System hasMissingGcGems
| > | %
| > | false
| > | topaz 1> printit
| > | System stopUserSessions
| > | %
| > | System class
| > |   superClass      Object class
| > |   format          32
| > |   instVars        0
| > |   instVarNames    an Array
| > |   constraints     an Array
| > |   classVars       a SymbolDictionary
| > |   methodDict      a GsMethodDictionary
| > |   poolDictionaries an Array
| > |   categories      a GsMethodDictionary
| > |   secondarySuperclasses nil
| > |   name            System
| > |   classHistory    a ClassHistory
| > |   description     a GsClassDocumentation
| > |   migrationDestination nil
| > |   timeStamp       a DateTime
| > |   userId          SystemUser
| > |   extraDict       a SymbolDictionary
| > |   classCategory   nil
| > |   subclasses      nil
| > |
| > | topaz 1> printit
| > | SystemRepository objectAudit
| > | %
| > | --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
| > | --setGcConfig: set reclaimMinPages to 1
| > | --reclaimAll: changed reclaimMinPages from 40 to 1
| > | --setGcConfig: set reclaimSleepTime to 1
| > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| > | --reclaimAll: using reclaimDeadEnabled true
| > | --reclaimAll: simpleCommit loopCount 10
| > | 02/11/2012 12:07:41 PM.070 UTC: Starting object table scan
| > | 02/11/2012 12:07:41 PM.698 UTC: Finished object table scan
| > |
| > | Object audit is proceeding in FullAudit mode:
| > | Scavenging completed (either single user mode or no pages to
| > | scavenge).
| > | All audit checks are enabled.
| > |
| > | Object audit as of 02/11/2012 12:07:41 PM UTC.
| > | Summary of objects whose sizes exceed 100000 Bytes or Oops:
| > |
| > |   ObjectID        Class     ClassName
| > |                                  LogicalSize
| > | --------------------------------------------------------------------------------------------------------------
| > |     305743617         74753 String
| > |                                          134740 Oops
| > |     149534721         74753 String
| > |                                          164661 Oops
| > |     173784833         74753 String
| > |                                          163312 Oops
| > |     196368897         74753 String
| > |                                          164661 Oops
| > |     305774593         74753 String
| > |                                          134740 Oops
| > |     175519489         74753 String
| > |                                          376305 Oops
| > |     196571393         74753 String
| > |                                          379399 Oops
| > |     175494145         74753 String
| > |                                          201874 Oops
| > |     197005569         74753 String
| > |                                          202074 Oops
| > |     149996289         74753 String
| > |                                          236426 Oops
| > |     151722753         74753 String
| > |                                          379399 Oops
| > |     151723777         74753 String
| > |                                          202074 Oops
| > |     274619393         74753 String
| > |                                         1170577 Oops
| > |     265139713         74753 String
| > |                                         1170577 Oops
| > |     215910913         66817 Array
| > |                                           331214 Oops
| > |     164965121         74753 String
| > |                                          236201 Oops
| > |     197155585         74753 String
| > |                                          236426 Oops
| > |     271373057         74753 String
| > |                                         1170577 Oops
| > |     268426753         74753 String
| > |                                          134740 Oops
| > |     264103681         74753 String
| > |                                         1170577 Oops
| > |
| > | ----------- Object Statistics Summary -----------------
| > |
| > | ----- Instances of invisible (private) classes ------
| > |    Number of instances:         1072
| > |             Total size:        15855 K Bytes
| > |           Average size:         14.8 Bytes
| > |
| > |           Class:       209153 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       209409 Instances:         1072 Total Size:
| > |                  15855 K Bytes
| > |           Class:       209665 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       209921 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       210177 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       210433 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       210689 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       210945 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       211201 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       211457 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       211713 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       211969 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       212225 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       212481 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       212737 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       212993 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       213249 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       213505 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       213761 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |
| > |
| > | ----- Instances of visible classes -----------------
| > |    Number of objects      :      1633432
| > |    Total Size             :       157861 K Bytes
| > |    size of Object Headers :        38283 K Bytes
| > |    size of Object Values  :       116978 K Bytes
| > |    size of Object Tags    :            0 K Bytes
| > |    average of Object Value:         73.3 Bytes
| > |
| > | Object Audit: Audit successfully completed; no errors were
| > | detected.
| > | --setGcConfig: set reclaimMinPages to 40
| > | --setGcConfig: set reclaimSleepTime to 10
| > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| > | --postReclaimAll: restored reclaimMinPages to 40
| > | true
| > | topaz 1> printit
| > | SystemRepository markForCollection
| > | %
| > | start MFC mark/sweep phase: 02/11/2012 12:08:56 PM UTC
| > | WARNING, unable to resolve either garMarkSweepPageBufSize or
| > | mfcGcPageBufSize, using default 320
| > | MarkSweepArgsSType::(): buffer size= 320 pages
| > | start MFC process dead phase: 02/11/2012 12:08:59 PM UTC
| > | end MFC: 02/11/2012 12:08:59 PM UTC
| > | Successful completion of markForCollection.
| > |     1613875 live objects found.
| > |     20629 possible dead objects, occupying approximately 1856610
| > |     bytes, may be reclaimed.
| > | topaz 1> printit
| > | SystemRepository reclaimAll
| > | %
| > | --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
| > | --setGcConfig: set reclaimMinPages to 1
| > | --reclaimAll: changed reclaimMinPages from 40 to 1
| > | --setGcConfig: set reclaimSleepTime to 1
| > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| > | --reclaimAll: using reclaimDeadEnabled true
| > | --reclaimAll: simpleCommit loopCount 10
| > | an Array
| > |   #1 40
| > |   #2 10
| > |   #3 0
| > |
| > | topaz 1> printit
| > | SystemRepository objectAudit
| > | %
| > | --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
| > | --setGcConfig: set reclaimMinPages to 1
| > | --reclaimAll: changed reclaimMinPages from 1 to 1
| > | --setGcConfig: set reclaimSleepTime to 1
| > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| > | --reclaimAll: using reclaimDeadEnabled true
| > | 02/11/2012 12:11:27 PM.328 UTC: Starting object table scan
| > | 02/11/2012 12:11:27 PM.921 UTC: Finished object table scan
| > |
| > | Object audit is proceeding in FullAudit mode:
| > | Scavenging completed (either single user mode or no pages to
| > | scavenge).
| > | All audit checks are enabled.
| > |
| > | Object audit as of 02/11/2012 12:11:27 PM UTC.
| > | Summary of objects whose sizes exceed 100000 Bytes or Oops:
| > |
| > |   ObjectID        Class     ClassName
| > |                                  LogicalSize
| > | --------------------------------------------------------------------------------------------------------------
| > |     305743617         74753 String
| > |                                          134740 Oops
| > |     149534721         74753 String
| > |                                          164661 Oops
| > |     173784833         74753 String
| > |                                          163312 Oops
| > |     196368897         74753 String
| > |                                          164661 Oops
| > |     305774593         74753 String
| > |                                          134740 Oops
| > |     175519489         74753 String
| > |                                          376305 Oops
| > |     196571393         74753 String
| > |                                          379399 Oops
| > |     175494145         74753 String
| > |                                          201874 Oops
| > |     197005569         74753 String
| > |                                          202074 Oops
| > |     149996289         74753 String
| > |                                          236426 Oops
| > |     151722753         74753 String
| > |                                          379399 Oops
| > |     151723777         74753 String
| > |                                          202074 Oops
| > |     274619393         74753 String
| > |                                         1170577 Oops
| > |     265139713         74753 String
| > |                                         1170577 Oops
| > |     215910913         66817 Array
| > |                                           331214 Oops
| > |     164965121         74753 String
| > |                                          236201 Oops
| > |     197155585         74753 String
| > |                                          236426 Oops
| > |     271373057         74753 String
| > |                                         1170577 Oops
| > |     268426753         74753 String
| > |                                          134740 Oops
| > |     264103681         74753 String
| > |                                         1170577 Oops
| > |
| > | ----------- Object Statistics Summary -----------------
| > |
| > | ----- Instances of invisible (private) classes ------
| > |    Number of instances:         1072
| > |             Total size:        15855 K Bytes
| > |           Average size:         14.8 Bytes
| > |
| > |           Class:       209153 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       209409 Instances:         1072 Total Size:
| > |                  15855 K Bytes
| > |           Class:       209665 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       209921 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       210177 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       210433 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       210689 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       210945 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       211201 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       211457 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       211713 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       211969 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       212225 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       212481 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       212737 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       212993 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       213249 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       213505 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |           Class:       213761 Instances:            0 Total Size:
| > |                      0 K Bytes
| > |
| > |
| > | ----- Instances of visible classes -----------------
| > |    Number of objects      :      1612803
| > |    Total Size             :       156912 K Bytes
| > |    size of Object Headers :        37800 K Bytes
| > |    size of Object Values  :       116516 K Bytes
| > |    size of Object Tags    :            0 K Bytes
| > |    average of Object Value:         74.0 Bytes
| > |
| > | Object Audit: Audit successfully completed; no errors were
| > | detected.
| > | --setGcConfig: set reclaimMinPages to 1
| > | --setGcConfig: set reclaimSleepTime to 1
| > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| > | --postReclaimAll: restored reclaimMinPages to 1
| > | true
| > | topaz 1>
| > | topaz 1>
| > |
| > |
| > | > If, as I suspect, you've got corruption in GsProcess objects
| > | > they
| > | > only impact Seaside session state, and should have disappeared
| > | > by
| > | > the time you run the object audit ...
| > | >
| > | > This problems seems to ring a bell, but it seems to me that the
| > | > problem I am thinking of showed up in GemStone 3.0 and I think
| > | > it
| > | > was fixed in GemStone 3.0.1... so I'm curious what version of
| > | > GemStone you are using.
| > | >
| > | > As I think about this, I seem to recall that the problem was
| > | > related to deeply nested block structure in a method that was
| > | > involved in partial continuations, so I am curious if you
| > | > happen
| > | > to have some deeply nested block structures let's say more than
| > | > 5
| > | > or 6 levels deep in your method? In fact even in 3.0.1 I think
| > | > that there might be an effective limit (the engineer that
| > | > worked
| > | > on this will be back on Monday for exact details), so if you
| > | > are
| > | > running with 3.0.1, you should definitely be suspicious of deep
| > | > nesting of blocks...
| > | >
| > | > Dale
| > | >
| > | > [1]
| > | > http://community.gemstone.com/display/GSS64/GemStoneS+64+Documentation
| > | >
| > | > ----- Original Message -----
| > | > | From: "Lawrence Kellogg" <[hidden email]>
| > | > | To: "GemStone Seaside beta discussion"
| > | > | <[hidden email]>
| > | > | Sent: Friday, February 10, 2012 2:13:15 PM
| > | > | Subject: [GS/SS Beta] Object does not exist error - Worry
| > | > | about
| > | > | it?
| > | > |
| > | > |
| > | > |
| > | > | Hello,
| > | > | After a long series of calls and answers in Seaside, I got an
| > | > | Object
| > | > | does not exist error that brought down the fast cgi gateway.
| > | > | My
| > | > | production error handler was not triggered, although it was
| > | > | installed, as far as I could tell. Strange. My supervise
| > | > | fastcgi
| > | > | process also did not pick up my dead fastcgi process. Not a
| > | > | good
| > | > | day.
| > | > |
| > | > | Here is the walkback:
| > | > |
| > | > |
| > | > |
| > | > | USER IDS: REAL=seasideuser (500) EFFECTIVE=seasideuser (500)
| > | > | |
| > | > | |_____________________________________________________________________________|
| > | > | topaz> topaz> topaz> topaz> topaz> topaz> topaz> [Info]: LNK
| > | > | client/gem GCI levels = 844/844
| > | > | [Info]: User ID: DataCurator
| > | > | [Info]: Repository: seaside
| > | > | [Info]: Session ID: 5
| > | > | [Info]: GCI Client Host: <Linked>
| > | > | [Info]: Page server PID: -1
| > | > | [Info]: Login Time: 02/10/2012 09:27:56 PM.572 UTC
| > | > | [02/10/2012 09:27:56 PM.592 UTC] gci login: currSession 1 rpc
| > | > | gem
| > | > | processId -1
| > | > | successful login
| > | > | topaz 1> topaz 1> [20 sz:0 cls: 76289 UndefinedObject] nil
| > | > | topaz 1> topaz 1> [76033 sz:19 cls: 801793 System class]
| > | > | System
| > | > | class
| > | > | superClass [72193 sz:19 cls: 206081 Object class] Object
| > | > | class
| > | > | format [258 sz:0 cls: 74241 SmallInteger] 32
| > | > | instVars [2 sz:0 cls: 74241 SmallInteger] 0
| > | > | instVarNames [422145 sz:0 cls: 66817 Array] an Array
| > | > | constraints [421889 sz:0 cls: 66817 Array] an Array
| > | > | classVars [421633 sz:26 cls: 111361 SymbolDictionary] a
| > | > | SymbolDictionary
| > | > | methodDict [711937 sz:112 cls: 99073 GsMethodDictionary] a
| > | > | GsMethodDictionary
| > | > | poolDictionaries [421377 sz:0 cls: 66817 Array] an Array
| > | > | categories [421121 sz:28 cls: 99073 GsMethodDictionary] a
| > | > | GsMethodDictionary
| > | > | secondarySuperclasses [20 sz:0 cls: 76289 UndefinedObject]
| > | > | nil
| > | > | name [801537 sz:6 cls: 110849 Symbol] System
| > | > | classHistory [420865 sz:3 cls: 82689 ClassHistory] a
| > | > | ClassHistory
| > | > | description [13498369 sz:10 cls: 95233 GsClassDocumentation]
| > | > | a
| > | > | GsClassDocumentation
| > | > | migrationDestination [20 sz:0 cls: 76289 UndefinedObject] nil
| > | > | timeStamp [14510593 sz:4 cls: 118785 DateTime] a DateTime
| > | > | userId [14508801 sz:10 cls: 74753 String] SystemUser
| > | > | extraDict [14524929 sz:14 cls: 111361 SymbolDictionary] a
| > | > | SymbolDictionary
| > | > | classCategory [20 sz:0 cls: 76289 UndefinedObject] nil
| > | > | subclasses [20 sz:0 cls: 76289 UndefinedObject] nil
| > | > |
| > | > |
| > | > | topaz 1> topaz 1> WAFastCGIAdaptor Server started on port
| > | > | 9001
| > | > | -----------------------------------------------------
| > | > | GemStone: Error Nonfatal
| > | > | The object with object ID 81065894683350528 does not exist.
| > | > | Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1
| > | > | Context :
| > | > | 526648321
| > | > | Arg 1: [648527157466804226 sz:0 cls: 74241 SmallInteger]
| > | > | 81065894683350528
| > | > |
| > | > |
| > | > | Now executing the following command saved from "iferr 1":
| > | > | where
| > | > | ==> 1 GsProcess class >>
| > | > | installPartialContinuation:atLevel:value: @2
| > | > | line 1 [GsMethod 4487425]
| > | > | 2 WAPartialContinuation >> value: @13 line 11 [GsMethod
| > | > | 212791041]
| > | > | 3 WAPartialContinuation >> valueWithPossibleArguments: @2
| > | > | line 2
| > | > | [GsMethod 218326273]
| > | > | 4 ComplexBlock in WAComponent >> show:onAnswer:delegation: @7
| > | > | line 7
| > | > | [GsMethod 194749185]
| > | > | 5 ComplexBlock in ExecutableBlock >>
| > | > | valueWithPossibleArguments:
| > | > | @12
| > | > | line 8 [GsMethod 116163585]
| > | > | 6 WAAnswerHandler >> handleAnswer:continueWith: @3 line 2
| > | > | [GsMethod
| > | > | 194735873]
| > | > | 7 WADecoration >> handleAnswer: @6 line 3 [GsMethod
| > | > | 194731009]
| > | > | 8 WAComponent >> answer: @2 line 5 [GsMethod 194751745]
| > | > |
| > | > |
| > | > |
| > | > |
| > | > | I found this on the net:
| > | > |
| > | > |
| > | > |
| > | > | Object does not exist errors
| > | > | GBS applications may encounter object does not exist errors
| > | > | in
| > | > | non-persistent
| > | > | objects. This is due to a problem with the fix for bug #40703
| > | > | in
| > | > | version
| > | > | 2.4.4, which resulted in non-persistent objects not properly
| > | > | protected
| > | > | from garbage collection.
| > | > |
| > | > | Workaround:
| > | > |
| > | > | none/not applicable
| > | > | from:
| > | > |
| > | > |
| > | > |
| > | > |
| > | > |
| > | > |
| > | > | http://www.gemstone.com/docs/GemStoneS/bugnotes/bugnotes/40948.html
| > | > |
| > | > |
| > | > |
| > | > | So, should I worry about this? I implemented code that
| > | > | allowed a
| > | > | user
| > | > | to call an editor, switch out on the navigation menu, call
| > | > | another
| > | > | editor,
| > | > | switch out. With each switch, I send answer: false to the
| > | > | open
| > | > | editor
| > | > | to close it so that it is not hanging around open. My idea
| > | > | was to hide the section navigation when the editor came up
| > | > | but
| > | > | I'm
| > | > | getting push back from my user.
| > | > |
| > | > |
| > | > | What do you think?
| > | > |
| > | > |
| > | > | Larry
| > | > |
| > | > |
| > | > |
| > | > |
| > |
| > |
|
|
Reply | Threaded
Open this post in threaded view
|

Re: Object does not exist error - Worry about it?

Larry Kellogg

On Feb 21, 2012, at 1:05 PM, Dale Henrichs wrote:

> Larry,
>
> We should try to dig into this one some more.
>
> To start with what version of Gemstone are you using? If you are using 2.4.4.1, then I'm not aware of an issue that would warrant an upgrade to 2.4.5, but I will check around a bit...As I said before, the only place that I've seen "Obj does not exist errors" is in 3.0 and those bugs were fixed in 3.0.1.
>

Dale,
Thanks for the help. I would like to get to the bottom of this error. This crash takes down Fastcgi so it kills the service.

According to the file in the directory, I'm on 2.4.4.1

GemStone64Bit2.4.4.1-x86_64.Linux




> This time we are getting the error while creating the continuation ... the last episode occurred when you were trying to execute from a continuation.
>
> Could you share the source code for PracticeJournalLoginTask >> go? That's the first non-Seaside method on the stack below the error, so it's as good a place as any to start …
>

  Here is the complete source code for the go method:  ;-)

go
        | user component |
        self call: self userLoginView.
        (self userLoginView user) notNil  
                ifTrue: [
                        component := self firstComponentToDisplayForUser: self userLoginView user.
                        [ component notNil ]
                                whileTrue: [
                                        self call: component.
                                        component := component nextComponentToBeDisplayed ] ]

A component is called, and when another component is selected the current component is sent answer: false and
the new component to call is returned from that nextComponentToBeDisplayed method.

I used to have an implementation that would give me a huge recursive nesting of continuations, as shown by
halo, but this shows everything on just a few levels, although I have to say that the walkback looks deep and gnarly.


> It would be useful to see the entire stack as well. The partial continuation copies the stack back to a marker method and it would be useful to examine the source for the methods that are on the stck for clues as to what might be going on...
>
> Dale


Here is the complete walk back:

topaz 1> topaz 1> WAFastCGIAdaptor Server started on port 9001
-----------------------------------------------------
GemStone: Error         Nonfatal
The object with object ID 76562293713797632 does not exist.
Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1 Context : 412915713
Arg 1: [612498349710381058 sz:0 cls: 74241 SmallInteger] 76562293713797632

Now executing the following command saved from "iferr 1":
   where
==> 1 WAComponent >> decoration @3 line 1   [GsMethod 194749441]
2 WAComponent >> addDecoration: @2 line 6   [GsMethod 194748417]
3 WAComponent >> show:onAnswer:delegation: @10 line 8   [GsMethod 194749185]
4 WAComponent >> show:onAnswer: @5 line 5   [GsMethod 499699713]
5 WAComponent >> call:onAnswer: @5 line 8   [GsMethod 194750977]
6 ComplexBlock in WAComponent >> call: @3 line 4   [GsMethod 191317249]
7 ComplexBlock in WAComponent >> wait: @3 line 3   [GsMethod 191268353]
8 GRGemStonePlatform >> seasideSuspendFlowDo: @9 line 5   [GsMethod 499655937]
9 WAComponent >> wait: @4 line 3   [GsMethod 191268353]
10 WAComponent >> call: @4 line 4   [GsMethod 191317249]
11 PracticeJournalLoginTask >> go @14 line 9   [GsMethod 371393537]
12 WATask >> execute @1 line 7   [GsMethod 195261697]
13 ComplexBlock in WATaskVisitor >> visitTask: @6 line 4   [GsMethod 194755841]
14 WACallback >> evaluateWithFieldValues: @5 line 2   [GsMethod 177495553]
15 ComplexBlock in WACallbackRegistry >> handle: @16 line 10   [GsMethod 177951489]
16 Collection >> do: @5 line 10   [GsMethod 1547777]
17 WACallbackRegistry >> handle: @17 line 9   [GsMethod 177951489]
18 ComplexBlock in WAActionPhaseContinuation >> runCallbacks @7 line 4   [GsMethod 202613505]
19 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
20 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
21 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
22 WARenderLoopContinuation >> withNotificationHandlerDo: @3 line 2   [GsMethod 202608385]
23 ComplexVCBlock in WAActionPhaseContinuation >> runCallbacks @8 line 3   [GsMethod 202613505]
24 ComplexBlock in ExecutableBlock >> ensure: @4 line 11   [GsMethod 2304001]
25 ComplexVCBlock in ExecutableBlock >> ensure: @6 line 11   [GsMethod 2304001]
26 WAActionPhaseContinuation >> runCallbacks @18 line 6   [GsMethod 202613505]
27 WAActionPhaseContinuation >> handleRequest @1 line 2   [GsMethod 202614017]
28 ComplexBlock in WASessionContinuation >> basicValue @3 line 2   [GsMethod 202625537]
29 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
30 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
31 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
32 WASessionContinuation >> withUnregisteredHandlerDo: @7 line 3   [GsMethod 202627073]
33 WASessionContinuation >> basicValue @4 line 2   [GsMethod 202625537]
34 WASessionContinuation >> value @3 line 5   [GsMethod 202623745]
35 WASession >> handleFiltered: @14 line 10   [GsMethod 202205441]
36 WARequestFilter >> handleFiltered: @2 line 4   [GsMethod 176192513]
37 ComplexBlock in WADeprecatedToolFilter >> handleFiltered: @3 line 2   [GsMethod 203213313]
38 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
39 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
40 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
41 WADeprecatedToolFilter >> handleFiltered: @6 line 3   [GsMethod 203213313]
42 WARequestFilter >> handleFiltered: @2 line 4   [GsMethod 176192513]
43 ComplexBlock in WATimingToolFilter >> handleFiltered: @4 line 3   [GsMethod 203208449]
44 ComplexBlock in ExecutableBlock >> ensure: @4 line 11   [GsMethod 2304001]
45 ComplexBlock in ExecutableBlock >> ensure: @6 line 11   [GsMethod 2304001]
46 WATimingToolFilter >> handleFiltered: @8 line 4   [GsMethod 203208449]
47 ComplexBlock in WARequestHandler >> handle: @4 line 4   [GsMethod 178568961]
48 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
49 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
50 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
51 WADynamicVariable class >> use:during: @4 line 4   [GsMethod 177805825]
52 ComplexBlock in WARequestContext >> push:during: @4 line 5   [GsMethod 176176129]
53 ComplexBlock in ExecutableBlock >> ensure: @4 line 11   [GsMethod 2304001]
54 ComplexBlock in ExecutableBlock >> ensure: @6 line 11   [GsMethod 2304001]
55 WARequestContext >> push:during: @7 line 6   [GsMethod 176176129]
56 WARequestHandler >> handle: @5 line 4   [GsMethod 178568961]
57 WASession >> handle: @10 line 11   [GsMethod 202210561]
58 WARegistry >> dispatch:to: @1 line 5   [GsMethod 176153857]
59 WARegistry >> handleKeyed:with: @2 line 5   [GsMethod 176155137]
60 WARegistry >> handleFiltered: @33 line 19   [GsMethod 176146945]
61 WAApplication >> handleFiltered: @9 line 8   [GsMethod 202644225]
62 WARequestFilter >> handleFiltered: @2 line 4   [GsMethod 176192513]
63 ComplexBlock in WAExceptionFilter >> handleFiltered: @6 line 7   [GsMethod 499529473]
64 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
65 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
66 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
67 WADynamicVariable class >> use:during: @4 line 4   [GsMethod 177805825]
68 ComplexVCBlock in WAExceptionFilter >> handleFiltered: @7 line 6   [GsMethod 499529473]
69 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
70 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
71 ComplexVCBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
72 WAExceptionHandler >> handleExceptionsDuring: @8 line 3   [GsMethod 177803521]
73 WAExceptionFilter >> handleFiltered: @8 line 4   [GsMethod 499529473]
74 ComplexBlock in WARequestHandler >> handle: @4 line 4   [GsMethod 178568961]
75 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
76 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
77 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
78 WADynamicVariable class >> use:during: @4 line 4   [GsMethod 177805825]
79 ComplexBlock in WARequestContext >> push:during: @4 line 5   [GsMethod 176176129]
80 ComplexBlock in ExecutableBlock >> ensure: @4 line 11   [GsMethod 2304001]
81 ComplexBlock in ExecutableBlock >> ensure: @6 line 11   [GsMethod 2304001]
82 WARequestContext >> push:during: @7 line 6   [GsMethod 176176129]
83 WARequestHandler >> handle: @5 line 4   [GsMethod 178568961]
84 WADispatcher >> handleFiltered:named: @7 line 5   [GsMethod 179090945]
85 WADispatcher >> handleFiltered: @7 line 6   [GsMethod 179087617]
86 ComplexBlock in WARequestHandler >> handle: @4 line 4   [GsMethod 178568961]
87 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
88 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
89 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
90 WADynamicVariable class >> use:during: @4 line 4   [GsMethod 177805825]
91 ComplexBlock in WARequestContext >> push:during: @4 line 5   [GsMethod 176176129]
92 ComplexBlock in ExecutableBlock >> ensure: @4 line 11   [GsMethod 2304001]
93 ComplexBlock in ExecutableBlock >> ensure: @6 line 11   [GsMethod 2304001]
94 WARequestContext >> push:during: @7 line 6   [GsMethod 176176129]
95 WARequestHandler >> handle: @5 line 4   [GsMethod 178568961]
96 ComplexBlock in WAServerAdaptor >> handleRequest: @4 line 4   [GsMethod 176816641]
97 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
98 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
99 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
100 WAServerAdaptor >> handleRequest: @6 line 5   [GsMethod 176816641]
101 WAServerAdaptor >> handle: @1 line 4   [GsMethod 176817921]
102 ComplexBlock in WAServerAdaptor >> process: @5 line 6   [GsMethod 176817153]
103 ComplexBlock in ExecutableBlock >> ensure: @4 line 11   [GsMethod 2304001]
104 ComplexBlock in ExecutableBlock >> ensure: @6 line 11   [GsMethod 2304001]
105 WAServerAdaptor >> process: @9 line 7   [GsMethod 176817153]
106 ComplexBlock in WAFastCGIAdaptor >> process: @3 line 6   [GsMethod 212442369]
107 ComplexBlock in GRGemStonePlatform >> seasideProcessRequestWithRetry:resultBlock: @12 line 11   [GsMethod 175179265]
108 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
109 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
110 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
111 ComplexVCBlock in GRGemStonePlatform >> seasideProcessRequestWithRetry:resultBlock: @18 line 12   [GsMethod 175179265]
112 ComplexBlock in ExecutableBlock >> ensure: @4 line 11   [GsMethod 2304001]
113 ComplexVCBlock in ExecutableBlock >> ensure: @6 line 11   [GsMethod 2304001]
114 TransientRecursionLock >> critical: @15 line 8   [GsMethod 21159937]
115 GRGemStonePlatform >> seasideProcessRequestWithRetry:resultBlock: @39 line 5   [GsMethod 175179265]
116 ComplexBlock in GRGemStonePlatform >> seasideProcessRequest:adaptor:resultBlock: @7 line 9   [GsMethod 175179521]
117 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
118 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
119 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
120 GRGemStonePlatform >> seasideProcessRequest:adaptor:resultBlock: @32 line 17   [GsMethod 175179521]
121 WAFastCGIAdaptor >> process: @4 line 4   [GsMethod 212442369]
122 ComplexBlock in WAFastCGIAdaptor >> answerResponderRole: @3 line 4   [GsMethod 212444161]
123 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
124 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
125 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
126 WAFastCGIAdaptor >> answerResponderRole: @9 line 5   [GsMethod 212444161]
127 FSResponderRole >> answer @2 line 4   [GsMethod 218695937]
128 FSRole >> handleConnection @3 line 5   [GsMethod 218705409]
129 FSConnection >> unsafeServe @4 line 8   [GsMethod 219646465]
130 ComplexBlock in FSConnection >> safeServe @5 line 8   [GsMethod 499288833]
131 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
132 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
133 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
134 ComplexVCBlock in FSConnection >> safeServe @8 line 9   [GsMethod 499288833]
135 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
136 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
137 ComplexVCBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
138 ComplexVCBlock in FSConnection >> safeServe @11 line 12   [GsMethod 499288833]
139 ComplexBlock in ExecutableBlock >> ensure: @4 line 11   [GsMethod 2304001]
140 ComplexVCBlock in ExecutableBlock >> ensure: @6 line 11   [GsMethod 2304001]
141 FSConnection >> safeServe @14 line 15   [GsMethod 499288833]
142 FSConnection >> serve @1 line 4   [GsMethod 219654145]
143 ComplexBlock in FSSocketServer >> listen: @9 line 15   [GsMethod 219292673]
144 GsProcess >> _startPart2 @15 line 17   [GsMethod 4501249]
145 GsProcess >> _start @1 line 9   [GsMethod 4501761]
  [GsProcess 412915713]
topaz 1> [268 sz:0 cls: 68097 Boolean] true
topaz 1>
HostCallDebugger: invoked at: Mon Feb 20 16:38:18 UTC 2012

UTL_GUARANTEE failed, File /export/toronto3/users/buildgss/244x-1/src/omverify.c line 28

Begin attempt to print C-level stack at: Mon Feb 20 16:38:18 UTC 2012


End of C-level stack:


hostcalldebugger invoked in process 6550, at 02/20/2012 04:38:18 PM.681 UTC
 notifying stone of fatal error

[Info]: Logging out at 02/20/2012 04:38:18 PM UTC



>
> ----- Original Message -----
> | From: "Lawrence Kellogg" <[hidden email]>
> | To: "GemStone Seaside beta discussion" <[hidden email]>
> | Sent: Monday, February 20, 2012 8:48:22 AM
> | Subject: Re: [GS/SS Beta] Object does not exist error - Worry about it?
> |
> | Hello Dale,
> |   Well, my system has been up for days, running with no problems, not
> |   that it has been getting a lot of traffic, but still, no crashes.
> |   Today, I hit the Object does not exist error again. I guess I can
> |   do another object audit but, other than that, I'm not sure how to
> |   proceed. Do you think an upgrade to 2.4.5 will help me?
> |
> |   Here is the walkback:
> |
> | topaz 1> topaz 1> WAFastCGIAdaptor Server started on port 9001
> | -----------------------------------------------------
> | GemStone: Error         Nonfatal
> | The object with object ID 76562293713797632 does not exist.
> | Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1 Context :
> | 412915713
> | Arg 1: [612498349710381058 sz:0 cls: 74241 SmallInteger]
> | 76562293713797632
> |
> | Now executing the following command saved from "iferr 1":
> |    where
> | ==> 1 WAComponent >> decoration @3 line 1   [GsMethod 194749441]
> | 2 WAComponent >> addDecoration: @2 line 6   [GsMethod 194748417]
> | 3 WAComponent >> show:onAnswer:delegation: @10 line 8   [GsMethod
> | 194749185]
> | 4 WAComponent >> show:onAnswer: @5 line 5   [GsMethod 499699713]
> | 5 WAComponent >> call:onAnswer: @5 line 8   [GsMethod 194750977]
> | 6 ComplexBlock in WAComponent >> call: @3 line 4   [GsMethod
> | 191317249]
> | 7 ComplexBlock in WAComponent >> wait: @3 line 3   [GsMethod
> | 191268353]
> | 8 GRGemStonePlatform >> seasideSuspendFlowDo: @9 line 5   [GsMethod
> | 499655937]
> | 9 WAComponent >> wait: @4 line 3   [GsMethod 191268353]
> | 10 WAComponent >> call: @4 line 4   [GsMethod 191317249]
> | 11 PracticeJournalLoginTask >> go @14 line 9   [GsMethod 371393537]
> |
> |
> | Larry
> |
> | On Feb 11, 2012, at 2:34 PM, Dale Henrichs wrote:
> |
> | > Larry,
> | >
> | > Yes, everything looks clean, I'm a little bit surprised that you
> | > didn't find the original error in you first audit, but the
> | > implication is that the "corrupt object" never got persisted ...
> | > indicating some other type of corruption ...
> | >
> | > A clean object audit means that your data base has no corruption so
> | > you're good to go ... I'll talk to some guys on Monday and see if
> | > they have some ideas as to what might have happened...there's a
> | > bug in there somewhere, but for now it looks like it is isolated
> | > to the local state in a gem ...
> | >
> | > Dale
> | >
> | > ----- Original Message -----
> | > | From: "Lawrence Kellogg" <[hidden email]>
> | > | To: "GemStone Seaside beta discussion"
> | > | <[hidden email]>
> | > | Sent: Saturday, February 11, 2012 4:18:06 AM
> | > | Subject: Re: [GS/SS Beta] Object does not exist error - Worry
> | > | about it?
> | > |
> | > |
> | > | On Feb 10, 2012, at 7:04 PM, Dale Henrichs wrote:
> | > |
> | > | > Larry,
> | > | >
> | > | > Object does not exist errors are not good things ... and the
> | > | > gem
> | > | > coming down in this case is probably a good thing ... The fact
> | > | > that the problem is showing up in a GsProcess means that the
> | > | > Seaside session data structures are corrupted but not your
> | > | > model
> | > | > data ...
> | > | >
> | > | > You can check for corruption in your data base by running an
> | > | > object
> | > | > audit (see section 8.2 of the System Administration Guide[1]).
> | > | > If
> | > | > you follow these steps you own't need to run the object audit
> | > | > as
> | > | > single user (see the docs):
> | > | >
> | > | >  - expire sessions
> | > | >  - mfc
> | > | >  - reclaimAll
> | > | >  - object audit
> | > | >
> | > |
> | > | Hello Dale,
> | > |   Ok, I ran:
> | > |
> | > | System stopUserSessions
> | > | SystemRepository objectAudit
> | > | SystemRepository markForCollection
> | > | SystemRepository reclaimAll
> | > | SystemRepository objectAudit
> | > |
> | > | I don't see any errors. Here is my log. What do you make of it?
> | > |
> | > | Larry
> | > |
> | > |
> | > | [Info]: Login Time: 02/11/2012 12:06:22 PM.972 UTC
> | > | [02/11/2012 12:06:23 PM.001 UTC] gci login: currSession 1 rpc gem
> | > | processId -1
> | > | successful login
> | > | topaz 1> printit
> | > | System hasMissingGcGems
> | > | %
> | > | false
> | > | topaz 1> printit
> | > | System stopUserSessions
> | > | %
> | > | System class
> | > |   superClass      Object class
> | > |   format          32
> | > |   instVars        0
> | > |   instVarNames    an Array
> | > |   constraints     an Array
> | > |   classVars       a SymbolDictionary
> | > |   methodDict      a GsMethodDictionary
> | > |   poolDictionaries an Array
> | > |   categories      a GsMethodDictionary
> | > |   secondarySuperclasses nil
> | > |   name            System
> | > |   classHistory    a ClassHistory
> | > |   description     a GsClassDocumentation
> | > |   migrationDestination nil
> | > |   timeStamp       a DateTime
> | > |   userId          SystemUser
> | > |   extraDict       a SymbolDictionary
> | > |   classCategory   nil
> | > |   subclasses      nil
> | > |
> | > | topaz 1> printit
> | > | SystemRepository objectAudit
> | > | %
> | > | --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
> | > | --setGcConfig: set reclaimMinPages to 1
> | > | --reclaimAll: changed reclaimMinPages from 40 to 1
> | > | --setGcConfig: set reclaimSleepTime to 1
> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
> | > | --reclaimAll: using reclaimDeadEnabled true
> | > | --reclaimAll: simpleCommit loopCount 10
> | > | 02/11/2012 12:07:41 PM.070 UTC: Starting object table scan
> | > | 02/11/2012 12:07:41 PM.698 UTC: Finished object table scan
> | > |
> | > | Object audit is proceeding in FullAudit mode:
> | > | Scavenging completed (either single user mode or no pages to
> | > | scavenge).
> | > | All audit checks are enabled.
> | > |
> | > | Object audit as of 02/11/2012 12:07:41 PM UTC.
> | > | Summary of objects whose sizes exceed 100000 Bytes or Oops:
> | > |
> | > |   ObjectID        Class     ClassName
> | > |                                  LogicalSize
> | > | --------------------------------------------------------------------------------------------------------------
> | > |     305743617         74753 String
> | > |                                          134740 Oops
> | > |     149534721         74753 String
> | > |                                          164661 Oops
> | > |     173784833         74753 String
> | > |                                          163312 Oops
> | > |     196368897         74753 String
> | > |                                          164661 Oops
> | > |     305774593         74753 String
> | > |                                          134740 Oops
> | > |     175519489         74753 String
> | > |                                          376305 Oops
> | > |     196571393         74753 String
> | > |                                          379399 Oops
> | > |     175494145         74753 String
> | > |                                          201874 Oops
> | > |     197005569         74753 String
> | > |                                          202074 Oops
> | > |     149996289         74753 String
> | > |                                          236426 Oops
> | > |     151722753         74753 String
> | > |                                          379399 Oops
> | > |     151723777         74753 String
> | > |                                          202074 Oops
> | > |     274619393         74753 String
> | > |                                         1170577 Oops
> | > |     265139713         74753 String
> | > |                                         1170577 Oops
> | > |     215910913         66817 Array
> | > |                                           331214 Oops
> | > |     164965121         74753 String
> | > |                                          236201 Oops
> | > |     197155585         74753 String
> | > |                                          236426 Oops
> | > |     271373057         74753 String
> | > |                                         1170577 Oops
> | > |     268426753         74753 String
> | > |                                          134740 Oops
> | > |     264103681         74753 String
> | > |                                         1170577 Oops
> | > |
> | > | ----------- Object Statistics Summary -----------------
> | > |
> | > | ----- Instances of invisible (private) classes ------
> | > |    Number of instances:         1072
> | > |             Total size:        15855 K Bytes
> | > |           Average size:         14.8 Bytes
> | > |
> | > |           Class:       209153 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       209409 Instances:         1072 Total Size:
> | > |                  15855 K Bytes
> | > |           Class:       209665 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       209921 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       210177 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       210433 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       210689 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       210945 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       211201 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       211457 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       211713 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       211969 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       212225 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       212481 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       212737 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       212993 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       213249 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       213505 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       213761 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |
> | > |
> | > | ----- Instances of visible classes -----------------
> | > |    Number of objects      :      1633432
> | > |    Total Size             :       157861 K Bytes
> | > |    size of Object Headers :        38283 K Bytes
> | > |    size of Object Values  :       116978 K Bytes
> | > |    size of Object Tags    :            0 K Bytes
> | > |    average of Object Value:         73.3 Bytes
> | > |
> | > | Object Audit: Audit successfully completed; no errors were
> | > | detected.
> | > | --setGcConfig: set reclaimMinPages to 40
> | > | --setGcConfig: set reclaimSleepTime to 10
> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
> | > | --postReclaimAll: restored reclaimMinPages to 40
> | > | true
> | > | topaz 1> printit
> | > | SystemRepository markForCollection
> | > | %
> | > | start MFC mark/sweep phase: 02/11/2012 12:08:56 PM UTC
> | > | WARNING, unable to resolve either garMarkSweepPageBufSize or
> | > | mfcGcPageBufSize, using default 320
> | > | MarkSweepArgsSType::(): buffer size= 320 pages
> | > | start MFC process dead phase: 02/11/2012 12:08:59 PM UTC
> | > | end MFC: 02/11/2012 12:08:59 PM UTC
> | > | Successful completion of markForCollection.
> | > |     1613875 live objects found.
> | > |     20629 possible dead objects, occupying approximately 1856610
> | > |     bytes, may be reclaimed.
> | > | topaz 1> printit
> | > | SystemRepository reclaimAll
> | > | %
> | > | --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
> | > | --setGcConfig: set reclaimMinPages to 1
> | > | --reclaimAll: changed reclaimMinPages from 40 to 1
> | > | --setGcConfig: set reclaimSleepTime to 1
> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
> | > | --reclaimAll: using reclaimDeadEnabled true
> | > | --reclaimAll: simpleCommit loopCount 10
> | > | an Array
> | > |   #1 40
> | > |   #2 10
> | > |   #3 0
> | > |
> | > | topaz 1> printit
> | > | SystemRepository objectAudit
> | > | %
> | > | --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
> | > | --setGcConfig: set reclaimMinPages to 1
> | > | --reclaimAll: changed reclaimMinPages from 1 to 1
> | > | --setGcConfig: set reclaimSleepTime to 1
> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
> | > | --reclaimAll: using reclaimDeadEnabled true
> | > | 02/11/2012 12:11:27 PM.328 UTC: Starting object table scan
> | > | 02/11/2012 12:11:27 PM.921 UTC: Finished object table scan
> | > |
> | > | Object audit is proceeding in FullAudit mode:
> | > | Scavenging completed (either single user mode or no pages to
> | > | scavenge).
> | > | All audit checks are enabled.
> | > |
> | > | Object audit as of 02/11/2012 12:11:27 PM UTC.
> | > | Summary of objects whose sizes exceed 100000 Bytes or Oops:
> | > |
> | > |   ObjectID        Class     ClassName
> | > |                                  LogicalSize
> | > | --------------------------------------------------------------------------------------------------------------
> | > |     305743617         74753 String
> | > |                                          134740 Oops
> | > |     149534721         74753 String
> | > |                                          164661 Oops
> | > |     173784833         74753 String
> | > |                                          163312 Oops
> | > |     196368897         74753 String
> | > |                                          164661 Oops
> | > |     305774593         74753 String
> | > |                                          134740 Oops
> | > |     175519489         74753 String
> | > |                                          376305 Oops
> | > |     196571393         74753 String
> | > |                                          379399 Oops
> | > |     175494145         74753 String
> | > |                                          201874 Oops
> | > |     197005569         74753 String
> | > |                                          202074 Oops
> | > |     149996289         74753 String
> | > |                                          236426 Oops
> | > |     151722753         74753 String
> | > |                                          379399 Oops
> | > |     151723777         74753 String
> | > |                                          202074 Oops
> | > |     274619393         74753 String
> | > |                                         1170577 Oops
> | > |     265139713         74753 String
> | > |                                         1170577 Oops
> | > |     215910913         66817 Array
> | > |                                           331214 Oops
> | > |     164965121         74753 String
> | > |                                          236201 Oops
> | > |     197155585         74753 String
> | > |                                          236426 Oops
> | > |     271373057         74753 String
> | > |                                         1170577 Oops
> | > |     268426753         74753 String
> | > |                                          134740 Oops
> | > |     264103681         74753 String
> | > |                                         1170577 Oops
> | > |
> | > | ----------- Object Statistics Summary -----------------
> | > |
> | > | ----- Instances of invisible (private) classes ------
> | > |    Number of instances:         1072
> | > |             Total size:        15855 K Bytes
> | > |           Average size:         14.8 Bytes
> | > |
> | > |           Class:       209153 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       209409 Instances:         1072 Total Size:
> | > |                  15855 K Bytes
> | > |           Class:       209665 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       209921 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       210177 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       210433 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       210689 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       210945 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       211201 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       211457 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       211713 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       211969 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       212225 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       212481 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       212737 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       212993 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       213249 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       213505 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |           Class:       213761 Instances:            0 Total Size:
> | > |                      0 K Bytes
> | > |
> | > |
> | > | ----- Instances of visible classes -----------------
> | > |    Number of objects      :      1612803
> | > |    Total Size             :       156912 K Bytes
> | > |    size of Object Headers :        37800 K Bytes
> | > |    size of Object Values  :       116516 K Bytes
> | > |    size of Object Tags    :            0 K Bytes
> | > |    average of Object Value:         74.0 Bytes
> | > |
> | > | Object Audit: Audit successfully completed; no errors were
> | > | detected.
> | > | --setGcConfig: set reclaimMinPages to 1
> | > | --setGcConfig: set reclaimSleepTime to 1
> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
> | > | --postReclaimAll: restored reclaimMinPages to 1
> | > | true
> | > | topaz 1>
> | > | topaz 1>
> | > |
> | > |
> | > | > If, as I suspect, you've got corruption in GsProcess objects
> | > | > they
> | > | > only impact Seaside session state, and should have disappeared
> | > | > by
> | > | > the time you run the object audit ...
> | > | >
> | > | > This problems seems to ring a bell, but it seems to me that the
> | > | > problem I am thinking of showed up in GemStone 3.0 and I think
> | > | > it
> | > | > was fixed in GemStone 3.0.1... so I'm curious what version of
> | > | > GemStone you are using.
> | > | >
> | > | > As I think about this, I seem to recall that the problem was
> | > | > related to deeply nested block structure in a method that was
> | > | > involved in partial continuations, so I am curious if you
> | > | > happen
> | > | > to have some deeply nested block structures let's say more than
> | > | > 5
> | > | > or 6 levels deep in your method? In fact even in 3.0.1 I think
> | > | > that there might be an effective limit (the engineer that
> | > | > worked
> | > | > on this will be back on Monday for exact details), so if you
> | > | > are
> | > | > running with 3.0.1, you should definitely be suspicious of deep
> | > | > nesting of blocks...
> | > | >
> | > | > Dale
> | > | >
> | > | > [1]
> | > | > http://community.gemstone.com/display/GSS64/GemStoneS+64+Documentation
> | > | >
> | > | > ----- Original Message -----
> | > | > | From: "Lawrence Kellogg" <[hidden email]>
> | > | > | To: "GemStone Seaside beta discussion"
> | > | > | <[hidden email]>
> | > | > | Sent: Friday, February 10, 2012 2:13:15 PM
> | > | > | Subject: [GS/SS Beta] Object does not exist error - Worry
> | > | > | about
> | > | > | it?
> | > | > |
> | > | > |
> | > | > |
> | > | > | Hello,
> | > | > | After a long series of calls and answers in Seaside, I got an
> | > | > | Object
> | > | > | does not exist error that brought down the fast cgi gateway.
> | > | > | My
> | > | > | production error handler was not triggered, although it was
> | > | > | installed, as far as I could tell. Strange. My supervise
> | > | > | fastcgi
> | > | > | process also did not pick up my dead fastcgi process. Not a
> | > | > | good
> | > | > | day.
> | > | > |
> | > | > | Here is the walkback:
> | > | > |
> | > | > |
> | > | > |
> | > | > | USER IDS: REAL=seasideuser (500) EFFECTIVE=seasideuser (500)
> | > | > | |
> | > | > | |_____________________________________________________________________________|
> | > | > | topaz> topaz> topaz> topaz> topaz> topaz> topaz> [Info]: LNK
> | > | > | client/gem GCI levels = 844/844
> | > | > | [Info]: User ID: DataCurator
> | > | > | [Info]: Repository: seaside
> | > | > | [Info]: Session ID: 5
> | > | > | [Info]: GCI Client Host: <Linked>
> | > | > | [Info]: Page server PID: -1
> | > | > | [Info]: Login Time: 02/10/2012 09:27:56 PM.572 UTC
> | > | > | [02/10/2012 09:27:56 PM.592 UTC] gci login: currSession 1 rpc
> | > | > | gem
> | > | > | processId -1
> | > | > | successful login
> | > | > | topaz 1> topaz 1> [20 sz:0 cls: 76289 UndefinedObject] nil
> | > | > | topaz 1> topaz 1> [76033 sz:19 cls: 801793 System class]
> | > | > | System
> | > | > | class
> | > | > | superClass [72193 sz:19 cls: 206081 Object class] Object
> | > | > | class
> | > | > | format [258 sz:0 cls: 74241 SmallInteger] 32
> | > | > | instVars [2 sz:0 cls: 74241 SmallInteger] 0
> | > | > | instVarNames [422145 sz:0 cls: 66817 Array] an Array
> | > | > | constraints [421889 sz:0 cls: 66817 Array] an Array
> | > | > | classVars [421633 sz:26 cls: 111361 SymbolDictionary] a
> | > | > | SymbolDictionary
> | > | > | methodDict [711937 sz:112 cls: 99073 GsMethodDictionary] a
> | > | > | GsMethodDictionary
> | > | > | poolDictionaries [421377 sz:0 cls: 66817 Array] an Array
> | > | > | categories [421121 sz:28 cls: 99073 GsMethodDictionary] a
> | > | > | GsMethodDictionary
> | > | > | secondarySuperclasses [20 sz:0 cls: 76289 UndefinedObject]
> | > | > | nil
> | > | > | name [801537 sz:6 cls: 110849 Symbol] System
> | > | > | classHistory [420865 sz:3 cls: 82689 ClassHistory] a
> | > | > | ClassHistory
> | > | > | description [13498369 sz:10 cls: 95233 GsClassDocumentation]
> | > | > | a
> | > | > | GsClassDocumentation
> | > | > | migrationDestination [20 sz:0 cls: 76289 UndefinedObject] nil
> | > | > | timeStamp [14510593 sz:4 cls: 118785 DateTime] a DateTime
> | > | > | userId [14508801 sz:10 cls: 74753 String] SystemUser
> | > | > | extraDict [14524929 sz:14 cls: 111361 SymbolDictionary] a
> | > | > | SymbolDictionary
> | > | > | classCategory [20 sz:0 cls: 76289 UndefinedObject] nil
> | > | > | subclasses [20 sz:0 cls: 76289 UndefinedObject] nil
> | > | > |
> | > | > |
> | > | > | topaz 1> topaz 1> WAFastCGIAdaptor Server started on port
> | > | > | 9001
> | > | > | -----------------------------------------------------
> | > | > | GemStone: Error Nonfatal
> | > | > | The object with object ID 81065894683350528 does not exist.
> | > | > | Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1
> | > | > | Context :
> | > | > | 526648321
> | > | > | Arg 1: [648527157466804226 sz:0 cls: 74241 SmallInteger]
> | > | > | 81065894683350528
> | > | > |
> | > | > |
> | > | > | Now executing the following command saved from "iferr 1":
> | > | > | where
> | > | > | ==> 1 GsProcess class >>
> | > | > | installPartialContinuation:atLevel:value: @2
> | > | > | line 1 [GsMethod 4487425]
> | > | > | 2 WAPartialContinuation >> value: @13 line 11 [GsMethod
> | > | > | 212791041]
> | > | > | 3 WAPartialContinuation >> valueWithPossibleArguments: @2
> | > | > | line 2
> | > | > | [GsMethod 218326273]
> | > | > | 4 ComplexBlock in WAComponent >> show:onAnswer:delegation: @7
> | > | > | line 7
> | > | > | [GsMethod 194749185]
> | > | > | 5 ComplexBlock in ExecutableBlock >>
> | > | > | valueWithPossibleArguments:
> | > | > | @12
> | > | > | line 8 [GsMethod 116163585]
> | > | > | 6 WAAnswerHandler >> handleAnswer:continueWith: @3 line 2
> | > | > | [GsMethod
> | > | > | 194735873]
> | > | > | 7 WADecoration >> handleAnswer: @6 line 3 [GsMethod
> | > | > | 194731009]
> | > | > | 8 WAComponent >> answer: @2 line 5 [GsMethod 194751745]
> | > | > |
> | > | > |
> | > | > |
> | > | > |
> | > | > | I found this on the net:
> | > | > |
> | > | > |
> | > | > |
> | > | > | Object does not exist errors
> | > | > | GBS applications may encounter object does not exist errors
> | > | > | in
> | > | > | non-persistent
> | > | > | objects. This is due to a problem with the fix for bug #40703
> | > | > | in
> | > | > | version
> | > | > | 2.4.4, which resulted in non-persistent objects not properly
> | > | > | protected
> | > | > | from garbage collection.
> | > | > |
> | > | > | Workaround:
> | > | > |
> | > | > | none/not applicable
> | > | > | from:
> | > | > |
> | > | > |
> | > | > |
> | > | > |
> | > | > |
> | > | > |
> | > | > | http://www.gemstone.com/docs/GemStoneS/bugnotes/bugnotes/40948.html
> | > | > |
> | > | > |
> | > | > |
> | > | > | So, should I worry about this? I implemented code that
> | > | > | allowed a
> | > | > | user
> | > | > | to call an editor, switch out on the navigation menu, call
> | > | > | another
> | > | > | editor,
> | > | > | switch out. With each switch, I send answer: false to the
> | > | > | open
> | > | > | editor
> | > | > | to close it so that it is not hanging around open. My idea
> | > | > | was to hide the section navigation when the editor came up
> | > | > | but
> | > | > | I'm
> | > | > | getting push back from my user.
> | > | > |
> | > | > |
> | > | > | What do you think?
> | > | > |
> | > | > |
> | > | > | Larry
> | > | > |
> | > | > |
> | > | > |
> | > | > |
> | > |
> | > |
> |
> |

Reply | Threaded
Open this post in threaded view
|

Re: Object does not exist error - Worry about it?

Johan Brichau-2
fyi, I have been observing occurrences of this bug as well, with exactly the same point of failure in the stack.

No repository problems or audit warnings.

Funnily, I've never seen this in any stone running Yesplan. The stone where we have this problem is also running a Seaside application but the only discriminating factor I can observe is that this application uses call/answer a lot more (while we almost never use that in Yesplan). It probably does not help a lot finding the error... but I will look up the stack traces and post them here if they might contain some clues.

On 21 Feb 2012, at 20:13, Lawrence Kellogg wrote:

>
> On Feb 21, 2012, at 1:05 PM, Dale Henrichs wrote:
>
>> Larry,
>>
>> We should try to dig into this one some more.
>>
>> To start with what version of Gemstone are you using? If you are using 2.4.4.1, then I'm not aware of an issue that would warrant an upgrade to 2.4.5, but I will check around a bit...As I said before, the only place that I've seen "Obj does not exist errors" is in 3.0 and those bugs were fixed in 3.0.1.
>>
>
> Dale,
> Thanks for the help. I would like to get to the bottom of this error. This crash takes down Fastcgi so it kills the service.
>
> According to the file in the directory, I'm on 2.4.4.1
>
> GemStone64Bit2.4.4.1-x86_64.Linux
>
>
>
>
>> This time we are getting the error while creating the continuation ... the last episode occurred when you were trying to execute from a continuation.
>>
>> Could you share the source code for PracticeJournalLoginTask >> go? That's the first non-Seaside method on the stack below the error, so it's as good a place as any to start …
>>
>
>  Here is the complete source code for the go method:  ;-)
>
> go
> | user component |
> self call: self userLoginView.
> (self userLoginView user) notNil  
> ifTrue: [
> component := self firstComponentToDisplayForUser: self userLoginView user.
> [ component notNil ]
> whileTrue: [
> self call: component.
> component := component nextComponentToBeDisplayed ] ]
>
> A component is called, and when another component is selected the current component is sent answer: false and
> the new component to call is returned from that nextComponentToBeDisplayed method.
>
> I used to have an implementation that would give me a huge recursive nesting of continuations, as shown by
> halo, but this shows everything on just a few levels, although I have to say that the walkback looks deep and gnarly.
>
>
>> It would be useful to see the entire stack as well. The partial continuation copies the stack back to a marker method and it would be useful to examine the source for the methods that are on the stck for clues as to what might be going on...
>>
>> Dale
>
>
> Here is the complete walk back:
>
> topaz 1> topaz 1> WAFastCGIAdaptor Server started on port 9001
> -----------------------------------------------------
> GemStone: Error         Nonfatal
> The object with object ID 76562293713797632 does not exist.
> Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1 Context : 412915713
> Arg 1: [612498349710381058 sz:0 cls: 74241 SmallInteger] 76562293713797632
>
> Now executing the following command saved from "iferr 1":
>   where
> ==> 1 WAComponent >> decoration @3 line 1   [GsMethod 194749441]
> 2 WAComponent >> addDecoration: @2 line 6   [GsMethod 194748417]
> 3 WAComponent >> show:onAnswer:delegation: @10 line 8   [GsMethod 194749185]
> 4 WAComponent >> show:onAnswer: @5 line 5   [GsMethod 499699713]
> 5 WAComponent >> call:onAnswer: @5 line 8   [GsMethod 194750977]
> 6 ComplexBlock in WAComponent >> call: @3 line 4   [GsMethod 191317249]
> 7 ComplexBlock in WAComponent >> wait: @3 line 3   [GsMethod 191268353]
> 8 GRGemStonePlatform >> seasideSuspendFlowDo: @9 line 5   [GsMethod 499655937]
> 9 WAComponent >> wait: @4 line 3   [GsMethod 191268353]
> 10 WAComponent >> call: @4 line 4   [GsMethod 191317249]
> 11 PracticeJournalLoginTask >> go @14 line 9   [GsMethod 371393537]
> 12 WATask >> execute @1 line 7   [GsMethod 195261697]
> 13 ComplexBlock in WATaskVisitor >> visitTask: @6 line 4   [GsMethod 194755841]
> 14 WACallback >> evaluateWithFieldValues: @5 line 2   [GsMethod 177495553]
> 15 ComplexBlock in WACallbackRegistry >> handle: @16 line 10   [GsMethod 177951489]
> 16 Collection >> do: @5 line 10   [GsMethod 1547777]
> 17 WACallbackRegistry >> handle: @17 line 9   [GsMethod 177951489]
> 18 ComplexBlock in WAActionPhaseContinuation >> runCallbacks @7 line 4   [GsMethod 202613505]
> 19 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
> 20 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
> 21 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
> 22 WARenderLoopContinuation >> withNotificationHandlerDo: @3 line 2   [GsMethod 202608385]
> 23 ComplexVCBlock in WAActionPhaseContinuation >> runCallbacks @8 line 3   [GsMethod 202613505]
> 24 ComplexBlock in ExecutableBlock >> ensure: @4 line 11   [GsMethod 2304001]
> 25 ComplexVCBlock in ExecutableBlock >> ensure: @6 line 11   [GsMethod 2304001]
> 26 WAActionPhaseContinuation >> runCallbacks @18 line 6   [GsMethod 202613505]
> 27 WAActionPhaseContinuation >> handleRequest @1 line 2   [GsMethod 202614017]
> 28 ComplexBlock in WASessionContinuation >> basicValue @3 line 2   [GsMethod 202625537]
> 29 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
> 30 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
> 31 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
> 32 WASessionContinuation >> withUnregisteredHandlerDo: @7 line 3   [GsMethod 202627073]
> 33 WASessionContinuation >> basicValue @4 line 2   [GsMethod 202625537]
> 34 WASessionContinuation >> value @3 line 5   [GsMethod 202623745]
> 35 WASession >> handleFiltered: @14 line 10   [GsMethod 202205441]
> 36 WARequestFilter >> handleFiltered: @2 line 4   [GsMethod 176192513]
> 37 ComplexBlock in WADeprecatedToolFilter >> handleFiltered: @3 line 2   [GsMethod 203213313]
> 38 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
> 39 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
> 40 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
> 41 WADeprecatedToolFilter >> handleFiltered: @6 line 3   [GsMethod 203213313]
> 42 WARequestFilter >> handleFiltered: @2 line 4   [GsMethod 176192513]
> 43 ComplexBlock in WATimingToolFilter >> handleFiltered: @4 line 3   [GsMethod 203208449]
> 44 ComplexBlock in ExecutableBlock >> ensure: @4 line 11   [GsMethod 2304001]
> 45 ComplexBlock in ExecutableBlock >> ensure: @6 line 11   [GsMethod 2304001]
> 46 WATimingToolFilter >> handleFiltered: @8 line 4   [GsMethod 203208449]
> 47 ComplexBlock in WARequestHandler >> handle: @4 line 4   [GsMethod 178568961]
> 48 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
> 49 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
> 50 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
> 51 WADynamicVariable class >> use:during: @4 line 4   [GsMethod 177805825]
> 52 ComplexBlock in WARequestContext >> push:during: @4 line 5   [GsMethod 176176129]
> 53 ComplexBlock in ExecutableBlock >> ensure: @4 line 11   [GsMethod 2304001]
> 54 ComplexBlock in ExecutableBlock >> ensure: @6 line 11   [GsMethod 2304001]
> 55 WARequestContext >> push:during: @7 line 6   [GsMethod 176176129]
> 56 WARequestHandler >> handle: @5 line 4   [GsMethod 178568961]
> 57 WASession >> handle: @10 line 11   [GsMethod 202210561]
> 58 WARegistry >> dispatch:to: @1 line 5   [GsMethod 176153857]
> 59 WARegistry >> handleKeyed:with: @2 line 5   [GsMethod 176155137]
> 60 WARegistry >> handleFiltered: @33 line 19   [GsMethod 176146945]
> 61 WAApplication >> handleFiltered: @9 line 8   [GsMethod 202644225]
> 62 WARequestFilter >> handleFiltered: @2 line 4   [GsMethod 176192513]
> 63 ComplexBlock in WAExceptionFilter >> handleFiltered: @6 line 7   [GsMethod 499529473]
> 64 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
> 65 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
> 66 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
> 67 WADynamicVariable class >> use:during: @4 line 4   [GsMethod 177805825]
> 68 ComplexVCBlock in WAExceptionFilter >> handleFiltered: @7 line 6   [GsMethod 499529473]
> 69 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
> 70 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
> 71 ComplexVCBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
> 72 WAExceptionHandler >> handleExceptionsDuring: @8 line 3   [GsMethod 177803521]
> 73 WAExceptionFilter >> handleFiltered: @8 line 4   [GsMethod 499529473]
> 74 ComplexBlock in WARequestHandler >> handle: @4 line 4   [GsMethod 178568961]
> 75 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
> 76 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
> 77 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
> 78 WADynamicVariable class >> use:during: @4 line 4   [GsMethod 177805825]
> 79 ComplexBlock in WARequestContext >> push:during: @4 line 5   [GsMethod 176176129]
> 80 ComplexBlock in ExecutableBlock >> ensure: @4 line 11   [GsMethod 2304001]
> 81 ComplexBlock in ExecutableBlock >> ensure: @6 line 11   [GsMethod 2304001]
> 82 WARequestContext >> push:during: @7 line 6   [GsMethod 176176129]
> 83 WARequestHandler >> handle: @5 line 4   [GsMethod 178568961]
> 84 WADispatcher >> handleFiltered:named: @7 line 5   [GsMethod 179090945]
> 85 WADispatcher >> handleFiltered: @7 line 6   [GsMethod 179087617]
> 86 ComplexBlock in WARequestHandler >> handle: @4 line 4   [GsMethod 178568961]
> 87 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
> 88 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
> 89 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
> 90 WADynamicVariable class >> use:during: @4 line 4   [GsMethod 177805825]
> 91 ComplexBlock in WARequestContext >> push:during: @4 line 5   [GsMethod 176176129]
> 92 ComplexBlock in ExecutableBlock >> ensure: @4 line 11   [GsMethod 2304001]
> 93 ComplexBlock in ExecutableBlock >> ensure: @6 line 11   [GsMethod 2304001]
> 94 WARequestContext >> push:during: @7 line 6   [GsMethod 176176129]
> 95 WARequestHandler >> handle: @5 line 4   [GsMethod 178568961]
> 96 ComplexBlock in WAServerAdaptor >> handleRequest: @4 line 4   [GsMethod 176816641]
> 97 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
> 98 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
> 99 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
> 100 WAServerAdaptor >> handleRequest: @6 line 5   [GsMethod 176816641]
> 101 WAServerAdaptor >> handle: @1 line 4   [GsMethod 176817921]
> 102 ComplexBlock in WAServerAdaptor >> process: @5 line 6   [GsMethod 176817153]
> 103 ComplexBlock in ExecutableBlock >> ensure: @4 line 11   [GsMethod 2304001]
> 104 ComplexBlock in ExecutableBlock >> ensure: @6 line 11   [GsMethod 2304001]
> 105 WAServerAdaptor >> process: @9 line 7   [GsMethod 176817153]
> 106 ComplexBlock in WAFastCGIAdaptor >> process: @3 line 6   [GsMethod 212442369]
> 107 ComplexBlock in GRGemStonePlatform >> seasideProcessRequestWithRetry:resultBlock: @12 line 11   [GsMethod 175179265]
> 108 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
> 109 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
> 110 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
> 111 ComplexVCBlock in GRGemStonePlatform >> seasideProcessRequestWithRetry:resultBlock: @18 line 12   [GsMethod 175179265]
> 112 ComplexBlock in ExecutableBlock >> ensure: @4 line 11   [GsMethod 2304001]
> 113 ComplexVCBlock in ExecutableBlock >> ensure: @6 line 11   [GsMethod 2304001]
> 114 TransientRecursionLock >> critical: @15 line 8   [GsMethod 21159937]
> 115 GRGemStonePlatform >> seasideProcessRequestWithRetry:resultBlock: @39 line 5   [GsMethod 175179265]
> 116 ComplexBlock in GRGemStonePlatform >> seasideProcessRequest:adaptor:resultBlock: @7 line 9   [GsMethod 175179521]
> 117 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
> 118 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
> 119 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
> 120 GRGemStonePlatform >> seasideProcessRequest:adaptor:resultBlock: @32 line 17   [GsMethod 175179521]
> 121 WAFastCGIAdaptor >> process: @4 line 4   [GsMethod 212442369]
> 122 ComplexBlock in WAFastCGIAdaptor >> answerResponderRole: @3 line 4   [GsMethod 212444161]
> 123 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
> 124 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
> 125 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
> 126 WAFastCGIAdaptor >> answerResponderRole: @9 line 5   [GsMethod 212444161]
> 127 FSResponderRole >> answer @2 line 4   [GsMethod 218695937]
> 128 FSRole >> handleConnection @3 line 5   [GsMethod 218705409]
> 129 FSConnection >> unsafeServe @4 line 8   [GsMethod 219646465]
> 130 ComplexBlock in FSConnection >> safeServe @5 line 8   [GsMethod 499288833]
> 131 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
> 132 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
> 133 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
> 134 ComplexVCBlock in FSConnection >> safeServe @8 line 9   [GsMethod 499288833]
> 135 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
> 136 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
> 137 ComplexVCBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
> 138 ComplexVCBlock in FSConnection >> safeServe @11 line 12   [GsMethod 499288833]
> 139 ComplexBlock in ExecutableBlock >> ensure: @4 line 11   [GsMethod 2304001]
> 140 ComplexVCBlock in ExecutableBlock >> ensure: @6 line 11   [GsMethod 2304001]
> 141 FSConnection >> safeServe @14 line 15   [GsMethod 499288833]
> 142 FSConnection >> serve @1 line 4   [GsMethod 219654145]
> 143 ComplexBlock in FSSocketServer >> listen: @9 line 15   [GsMethod 219292673]
> 144 GsProcess >> _startPart2 @15 line 17   [GsMethod 4501249]
> 145 GsProcess >> _start @1 line 9   [GsMethod 4501761]
>  [GsProcess 412915713]
> topaz 1> [268 sz:0 cls: 68097 Boolean] true
> topaz 1>
> HostCallDebugger: invoked at: Mon Feb 20 16:38:18 UTC 2012
>
> UTL_GUARANTEE failed, File /export/toronto3/users/buildgss/244x-1/src/omverify.c line 28
>
> Begin attempt to print C-level stack at: Mon Feb 20 16:38:18 UTC 2012
>
>
> End of C-level stack:
>
>
> hostcalldebugger invoked in process 6550, at 02/20/2012 04:38:18 PM.681 UTC
> notifying stone of fatal error
>
> [Info]: Logging out at 02/20/2012 04:38:18 PM UTC
>
>
>
>>
>> ----- Original Message -----
>> | From: "Lawrence Kellogg" <[hidden email]>
>> | To: "GemStone Seaside beta discussion" <[hidden email]>
>> | Sent: Monday, February 20, 2012 8:48:22 AM
>> | Subject: Re: [GS/SS Beta] Object does not exist error - Worry about it?
>> |
>> | Hello Dale,
>> |   Well, my system has been up for days, running with no problems, not
>> |   that it has been getting a lot of traffic, but still, no crashes.
>> |   Today, I hit the Object does not exist error again. I guess I can
>> |   do another object audit but, other than that, I'm not sure how to
>> |   proceed. Do you think an upgrade to 2.4.5 will help me?
>> |
>> |   Here is the walkback:
>> |
>> | topaz 1> topaz 1> WAFastCGIAdaptor Server started on port 9001
>> | -----------------------------------------------------
>> | GemStone: Error         Nonfatal
>> | The object with object ID 76562293713797632 does not exist.
>> | Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1 Context :
>> | 412915713
>> | Arg 1: [612498349710381058 sz:0 cls: 74241 SmallInteger]
>> | 76562293713797632
>> |
>> | Now executing the following command saved from "iferr 1":
>> |    where
>> | ==> 1 WAComponent >> decoration @3 line 1   [GsMethod 194749441]
>> | 2 WAComponent >> addDecoration: @2 line 6   [GsMethod 194748417]
>> | 3 WAComponent >> show:onAnswer:delegation: @10 line 8   [GsMethod
>> | 194749185]
>> | 4 WAComponent >> show:onAnswer: @5 line 5   [GsMethod 499699713]
>> | 5 WAComponent >> call:onAnswer: @5 line 8   [GsMethod 194750977]
>> | 6 ComplexBlock in WAComponent >> call: @3 line 4   [GsMethod
>> | 191317249]
>> | 7 ComplexBlock in WAComponent >> wait: @3 line 3   [GsMethod
>> | 191268353]
>> | 8 GRGemStonePlatform >> seasideSuspendFlowDo: @9 line 5   [GsMethod
>> | 499655937]
>> | 9 WAComponent >> wait: @4 line 3   [GsMethod 191268353]
>> | 10 WAComponent >> call: @4 line 4   [GsMethod 191317249]
>> | 11 PracticeJournalLoginTask >> go @14 line 9   [GsMethod 371393537]
>> |
>> |
>> | Larry
>> |
>> | On Feb 11, 2012, at 2:34 PM, Dale Henrichs wrote:
>> |
>> | > Larry,
>> | >
>> | > Yes, everything looks clean, I'm a little bit surprised that you
>> | > didn't find the original error in you first audit, but the
>> | > implication is that the "corrupt object" never got persisted ...
>> | > indicating some other type of corruption ...
>> | >
>> | > A clean object audit means that your data base has no corruption so
>> | > you're good to go ... I'll talk to some guys on Monday and see if
>> | > they have some ideas as to what might have happened...there's a
>> | > bug in there somewhere, but for now it looks like it is isolated
>> | > to the local state in a gem ...
>> | >
>> | > Dale
>> | >
>> | > ----- Original Message -----
>> | > | From: "Lawrence Kellogg" <[hidden email]>
>> | > | To: "GemStone Seaside beta discussion"
>> | > | <[hidden email]>
>> | > | Sent: Saturday, February 11, 2012 4:18:06 AM
>> | > | Subject: Re: [GS/SS Beta] Object does not exist error - Worry
>> | > | about it?
>> | > |
>> | > |
>> | > | On Feb 10, 2012, at 7:04 PM, Dale Henrichs wrote:
>> | > |
>> | > | > Larry,
>> | > | >
>> | > | > Object does not exist errors are not good things ... and the
>> | > | > gem
>> | > | > coming down in this case is probably a good thing ... The fact
>> | > | > that the problem is showing up in a GsProcess means that the
>> | > | > Seaside session data structures are corrupted but not your
>> | > | > model
>> | > | > data ...
>> | > | >
>> | > | > You can check for corruption in your data base by running an
>> | > | > object
>> | > | > audit (see section 8.2 of the System Administration Guide[1]).
>> | > | > If
>> | > | > you follow these steps you own't need to run the object audit
>> | > | > as
>> | > | > single user (see the docs):
>> | > | >
>> | > | >  - expire sessions
>> | > | >  - mfc
>> | > | >  - reclaimAll
>> | > | >  - object audit
>> | > | >
>> | > |
>> | > | Hello Dale,
>> | > |   Ok, I ran:
>> | > |
>> | > | System stopUserSessions
>> | > | SystemRepository objectAudit
>> | > | SystemRepository markForCollection
>> | > | SystemRepository reclaimAll
>> | > | SystemRepository objectAudit
>> | > |
>> | > | I don't see any errors. Here is my log. What do you make of it?
>> | > |
>> | > | Larry
>> | > |
>> | > |
>> | > | [Info]: Login Time: 02/11/2012 12:06:22 PM.972 UTC
>> | > | [02/11/2012 12:06:23 PM.001 UTC] gci login: currSession 1 rpc gem
>> | > | processId -1
>> | > | successful login
>> | > | topaz 1> printit
>> | > | System hasMissingGcGems
>> | > | %
>> | > | false
>> | > | topaz 1> printit
>> | > | System stopUserSessions
>> | > | %
>> | > | System class
>> | > |   superClass      Object class
>> | > |   format          32
>> | > |   instVars        0
>> | > |   instVarNames    an Array
>> | > |   constraints     an Array
>> | > |   classVars       a SymbolDictionary
>> | > |   methodDict      a GsMethodDictionary
>> | > |   poolDictionaries an Array
>> | > |   categories      a GsMethodDictionary
>> | > |   secondarySuperclasses nil
>> | > |   name            System
>> | > |   classHistory    a ClassHistory
>> | > |   description     a GsClassDocumentation
>> | > |   migrationDestination nil
>> | > |   timeStamp       a DateTime
>> | > |   userId          SystemUser
>> | > |   extraDict       a SymbolDictionary
>> | > |   classCategory   nil
>> | > |   subclasses      nil
>> | > |
>> | > | topaz 1> printit
>> | > | SystemRepository objectAudit
>> | > | %
>> | > | --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
>> | > | --setGcConfig: set reclaimMinPages to 1
>> | > | --reclaimAll: changed reclaimMinPages from 40 to 1
>> | > | --setGcConfig: set reclaimSleepTime to 1
>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
>> | > | --reclaimAll: using reclaimDeadEnabled true
>> | > | --reclaimAll: simpleCommit loopCount 10
>> | > | 02/11/2012 12:07:41 PM.070 UTC: Starting object table scan
>> | > | 02/11/2012 12:07:41 PM.698 UTC: Finished object table scan
>> | > |
>> | > | Object audit is proceeding in FullAudit mode:
>> | > | Scavenging completed (either single user mode or no pages to
>> | > | scavenge).
>> | > | All audit checks are enabled.
>> | > |
>> | > | Object audit as of 02/11/2012 12:07:41 PM UTC.
>> | > | Summary of objects whose sizes exceed 100000 Bytes or Oops:
>> | > |
>> | > |   ObjectID        Class     ClassName
>> | > |                                  LogicalSize
>> | > | --------------------------------------------------------------------------------------------------------------
>> | > |     305743617         74753 String
>> | > |                                          134740 Oops
>> | > |     149534721         74753 String
>> | > |                                          164661 Oops
>> | > |     173784833         74753 String
>> | > |                                          163312 Oops
>> | > |     196368897         74753 String
>> | > |                                          164661 Oops
>> | > |     305774593         74753 String
>> | > |                                          134740 Oops
>> | > |     175519489         74753 String
>> | > |                                          376305 Oops
>> | > |     196571393         74753 String
>> | > |                                          379399 Oops
>> | > |     175494145         74753 String
>> | > |                                          201874 Oops
>> | > |     197005569         74753 String
>> | > |                                          202074 Oops
>> | > |     149996289         74753 String
>> | > |                                          236426 Oops
>> | > |     151722753         74753 String
>> | > |                                          379399 Oops
>> | > |     151723777         74753 String
>> | > |                                          202074 Oops
>> | > |     274619393         74753 String
>> | > |                                         1170577 Oops
>> | > |     265139713         74753 String
>> | > |                                         1170577 Oops
>> | > |     215910913         66817 Array
>> | > |                                           331214 Oops
>> | > |     164965121         74753 String
>> | > |                                          236201 Oops
>> | > |     197155585         74753 String
>> | > |                                          236426 Oops
>> | > |     271373057         74753 String
>> | > |                                         1170577 Oops
>> | > |     268426753         74753 String
>> | > |                                          134740 Oops
>> | > |     264103681         74753 String
>> | > |                                         1170577 Oops
>> | > |
>> | > | ----------- Object Statistics Summary -----------------
>> | > |
>> | > | ----- Instances of invisible (private) classes ------
>> | > |    Number of instances:         1072
>> | > |             Total size:        15855 K Bytes
>> | > |           Average size:         14.8 Bytes
>> | > |
>> | > |           Class:       209153 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       209409 Instances:         1072 Total Size:
>> | > |                  15855 K Bytes
>> | > |           Class:       209665 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       209921 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       210177 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       210433 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       210689 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       210945 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       211201 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       211457 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       211713 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       211969 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       212225 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       212481 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       212737 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       212993 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       213249 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       213505 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       213761 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |
>> | > |
>> | > | ----- Instances of visible classes -----------------
>> | > |    Number of objects      :      1633432
>> | > |    Total Size             :       157861 K Bytes
>> | > |    size of Object Headers :        38283 K Bytes
>> | > |    size of Object Values  :       116978 K Bytes
>> | > |    size of Object Tags    :            0 K Bytes
>> | > |    average of Object Value:         73.3 Bytes
>> | > |
>> | > | Object Audit: Audit successfully completed; no errors were
>> | > | detected.
>> | > | --setGcConfig: set reclaimMinPages to 40
>> | > | --setGcConfig: set reclaimSleepTime to 10
>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
>> | > | --postReclaimAll: restored reclaimMinPages to 40
>> | > | true
>> | > | topaz 1> printit
>> | > | SystemRepository markForCollection
>> | > | %
>> | > | start MFC mark/sweep phase: 02/11/2012 12:08:56 PM UTC
>> | > | WARNING, unable to resolve either garMarkSweepPageBufSize or
>> | > | mfcGcPageBufSize, using default 320
>> | > | MarkSweepArgsSType::(): buffer size= 320 pages
>> | > | start MFC process dead phase: 02/11/2012 12:08:59 PM UTC
>> | > | end MFC: 02/11/2012 12:08:59 PM UTC
>> | > | Successful completion of markForCollection.
>> | > |     1613875 live objects found.
>> | > |     20629 possible dead objects, occupying approximately 1856610
>> | > |     bytes, may be reclaimed.
>> | > | topaz 1> printit
>> | > | SystemRepository reclaimAll
>> | > | %
>> | > | --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
>> | > | --setGcConfig: set reclaimMinPages to 1
>> | > | --reclaimAll: changed reclaimMinPages from 40 to 1
>> | > | --setGcConfig: set reclaimSleepTime to 1
>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
>> | > | --reclaimAll: using reclaimDeadEnabled true
>> | > | --reclaimAll: simpleCommit loopCount 10
>> | > | an Array
>> | > |   #1 40
>> | > |   #2 10
>> | > |   #3 0
>> | > |
>> | > | topaz 1> printit
>> | > | SystemRepository objectAudit
>> | > | %
>> | > | --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
>> | > | --setGcConfig: set reclaimMinPages to 1
>> | > | --reclaimAll: changed reclaimMinPages from 1 to 1
>> | > | --setGcConfig: set reclaimSleepTime to 1
>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
>> | > | --reclaimAll: using reclaimDeadEnabled true
>> | > | 02/11/2012 12:11:27 PM.328 UTC: Starting object table scan
>> | > | 02/11/2012 12:11:27 PM.921 UTC: Finished object table scan
>> | > |
>> | > | Object audit is proceeding in FullAudit mode:
>> | > | Scavenging completed (either single user mode or no pages to
>> | > | scavenge).
>> | > | All audit checks are enabled.
>> | > |
>> | > | Object audit as of 02/11/2012 12:11:27 PM UTC.
>> | > | Summary of objects whose sizes exceed 100000 Bytes or Oops:
>> | > |
>> | > |   ObjectID        Class     ClassName
>> | > |                                  LogicalSize
>> | > | --------------------------------------------------------------------------------------------------------------
>> | > |     305743617         74753 String
>> | > |                                          134740 Oops
>> | > |     149534721         74753 String
>> | > |                                          164661 Oops
>> | > |     173784833         74753 String
>> | > |                                          163312 Oops
>> | > |     196368897         74753 String
>> | > |                                          164661 Oops
>> | > |     305774593         74753 String
>> | > |                                          134740 Oops
>> | > |     175519489         74753 String
>> | > |                                          376305 Oops
>> | > |     196571393         74753 String
>> | > |                                          379399 Oops
>> | > |     175494145         74753 String
>> | > |                                          201874 Oops
>> | > |     197005569         74753 String
>> | > |                                          202074 Oops
>> | > |     149996289         74753 String
>> | > |                                          236426 Oops
>> | > |     151722753         74753 String
>> | > |                                          379399 Oops
>> | > |     151723777         74753 String
>> | > |                                          202074 Oops
>> | > |     274619393         74753 String
>> | > |                                         1170577 Oops
>> | > |     265139713         74753 String
>> | > |                                         1170577 Oops
>> | > |     215910913         66817 Array
>> | > |                                           331214 Oops
>> | > |     164965121         74753 String
>> | > |                                          236201 Oops
>> | > |     197155585         74753 String
>> | > |                                          236426 Oops
>> | > |     271373057         74753 String
>> | > |                                         1170577 Oops
>> | > |     268426753         74753 String
>> | > |                                          134740 Oops
>> | > |     264103681         74753 String
>> | > |                                         1170577 Oops
>> | > |
>> | > | ----------- Object Statistics Summary -----------------
>> | > |
>> | > | ----- Instances of invisible (private) classes ------
>> | > |    Number of instances:         1072
>> | > |             Total size:        15855 K Bytes
>> | > |           Average size:         14.8 Bytes
>> | > |
>> | > |           Class:       209153 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       209409 Instances:         1072 Total Size:
>> | > |                  15855 K Bytes
>> | > |           Class:       209665 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       209921 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       210177 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       210433 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       210689 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       210945 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       211201 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       211457 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       211713 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       211969 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       212225 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       212481 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       212737 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       212993 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       213249 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       213505 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |           Class:       213761 Instances:            0 Total Size:
>> | > |                      0 K Bytes
>> | > |
>> | > |
>> | > | ----- Instances of visible classes -----------------
>> | > |    Number of objects      :      1612803
>> | > |    Total Size             :       156912 K Bytes
>> | > |    size of Object Headers :        37800 K Bytes
>> | > |    size of Object Values  :       116516 K Bytes
>> | > |    size of Object Tags    :            0 K Bytes
>> | > |    average of Object Value:         74.0 Bytes
>> | > |
>> | > | Object Audit: Audit successfully completed; no errors were
>> | > | detected.
>> | > | --setGcConfig: set reclaimMinPages to 1
>> | > | --setGcConfig: set reclaimSleepTime to 1
>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
>> | > | --postReclaimAll: restored reclaimMinPages to 1
>> | > | true
>> | > | topaz 1>
>> | > | topaz 1>
>> | > |
>> | > |
>> | > | > If, as I suspect, you've got corruption in GsProcess objects
>> | > | > they
>> | > | > only impact Seaside session state, and should have disappeared
>> | > | > by
>> | > | > the time you run the object audit ...
>> | > | >
>> | > | > This problems seems to ring a bell, but it seems to me that the
>> | > | > problem I am thinking of showed up in GemStone 3.0 and I think
>> | > | > it
>> | > | > was fixed in GemStone 3.0.1... so I'm curious what version of
>> | > | > GemStone you are using.
>> | > | >
>> | > | > As I think about this, I seem to recall that the problem was
>> | > | > related to deeply nested block structure in a method that was
>> | > | > involved in partial continuations, so I am curious if you
>> | > | > happen
>> | > | > to have some deeply nested block structures let's say more than
>> | > | > 5
>> | > | > or 6 levels deep in your method? In fact even in 3.0.1 I think
>> | > | > that there might be an effective limit (the engineer that
>> | > | > worked
>> | > | > on this will be back on Monday for exact details), so if you
>> | > | > are
>> | > | > running with 3.0.1, you should definitely be suspicious of deep
>> | > | > nesting of blocks...
>> | > | >
>> | > | > Dale
>> | > | >
>> | > | > [1]
>> | > | > http://community.gemstone.com/display/GSS64/GemStoneS+64+Documentation
>> | > | >
>> | > | > ----- Original Message -----
>> | > | > | From: "Lawrence Kellogg" <[hidden email]>
>> | > | > | To: "GemStone Seaside beta discussion"
>> | > | > | <[hidden email]>
>> | > | > | Sent: Friday, February 10, 2012 2:13:15 PM
>> | > | > | Subject: [GS/SS Beta] Object does not exist error - Worry
>> | > | > | about
>> | > | > | it?
>> | > | > |
>> | > | > |
>> | > | > |
>> | > | > | Hello,
>> | > | > | After a long series of calls and answers in Seaside, I got an
>> | > | > | Object
>> | > | > | does not exist error that brought down the fast cgi gateway.
>> | > | > | My
>> | > | > | production error handler was not triggered, although it was
>> | > | > | installed, as far as I could tell. Strange. My supervise
>> | > | > | fastcgi
>> | > | > | process also did not pick up my dead fastcgi process. Not a
>> | > | > | good
>> | > | > | day.
>> | > | > |
>> | > | > | Here is the walkback:
>> | > | > |
>> | > | > |
>> | > | > |
>> | > | > | USER IDS: REAL=seasideuser (500) EFFECTIVE=seasideuser (500)
>> | > | > | |
>> | > | > | |_____________________________________________________________________________|
>> | > | > | topaz> topaz> topaz> topaz> topaz> topaz> topaz> [Info]: LNK
>> | > | > | client/gem GCI levels = 844/844
>> | > | > | [Info]: User ID: DataCurator
>> | > | > | [Info]: Repository: seaside
>> | > | > | [Info]: Session ID: 5
>> | > | > | [Info]: GCI Client Host: <Linked>
>> | > | > | [Info]: Page server PID: -1
>> | > | > | [Info]: Login Time: 02/10/2012 09:27:56 PM.572 UTC
>> | > | > | [02/10/2012 09:27:56 PM.592 UTC] gci login: currSession 1 rpc
>> | > | > | gem
>> | > | > | processId -1
>> | > | > | successful login
>> | > | > | topaz 1> topaz 1> [20 sz:0 cls: 76289 UndefinedObject] nil
>> | > | > | topaz 1> topaz 1> [76033 sz:19 cls: 801793 System class]
>> | > | > | System
>> | > | > | class
>> | > | > | superClass [72193 sz:19 cls: 206081 Object class] Object
>> | > | > | class
>> | > | > | format [258 sz:0 cls: 74241 SmallInteger] 32
>> | > | > | instVars [2 sz:0 cls: 74241 SmallInteger] 0
>> | > | > | instVarNames [422145 sz:0 cls: 66817 Array] an Array
>> | > | > | constraints [421889 sz:0 cls: 66817 Array] an Array
>> | > | > | classVars [421633 sz:26 cls: 111361 SymbolDictionary] a
>> | > | > | SymbolDictionary
>> | > | > | methodDict [711937 sz:112 cls: 99073 GsMethodDictionary] a
>> | > | > | GsMethodDictionary
>> | > | > | poolDictionaries [421377 sz:0 cls: 66817 Array] an Array
>> | > | > | categories [421121 sz:28 cls: 99073 GsMethodDictionary] a
>> | > | > | GsMethodDictionary
>> | > | > | secondarySuperclasses [20 sz:0 cls: 76289 UndefinedObject]
>> | > | > | nil
>> | > | > | name [801537 sz:6 cls: 110849 Symbol] System
>> | > | > | classHistory [420865 sz:3 cls: 82689 ClassHistory] a
>> | > | > | ClassHistory
>> | > | > | description [13498369 sz:10 cls: 95233 GsClassDocumentation]
>> | > | > | a
>> | > | > | GsClassDocumentation
>> | > | > | migrationDestination [20 sz:0 cls: 76289 UndefinedObject] nil
>> | > | > | timeStamp [14510593 sz:4 cls: 118785 DateTime] a DateTime
>> | > | > | userId [14508801 sz:10 cls: 74753 String] SystemUser
>> | > | > | extraDict [14524929 sz:14 cls: 111361 SymbolDictionary] a
>> | > | > | SymbolDictionary
>> | > | > | classCategory [20 sz:0 cls: 76289 UndefinedObject] nil
>> | > | > | subclasses [20 sz:0 cls: 76289 UndefinedObject] nil
>> | > | > |
>> | > | > |
>> | > | > | topaz 1> topaz 1> WAFastCGIAdaptor Server started on port
>> | > | > | 9001
>> | > | > | -----------------------------------------------------
>> | > | > | GemStone: Error Nonfatal
>> | > | > | The object with object ID 81065894683350528 does not exist.
>> | > | > | Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1
>> | > | > | Context :
>> | > | > | 526648321
>> | > | > | Arg 1: [648527157466804226 sz:0 cls: 74241 SmallInteger]
>> | > | > | 81065894683350528
>> | > | > |
>> | > | > |
>> | > | > | Now executing the following command saved from "iferr 1":
>> | > | > | where
>> | > | > | ==> 1 GsProcess class >>
>> | > | > | installPartialContinuation:atLevel:value: @2
>> | > | > | line 1 [GsMethod 4487425]
>> | > | > | 2 WAPartialContinuation >> value: @13 line 11 [GsMethod
>> | > | > | 212791041]
>> | > | > | 3 WAPartialContinuation >> valueWithPossibleArguments: @2
>> | > | > | line 2
>> | > | > | [GsMethod 218326273]
>> | > | > | 4 ComplexBlock in WAComponent >> show:onAnswer:delegation: @7
>> | > | > | line 7
>> | > | > | [GsMethod 194749185]
>> | > | > | 5 ComplexBlock in ExecutableBlock >>
>> | > | > | valueWithPossibleArguments:
>> | > | > | @12
>> | > | > | line 8 [GsMethod 116163585]
>> | > | > | 6 WAAnswerHandler >> handleAnswer:continueWith: @3 line 2
>> | > | > | [GsMethod
>> | > | > | 194735873]
>> | > | > | 7 WADecoration >> handleAnswer: @6 line 3 [GsMethod
>> | > | > | 194731009]
>> | > | > | 8 WAComponent >> answer: @2 line 5 [GsMethod 194751745]
>> | > | > |
>> | > | > |
>> | > | > |
>> | > | > |
>> | > | > | I found this on the net:
>> | > | > |
>> | > | > |
>> | > | > |
>> | > | > | Object does not exist errors
>> | > | > | GBS applications may encounter object does not exist errors
>> | > | > | in
>> | > | > | non-persistent
>> | > | > | objects. This is due to a problem with the fix for bug #40703
>> | > | > | in
>> | > | > | version
>> | > | > | 2.4.4, which resulted in non-persistent objects not properly
>> | > | > | protected
>> | > | > | from garbage collection.
>> | > | > |
>> | > | > | Workaround:
>> | > | > |
>> | > | > | none/not applicable
>> | > | > | from:
>> | > | > |
>> | > | > |
>> | > | > |
>> | > | > |
>> | > | > |
>> | > | > |
>> | > | > | http://www.gemstone.com/docs/GemStoneS/bugnotes/bugnotes/40948.html
>> | > | > |
>> | > | > |
>> | > | > |
>> | > | > | So, should I worry about this? I implemented code that
>> | > | > | allowed a
>> | > | > | user
>> | > | > | to call an editor, switch out on the navigation menu, call
>> | > | > | another
>> | > | > | editor,
>> | > | > | switch out. With each switch, I send answer: false to the
>> | > | > | open
>> | > | > | editor
>> | > | > | to close it so that it is not hanging around open. My idea
>> | > | > | was to hide the section navigation when the editor came up
>> | > | > | but
>> | > | > | I'm
>> | > | > | getting push back from my user.
>> | > | > |
>> | > | > |
>> | > | > | What do you think?
>> | > | > |
>> | > | > |
>> | > | > | Larry
>> | > | > |
>> | > | > |
>> | > | > |
>> | > | > |
>> | > |
>> | > |
>> |
>> |
>

Reply | Threaded
Open this post in threaded view
|

Re: Object does not exist error - Worry about it?

Larry Kellogg

On Feb 21, 2012, at 2:40 PM, Johan Brichau wrote:

> fyi, I have been observing occurrences of this bug as well, with exactly the same point of failure in the stack.
>
> No repository problems or audit warnings.
>
> Funnily, I've never seen this in any stone running Yesplan. The stone where we have this problem is also running a Seaside application but the only discriminating factor I can observe is that this application uses call/answer a lot more (while we almost never use that in Yesplan). It probably does not help a lot finding the error... but I will look up the stack traces and post them here if they might contain some clues.

Hello Johan,
  Thanks for looking into this problem. I use call/answer quite a bit.

  Dale, did you see the stack dump I posted?

  Larry


>
> On 21 Feb 2012, at 20:13, Lawrence Kellogg wrote:
>
>>
>> On Feb 21, 2012, at 1:05 PM, Dale Henrichs wrote:
>>
>>> Larry,
>>>
>>> We should try to dig into this one some more.
>>>
>>> To start with what version of Gemstone are you using? If you are using 2.4.4.1, then I'm not aware of an issue that would warrant an upgrade to 2.4.5, but I will check around a bit...As I said before, the only place that I've seen "Obj does not exist errors" is in 3.0 and those bugs were fixed in 3.0.1.
>>>
>>
>> Dale,
>> Thanks for the help. I would like to get to the bottom of this error. This crash takes down Fastcgi so it kills the service.
>>
>> According to the file in the directory, I'm on 2.4.4.1
>>
>> GemStone64Bit2.4.4.1-x86_64.Linux
>>
>>
>>
>>
>>> This time we are getting the error while creating the continuation ... the last episode occurred when you were trying to execute from a continuation.
>>>
>>> Could you share the source code for PracticeJournalLoginTask >> go? That's the first non-Seaside method on the stack below the error, so it's as good a place as any to start …
>>>
>>
>> Here is the complete source code for the go method:  ;-)
>>
>> go
>> | user component |
>> self call: self userLoginView.
>> (self userLoginView user) notNil  
>> ifTrue: [
>> component := self firstComponentToDisplayForUser: self userLoginView user.
>> [ component notNil ]
>> whileTrue: [
>> self call: component.
>> component := component nextComponentToBeDisplayed ] ]
>>
>> A component is called, and when another component is selected the current component is sent answer: false and
>> the new component to call is returned from that nextComponentToBeDisplayed method.
>>
>> I used to have an implementation that would give me a huge recursive nesting of continuations, as shown by
>> halo, but this shows everything on just a few levels, although I have to say that the walkback looks deep and gnarly.
>>
>>
>>> It would be useful to see the entire stack as well. The partial continuation copies the stack back to a marker method and it would be useful to examine the source for the methods that are on the stck for clues as to what might be going on...
>>>
>>> Dale
>>
>>
>> Here is the complete walk back:
>>
>> topaz 1> topaz 1> WAFastCGIAdaptor Server started on port 9001
>> -----------------------------------------------------
>> GemStone: Error         Nonfatal
>> The object with object ID 76562293713797632 does not exist.
>> Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1 Context : 412915713
>> Arg 1: [612498349710381058 sz:0 cls: 74241 SmallInteger] 76562293713797632
>>
>> Now executing the following command saved from "iferr 1":
>>  where
>> ==> 1 WAComponent >> decoration @3 line 1   [GsMethod 194749441]
>> 2 WAComponent >> addDecoration: @2 line 6   [GsMethod 194748417]
>> 3 WAComponent >> show:onAnswer:delegation: @10 line 8   [GsMethod 194749185]
>> 4 WAComponent >> show:onAnswer: @5 line 5   [GsMethod 499699713]
>> 5 WAComponent >> call:onAnswer: @5 line 8   [GsMethod 194750977]
>> 6 ComplexBlock in WAComponent >> call: @3 line 4   [GsMethod 191317249]
>> 7 ComplexBlock in WAComponent >> wait: @3 line 3   [GsMethod 191268353]
>> 8 GRGemStonePlatform >> seasideSuspendFlowDo: @9 line 5   [GsMethod 499655937]
>> 9 WAComponent >> wait: @4 line 3   [GsMethod 191268353]
>> 10 WAComponent >> call: @4 line 4   [GsMethod 191317249]
>> 11 PracticeJournalLoginTask >> go @14 line 9   [GsMethod 371393537]
>> 12 WATask >> execute @1 line 7   [GsMethod 195261697]
>> 13 ComplexBlock in WATaskVisitor >> visitTask: @6 line 4   [GsMethod 194755841]
>> 14 WACallback >> evaluateWithFieldValues: @5 line 2   [GsMethod 177495553]
>> 15 ComplexBlock in WACallbackRegistry >> handle: @16 line 10   [GsMethod 177951489]
>> 16 Collection >> do: @5 line 10   [GsMethod 1547777]
>> 17 WACallbackRegistry >> handle: @17 line 9   [GsMethod 177951489]
>> 18 ComplexBlock in WAActionPhaseContinuation >> runCallbacks @7 line 4   [GsMethod 202613505]
>> 19 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
>> 20 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
>> 21 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
>> 22 WARenderLoopContinuation >> withNotificationHandlerDo: @3 line 2   [GsMethod 202608385]
>> 23 ComplexVCBlock in WAActionPhaseContinuation >> runCallbacks @8 line 3   [GsMethod 202613505]
>> 24 ComplexBlock in ExecutableBlock >> ensure: @4 line 11   [GsMethod 2304001]
>> 25 ComplexVCBlock in ExecutableBlock >> ensure: @6 line 11   [GsMethod 2304001]
>> 26 WAActionPhaseContinuation >> runCallbacks @18 line 6   [GsMethod 202613505]
>> 27 WAActionPhaseContinuation >> handleRequest @1 line 2   [GsMethod 202614017]
>> 28 ComplexBlock in WASessionContinuation >> basicValue @3 line 2   [GsMethod 202625537]
>> 29 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
>> 30 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
>> 31 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
>> 32 WASessionContinuation >> withUnregisteredHandlerDo: @7 line 3   [GsMethod 202627073]
>> 33 WASessionContinuation >> basicValue @4 line 2   [GsMethod 202625537]
>> 34 WASessionContinuation >> value @3 line 5   [GsMethod 202623745]
>> 35 WASession >> handleFiltered: @14 line 10   [GsMethod 202205441]
>> 36 WARequestFilter >> handleFiltered: @2 line 4   [GsMethod 176192513]
>> 37 ComplexBlock in WADeprecatedToolFilter >> handleFiltered: @3 line 2   [GsMethod 203213313]
>> 38 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
>> 39 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
>> 40 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
>> 41 WADeprecatedToolFilter >> handleFiltered: @6 line 3   [GsMethod 203213313]
>> 42 WARequestFilter >> handleFiltered: @2 line 4   [GsMethod 176192513]
>> 43 ComplexBlock in WATimingToolFilter >> handleFiltered: @4 line 3   [GsMethod 203208449]
>> 44 ComplexBlock in ExecutableBlock >> ensure: @4 line 11   [GsMethod 2304001]
>> 45 ComplexBlock in ExecutableBlock >> ensure: @6 line 11   [GsMethod 2304001]
>> 46 WATimingToolFilter >> handleFiltered: @8 line 4   [GsMethod 203208449]
>> 47 ComplexBlock in WARequestHandler >> handle: @4 line 4   [GsMethod 178568961]
>> 48 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
>> 49 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
>> 50 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
>> 51 WADynamicVariable class >> use:during: @4 line 4   [GsMethod 177805825]
>> 52 ComplexBlock in WARequestContext >> push:during: @4 line 5   [GsMethod 176176129]
>> 53 ComplexBlock in ExecutableBlock >> ensure: @4 line 11   [GsMethod 2304001]
>> 54 ComplexBlock in ExecutableBlock >> ensure: @6 line 11   [GsMethod 2304001]
>> 55 WARequestContext >> push:during: @7 line 6   [GsMethod 176176129]
>> 56 WARequestHandler >> handle: @5 line 4   [GsMethod 178568961]
>> 57 WASession >> handle: @10 line 11   [GsMethod 202210561]
>> 58 WARegistry >> dispatch:to: @1 line 5   [GsMethod 176153857]
>> 59 WARegistry >> handleKeyed:with: @2 line 5   [GsMethod 176155137]
>> 60 WARegistry >> handleFiltered: @33 line 19   [GsMethod 176146945]
>> 61 WAApplication >> handleFiltered: @9 line 8   [GsMethod 202644225]
>> 62 WARequestFilter >> handleFiltered: @2 line 4   [GsMethod 176192513]
>> 63 ComplexBlock in WAExceptionFilter >> handleFiltered: @6 line 7   [GsMethod 499529473]
>> 64 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
>> 65 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
>> 66 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
>> 67 WADynamicVariable class >> use:during: @4 line 4   [GsMethod 177805825]
>> 68 ComplexVCBlock in WAExceptionFilter >> handleFiltered: @7 line 6   [GsMethod 499529473]
>> 69 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
>> 70 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
>> 71 ComplexVCBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
>> 72 WAExceptionHandler >> handleExceptionsDuring: @8 line 3   [GsMethod 177803521]
>> 73 WAExceptionFilter >> handleFiltered: @8 line 4   [GsMethod 499529473]
>> 74 ComplexBlock in WARequestHandler >> handle: @4 line 4   [GsMethod 178568961]
>> 75 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
>> 76 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
>> 77 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
>> 78 WADynamicVariable class >> use:during: @4 line 4   [GsMethod 177805825]
>> 79 ComplexBlock in WARequestContext >> push:during: @4 line 5   [GsMethod 176176129]
>> 80 ComplexBlock in ExecutableBlock >> ensure: @4 line 11   [GsMethod 2304001]
>> 81 ComplexBlock in ExecutableBlock >> ensure: @6 line 11   [GsMethod 2304001]
>> 82 WARequestContext >> push:during: @7 line 6   [GsMethod 176176129]
>> 83 WARequestHandler >> handle: @5 line 4   [GsMethod 178568961]
>> 84 WADispatcher >> handleFiltered:named: @7 line 5   [GsMethod 179090945]
>> 85 WADispatcher >> handleFiltered: @7 line 6   [GsMethod 179087617]
>> 86 ComplexBlock in WARequestHandler >> handle: @4 line 4   [GsMethod 178568961]
>> 87 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
>> 88 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
>> 89 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
>> 90 WADynamicVariable class >> use:during: @4 line 4   [GsMethod 177805825]
>> 91 ComplexBlock in WARequestContext >> push:during: @4 line 5   [GsMethod 176176129]
>> 92 ComplexBlock in ExecutableBlock >> ensure: @4 line 11   [GsMethod 2304001]
>> 93 ComplexBlock in ExecutableBlock >> ensure: @6 line 11   [GsMethod 2304001]
>> 94 WARequestContext >> push:during: @7 line 6   [GsMethod 176176129]
>> 95 WARequestHandler >> handle: @5 line 4   [GsMethod 178568961]
>> 96 ComplexBlock in WAServerAdaptor >> handleRequest: @4 line 4   [GsMethod 176816641]
>> 97 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
>> 98 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
>> 99 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
>> 100 WAServerAdaptor >> handleRequest: @6 line 5   [GsMethod 176816641]
>> 101 WAServerAdaptor >> handle: @1 line 4   [GsMethod 176817921]
>> 102 ComplexBlock in WAServerAdaptor >> process: @5 line 6   [GsMethod 176817153]
>> 103 ComplexBlock in ExecutableBlock >> ensure: @4 line 11   [GsMethod 2304001]
>> 104 ComplexBlock in ExecutableBlock >> ensure: @6 line 11   [GsMethod 2304001]
>> 105 WAServerAdaptor >> process: @9 line 7   [GsMethod 176817153]
>> 106 ComplexBlock in WAFastCGIAdaptor >> process: @3 line 6   [GsMethod 212442369]
>> 107 ComplexBlock in GRGemStonePlatform >> seasideProcessRequestWithRetry:resultBlock: @12 line 11   [GsMethod 175179265]
>> 108 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
>> 109 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
>> 110 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
>> 111 ComplexVCBlock in GRGemStonePlatform >> seasideProcessRequestWithRetry:resultBlock: @18 line 12   [GsMethod 175179265]
>> 112 ComplexBlock in ExecutableBlock >> ensure: @4 line 11   [GsMethod 2304001]
>> 113 ComplexVCBlock in ExecutableBlock >> ensure: @6 line 11   [GsMethod 2304001]
>> 114 TransientRecursionLock >> critical: @15 line 8   [GsMethod 21159937]
>> 115 GRGemStonePlatform >> seasideProcessRequestWithRetry:resultBlock: @39 line 5   [GsMethod 175179265]
>> 116 ComplexBlock in GRGemStonePlatform >> seasideProcessRequest:adaptor:resultBlock: @7 line 9   [GsMethod 175179521]
>> 117 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
>> 118 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
>> 119 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
>> 120 GRGemStonePlatform >> seasideProcessRequest:adaptor:resultBlock: @32 line 17   [GsMethod 175179521]
>> 121 WAFastCGIAdaptor >> process: @4 line 4   [GsMethod 212442369]
>> 122 ComplexBlock in WAFastCGIAdaptor >> answerResponderRole: @3 line 4   [GsMethod 212444161]
>> 123 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
>> 124 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
>> 125 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
>> 126 WAFastCGIAdaptor >> answerResponderRole: @9 line 5   [GsMethod 212444161]
>> 127 FSResponderRole >> answer @2 line 4   [GsMethod 218695937]
>> 128 FSRole >> handleConnection @3 line 5   [GsMethod 218705409]
>> 129 FSConnection >> unsafeServe @4 line 8   [GsMethod 219646465]
>> 130 ComplexBlock in FSConnection >> safeServe @5 line 8   [GsMethod 499288833]
>> 131 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
>> 132 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
>> 133 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
>> 134 ComplexVCBlock in FSConnection >> safeServe @8 line 9   [GsMethod 499288833]
>> 135 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
>> 136 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod 10062081]
>> 137 ComplexVCBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod 9005057]
>> 138 ComplexVCBlock in FSConnection >> safeServe @11 line 12   [GsMethod 499288833]
>> 139 ComplexBlock in ExecutableBlock >> ensure: @4 line 11   [GsMethod 2304001]
>> 140 ComplexVCBlock in ExecutableBlock >> ensure: @6 line 11   [GsMethod 2304001]
>> 141 FSConnection >> safeServe @14 line 15   [GsMethod 499288833]
>> 142 FSConnection >> serve @1 line 4   [GsMethod 219654145]
>> 143 ComplexBlock in FSSocketServer >> listen: @9 line 15   [GsMethod 219292673]
>> 144 GsProcess >> _startPart2 @15 line 17   [GsMethod 4501249]
>> 145 GsProcess >> _start @1 line 9   [GsMethod 4501761]
>> [GsProcess 412915713]
>> topaz 1> [268 sz:0 cls: 68097 Boolean] true
>> topaz 1>
>> HostCallDebugger: invoked at: Mon Feb 20 16:38:18 UTC 2012
>>
>> UTL_GUARANTEE failed, File /export/toronto3/users/buildgss/244x-1/src/omverify.c line 28
>>
>> Begin attempt to print C-level stack at: Mon Feb 20 16:38:18 UTC 2012
>>
>>
>> End of C-level stack:
>>
>>
>> hostcalldebugger invoked in process 6550, at 02/20/2012 04:38:18 PM.681 UTC
>> notifying stone of fatal error
>>
>> [Info]: Logging out at 02/20/2012 04:38:18 PM UTC
>>
>>
>>
>>>
>>> ----- Original Message -----
>>> | From: "Lawrence Kellogg" <[hidden email]>
>>> | To: "GemStone Seaside beta discussion" <[hidden email]>
>>> | Sent: Monday, February 20, 2012 8:48:22 AM
>>> | Subject: Re: [GS/SS Beta] Object does not exist error - Worry about it?
>>> |
>>> | Hello Dale,
>>> |   Well, my system has been up for days, running with no problems, not
>>> |   that it has been getting a lot of traffic, but still, no crashes.
>>> |   Today, I hit the Object does not exist error again. I guess I can
>>> |   do another object audit but, other than that, I'm not sure how to
>>> |   proceed. Do you think an upgrade to 2.4.5 will help me?
>>> |
>>> |   Here is the walkback:
>>> |
>>> | topaz 1> topaz 1> WAFastCGIAdaptor Server started on port 9001
>>> | -----------------------------------------------------
>>> | GemStone: Error         Nonfatal
>>> | The object with object ID 76562293713797632 does not exist.
>>> | Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1 Context :
>>> | 412915713
>>> | Arg 1: [612498349710381058 sz:0 cls: 74241 SmallInteger]
>>> | 76562293713797632
>>> |
>>> | Now executing the following command saved from "iferr 1":
>>> |    where
>>> | ==> 1 WAComponent >> decoration @3 line 1   [GsMethod 194749441]
>>> | 2 WAComponent >> addDecoration: @2 line 6   [GsMethod 194748417]
>>> | 3 WAComponent >> show:onAnswer:delegation: @10 line 8   [GsMethod
>>> | 194749185]
>>> | 4 WAComponent >> show:onAnswer: @5 line 5   [GsMethod 499699713]
>>> | 5 WAComponent >> call:onAnswer: @5 line 8   [GsMethod 194750977]
>>> | 6 ComplexBlock in WAComponent >> call: @3 line 4   [GsMethod
>>> | 191317249]
>>> | 7 ComplexBlock in WAComponent >> wait: @3 line 3   [GsMethod
>>> | 191268353]
>>> | 8 GRGemStonePlatform >> seasideSuspendFlowDo: @9 line 5   [GsMethod
>>> | 499655937]
>>> | 9 WAComponent >> wait: @4 line 3   [GsMethod 191268353]
>>> | 10 WAComponent >> call: @4 line 4   [GsMethod 191317249]
>>> | 11 PracticeJournalLoginTask >> go @14 line 9   [GsMethod 371393537]
>>> |
>>> |
>>> | Larry
>>> |
>>> | On Feb 11, 2012, at 2:34 PM, Dale Henrichs wrote:
>>> |
>>> | > Larry,
>>> | >
>>> | > Yes, everything looks clean, I'm a little bit surprised that you
>>> | > didn't find the original error in you first audit, but the
>>> | > implication is that the "corrupt object" never got persisted ...
>>> | > indicating some other type of corruption ...
>>> | >
>>> | > A clean object audit means that your data base has no corruption so
>>> | > you're good to go ... I'll talk to some guys on Monday and see if
>>> | > they have some ideas as to what might have happened...there's a
>>> | > bug in there somewhere, but for now it looks like it is isolated
>>> | > to the local state in a gem ...
>>> | >
>>> | > Dale
>>> | >
>>> | > ----- Original Message -----
>>> | > | From: "Lawrence Kellogg" <[hidden email]>
>>> | > | To: "GemStone Seaside beta discussion"
>>> | > | <[hidden email]>
>>> | > | Sent: Saturday, February 11, 2012 4:18:06 AM
>>> | > | Subject: Re: [GS/SS Beta] Object does not exist error - Worry
>>> | > | about it?
>>> | > |
>>> | > |
>>> | > | On Feb 10, 2012, at 7:04 PM, Dale Henrichs wrote:
>>> | > |
>>> | > | > Larry,
>>> | > | >
>>> | > | > Object does not exist errors are not good things ... and the
>>> | > | > gem
>>> | > | > coming down in this case is probably a good thing ... The fact
>>> | > | > that the problem is showing up in a GsProcess means that the
>>> | > | > Seaside session data structures are corrupted but not your
>>> | > | > model
>>> | > | > data ...
>>> | > | >
>>> | > | > You can check for corruption in your data base by running an
>>> | > | > object
>>> | > | > audit (see section 8.2 of the System Administration Guide[1]).
>>> | > | > If
>>> | > | > you follow these steps you own't need to run the object audit
>>> | > | > as
>>> | > | > single user (see the docs):
>>> | > | >
>>> | > | >  - expire sessions
>>> | > | >  - mfc
>>> | > | >  - reclaimAll
>>> | > | >  - object audit
>>> | > | >
>>> | > |
>>> | > | Hello Dale,
>>> | > |   Ok, I ran:
>>> | > |
>>> | > | System stopUserSessions
>>> | > | SystemRepository objectAudit
>>> | > | SystemRepository markForCollection
>>> | > | SystemRepository reclaimAll
>>> | > | SystemRepository objectAudit
>>> | > |
>>> | > | I don't see any errors. Here is my log. What do you make of it?
>>> | > |
>>> | > | Larry
>>> | > |
>>> | > |
>>> | > | [Info]: Login Time: 02/11/2012 12:06:22 PM.972 UTC
>>> | > | [02/11/2012 12:06:23 PM.001 UTC] gci login: currSession 1 rpc gem
>>> | > | processId -1
>>> | > | successful login
>>> | > | topaz 1> printit
>>> | > | System hasMissingGcGems
>>> | > | %
>>> | > | false
>>> | > | topaz 1> printit
>>> | > | System stopUserSessions
>>> | > | %
>>> | > | System class
>>> | > |   superClass      Object class
>>> | > |   format          32
>>> | > |   instVars        0
>>> | > |   instVarNames    an Array
>>> | > |   constraints     an Array
>>> | > |   classVars       a SymbolDictionary
>>> | > |   methodDict      a GsMethodDictionary
>>> | > |   poolDictionaries an Array
>>> | > |   categories      a GsMethodDictionary
>>> | > |   secondarySuperclasses nil
>>> | > |   name            System
>>> | > |   classHistory    a ClassHistory
>>> | > |   description     a GsClassDocumentation
>>> | > |   migrationDestination nil
>>> | > |   timeStamp       a DateTime
>>> | > |   userId          SystemUser
>>> | > |   extraDict       a SymbolDictionary
>>> | > |   classCategory   nil
>>> | > |   subclasses      nil
>>> | > |
>>> | > | topaz 1> printit
>>> | > | SystemRepository objectAudit
>>> | > | %
>>> | > | --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
>>> | > | --setGcConfig: set reclaimMinPages to 1
>>> | > | --reclaimAll: changed reclaimMinPages from 40 to 1
>>> | > | --setGcConfig: set reclaimSleepTime to 1
>>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
>>> | > | --reclaimAll: using reclaimDeadEnabled true
>>> | > | --reclaimAll: simpleCommit loopCount 10
>>> | > | 02/11/2012 12:07:41 PM.070 UTC: Starting object table scan
>>> | > | 02/11/2012 12:07:41 PM.698 UTC: Finished object table scan
>>> | > |
>>> | > | Object audit is proceeding in FullAudit mode:
>>> | > | Scavenging completed (either single user mode or no pages to
>>> | > | scavenge).
>>> | > | All audit checks are enabled.
>>> | > |
>>> | > | Object audit as of 02/11/2012 12:07:41 PM UTC.
>>> | > | Summary of objects whose sizes exceed 100000 Bytes or Oops:
>>> | > |
>>> | > |   ObjectID        Class     ClassName
>>> | > |                                  LogicalSize
>>> | > | --------------------------------------------------------------------------------------------------------------
>>> | > |     305743617         74753 String
>>> | > |                                          134740 Oops
>>> | > |     149534721         74753 String
>>> | > |                                          164661 Oops
>>> | > |     173784833         74753 String
>>> | > |                                          163312 Oops
>>> | > |     196368897         74753 String
>>> | > |                                          164661 Oops
>>> | > |     305774593         74753 String
>>> | > |                                          134740 Oops
>>> | > |     175519489         74753 String
>>> | > |                                          376305 Oops
>>> | > |     196571393         74753 String
>>> | > |                                          379399 Oops
>>> | > |     175494145         74753 String
>>> | > |                                          201874 Oops
>>> | > |     197005569         74753 String
>>> | > |                                          202074 Oops
>>> | > |     149996289         74753 String
>>> | > |                                          236426 Oops
>>> | > |     151722753         74753 String
>>> | > |                                          379399 Oops
>>> | > |     151723777         74753 String
>>> | > |                                          202074 Oops
>>> | > |     274619393         74753 String
>>> | > |                                         1170577 Oops
>>> | > |     265139713         74753 String
>>> | > |                                         1170577 Oops
>>> | > |     215910913         66817 Array
>>> | > |                                           331214 Oops
>>> | > |     164965121         74753 String
>>> | > |                                          236201 Oops
>>> | > |     197155585         74753 String
>>> | > |                                          236426 Oops
>>> | > |     271373057         74753 String
>>> | > |                                         1170577 Oops
>>> | > |     268426753         74753 String
>>> | > |                                          134740 Oops
>>> | > |     264103681         74753 String
>>> | > |                                         1170577 Oops
>>> | > |
>>> | > | ----------- Object Statistics Summary -----------------
>>> | > |
>>> | > | ----- Instances of invisible (private) classes ------
>>> | > |    Number of instances:         1072
>>> | > |             Total size:        15855 K Bytes
>>> | > |           Average size:         14.8 Bytes
>>> | > |
>>> | > |           Class:       209153 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       209409 Instances:         1072 Total Size:
>>> | > |                  15855 K Bytes
>>> | > |           Class:       209665 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       209921 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       210177 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       210433 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       210689 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       210945 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       211201 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       211457 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       211713 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       211969 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       212225 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       212481 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       212737 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       212993 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       213249 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       213505 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       213761 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |
>>> | > |
>>> | > | ----- Instances of visible classes -----------------
>>> | > |    Number of objects      :      1633432
>>> | > |    Total Size             :       157861 K Bytes
>>> | > |    size of Object Headers :        38283 K Bytes
>>> | > |    size of Object Values  :       116978 K Bytes
>>> | > |    size of Object Tags    :            0 K Bytes
>>> | > |    average of Object Value:         73.3 Bytes
>>> | > |
>>> | > | Object Audit: Audit successfully completed; no errors were
>>> | > | detected.
>>> | > | --setGcConfig: set reclaimMinPages to 40
>>> | > | --setGcConfig: set reclaimSleepTime to 10
>>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
>>> | > | --postReclaimAll: restored reclaimMinPages to 40
>>> | > | true
>>> | > | topaz 1> printit
>>> | > | SystemRepository markForCollection
>>> | > | %
>>> | > | start MFC mark/sweep phase: 02/11/2012 12:08:56 PM UTC
>>> | > | WARNING, unable to resolve either garMarkSweepPageBufSize or
>>> | > | mfcGcPageBufSize, using default 320
>>> | > | MarkSweepArgsSType::(): buffer size= 320 pages
>>> | > | start MFC process dead phase: 02/11/2012 12:08:59 PM UTC
>>> | > | end MFC: 02/11/2012 12:08:59 PM UTC
>>> | > | Successful completion of markForCollection.
>>> | > |     1613875 live objects found.
>>> | > |     20629 possible dead objects, occupying approximately 1856610
>>> | > |     bytes, may be reclaimed.
>>> | > | topaz 1> printit
>>> | > | SystemRepository reclaimAll
>>> | > | %
>>> | > | --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
>>> | > | --setGcConfig: set reclaimMinPages to 1
>>> | > | --reclaimAll: changed reclaimMinPages from 40 to 1
>>> | > | --setGcConfig: set reclaimSleepTime to 1
>>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
>>> | > | --reclaimAll: using reclaimDeadEnabled true
>>> | > | --reclaimAll: simpleCommit loopCount 10
>>> | > | an Array
>>> | > |   #1 40
>>> | > |   #2 10
>>> | > |   #3 0
>>> | > |
>>> | > | topaz 1> printit
>>> | > | SystemRepository objectAudit
>>> | > | %
>>> | > | --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
>>> | > | --setGcConfig: set reclaimMinPages to 1
>>> | > | --reclaimAll: changed reclaimMinPages from 1 to 1
>>> | > | --setGcConfig: set reclaimSleepTime to 1
>>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
>>> | > | --reclaimAll: using reclaimDeadEnabled true
>>> | > | 02/11/2012 12:11:27 PM.328 UTC: Starting object table scan
>>> | > | 02/11/2012 12:11:27 PM.921 UTC: Finished object table scan
>>> | > |
>>> | > | Object audit is proceeding in FullAudit mode:
>>> | > | Scavenging completed (either single user mode or no pages to
>>> | > | scavenge).
>>> | > | All audit checks are enabled.
>>> | > |
>>> | > | Object audit as of 02/11/2012 12:11:27 PM UTC.
>>> | > | Summary of objects whose sizes exceed 100000 Bytes or Oops:
>>> | > |
>>> | > |   ObjectID        Class     ClassName
>>> | > |                                  LogicalSize
>>> | > | --------------------------------------------------------------------------------------------------------------
>>> | > |     305743617         74753 String
>>> | > |                                          134740 Oops
>>> | > |     149534721         74753 String
>>> | > |                                          164661 Oops
>>> | > |     173784833         74753 String
>>> | > |                                          163312 Oops
>>> | > |     196368897         74753 String
>>> | > |                                          164661 Oops
>>> | > |     305774593         74753 String
>>> | > |                                          134740 Oops
>>> | > |     175519489         74753 String
>>> | > |                                          376305 Oops
>>> | > |     196571393         74753 String
>>> | > |                                          379399 Oops
>>> | > |     175494145         74753 String
>>> | > |                                          201874 Oops
>>> | > |     197005569         74753 String
>>> | > |                                          202074 Oops
>>> | > |     149996289         74753 String
>>> | > |                                          236426 Oops
>>> | > |     151722753         74753 String
>>> | > |                                          379399 Oops
>>> | > |     151723777         74753 String
>>> | > |                                          202074 Oops
>>> | > |     274619393         74753 String
>>> | > |                                         1170577 Oops
>>> | > |     265139713         74753 String
>>> | > |                                         1170577 Oops
>>> | > |     215910913         66817 Array
>>> | > |                                           331214 Oops
>>> | > |     164965121         74753 String
>>> | > |                                          236201 Oops
>>> | > |     197155585         74753 String
>>> | > |                                          236426 Oops
>>> | > |     271373057         74753 String
>>> | > |                                         1170577 Oops
>>> | > |     268426753         74753 String
>>> | > |                                          134740 Oops
>>> | > |     264103681         74753 String
>>> | > |                                         1170577 Oops
>>> | > |
>>> | > | ----------- Object Statistics Summary -----------------
>>> | > |
>>> | > | ----- Instances of invisible (private) classes ------
>>> | > |    Number of instances:         1072
>>> | > |             Total size:        15855 K Bytes
>>> | > |           Average size:         14.8 Bytes
>>> | > |
>>> | > |           Class:       209153 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       209409 Instances:         1072 Total Size:
>>> | > |                  15855 K Bytes
>>> | > |           Class:       209665 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       209921 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       210177 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       210433 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       210689 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       210945 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       211201 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       211457 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       211713 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       211969 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       212225 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       212481 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       212737 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       212993 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       213249 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       213505 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |           Class:       213761 Instances:            0 Total Size:
>>> | > |                      0 K Bytes
>>> | > |
>>> | > |
>>> | > | ----- Instances of visible classes -----------------
>>> | > |    Number of objects      :      1612803
>>> | > |    Total Size             :       156912 K Bytes
>>> | > |    size of Object Headers :        37800 K Bytes
>>> | > |    size of Object Values  :       116516 K Bytes
>>> | > |    size of Object Tags    :            0 K Bytes
>>> | > |    average of Object Value:         74.0 Bytes
>>> | > |
>>> | > | Object Audit: Audit successfully completed; no errors were
>>> | > | detected.
>>> | > | --setGcConfig: set reclaimMinPages to 1
>>> | > | --setGcConfig: set reclaimSleepTime to 1
>>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
>>> | > | --postReclaimAll: restored reclaimMinPages to 1
>>> | > | true
>>> | > | topaz 1>
>>> | > | topaz 1>
>>> | > |
>>> | > |
>>> | > | > If, as I suspect, you've got corruption in GsProcess objects
>>> | > | > they
>>> | > | > only impact Seaside session state, and should have disappeared
>>> | > | > by
>>> | > | > the time you run the object audit ...
>>> | > | >
>>> | > | > This problems seems to ring a bell, but it seems to me that the
>>> | > | > problem I am thinking of showed up in GemStone 3.0 and I think
>>> | > | > it
>>> | > | > was fixed in GemStone 3.0.1... so I'm curious what version of
>>> | > | > GemStone you are using.
>>> | > | >
>>> | > | > As I think about this, I seem to recall that the problem was
>>> | > | > related to deeply nested block structure in a method that was
>>> | > | > involved in partial continuations, so I am curious if you
>>> | > | > happen
>>> | > | > to have some deeply nested block structures let's say more than
>>> | > | > 5
>>> | > | > or 6 levels deep in your method? In fact even in 3.0.1 I think
>>> | > | > that there might be an effective limit (the engineer that
>>> | > | > worked
>>> | > | > on this will be back on Monday for exact details), so if you
>>> | > | > are
>>> | > | > running with 3.0.1, you should definitely be suspicious of deep
>>> | > | > nesting of blocks...
>>> | > | >
>>> | > | > Dale
>>> | > | >
>>> | > | > [1]
>>> | > | > http://community.gemstone.com/display/GSS64/GemStoneS+64+Documentation
>>> | > | >
>>> | > | > ----- Original Message -----
>>> | > | > | From: "Lawrence Kellogg" <[hidden email]>
>>> | > | > | To: "GemStone Seaside beta discussion"
>>> | > | > | <[hidden email]>
>>> | > | > | Sent: Friday, February 10, 2012 2:13:15 PM
>>> | > | > | Subject: [GS/SS Beta] Object does not exist error - Worry
>>> | > | > | about
>>> | > | > | it?
>>> | > | > |
>>> | > | > |
>>> | > | > |
>>> | > | > | Hello,
>>> | > | > | After a long series of calls and answers in Seaside, I got an
>>> | > | > | Object
>>> | > | > | does not exist error that brought down the fast cgi gateway.
>>> | > | > | My
>>> | > | > | production error handler was not triggered, although it was
>>> | > | > | installed, as far as I could tell. Strange. My supervise
>>> | > | > | fastcgi
>>> | > | > | process also did not pick up my dead fastcgi process. Not a
>>> | > | > | good
>>> | > | > | day.
>>> | > | > |
>>> | > | > | Here is the walkback:
>>> | > | > |
>>> | > | > |
>>> | > | > |
>>> | > | > | USER IDS: REAL=seasideuser (500) EFFECTIVE=seasideuser (500)
>>> | > | > | |
>>> | > | > | |_____________________________________________________________________________|
>>> | > | > | topaz> topaz> topaz> topaz> topaz> topaz> topaz> [Info]: LNK
>>> | > | > | client/gem GCI levels = 844/844
>>> | > | > | [Info]: User ID: DataCurator
>>> | > | > | [Info]: Repository: seaside
>>> | > | > | [Info]: Session ID: 5
>>> | > | > | [Info]: GCI Client Host: <Linked>
>>> | > | > | [Info]: Page server PID: -1
>>> | > | > | [Info]: Login Time: 02/10/2012 09:27:56 PM.572 UTC
>>> | > | > | [02/10/2012 09:27:56 PM.592 UTC] gci login: currSession 1 rpc
>>> | > | > | gem
>>> | > | > | processId -1
>>> | > | > | successful login
>>> | > | > | topaz 1> topaz 1> [20 sz:0 cls: 76289 UndefinedObject] nil
>>> | > | > | topaz 1> topaz 1> [76033 sz:19 cls: 801793 System class]
>>> | > | > | System
>>> | > | > | class
>>> | > | > | superClass [72193 sz:19 cls: 206081 Object class] Object
>>> | > | > | class
>>> | > | > | format [258 sz:0 cls: 74241 SmallInteger] 32
>>> | > | > | instVars [2 sz:0 cls: 74241 SmallInteger] 0
>>> | > | > | instVarNames [422145 sz:0 cls: 66817 Array] an Array
>>> | > | > | constraints [421889 sz:0 cls: 66817 Array] an Array
>>> | > | > | classVars [421633 sz:26 cls: 111361 SymbolDictionary] a
>>> | > | > | SymbolDictionary
>>> | > | > | methodDict [711937 sz:112 cls: 99073 GsMethodDictionary] a
>>> | > | > | GsMethodDictionary
>>> | > | > | poolDictionaries [421377 sz:0 cls: 66817 Array] an Array
>>> | > | > | categories [421121 sz:28 cls: 99073 GsMethodDictionary] a
>>> | > | > | GsMethodDictionary
>>> | > | > | secondarySuperclasses [20 sz:0 cls: 76289 UndefinedObject]
>>> | > | > | nil
>>> | > | > | name [801537 sz:6 cls: 110849 Symbol] System
>>> | > | > | classHistory [420865 sz:3 cls: 82689 ClassHistory] a
>>> | > | > | ClassHistory
>>> | > | > | description [13498369 sz:10 cls: 95233 GsClassDocumentation]
>>> | > | > | a
>>> | > | > | GsClassDocumentation
>>> | > | > | migrationDestination [20 sz:0 cls: 76289 UndefinedObject] nil
>>> | > | > | timeStamp [14510593 sz:4 cls: 118785 DateTime] a DateTime
>>> | > | > | userId [14508801 sz:10 cls: 74753 String] SystemUser
>>> | > | > | extraDict [14524929 sz:14 cls: 111361 SymbolDictionary] a
>>> | > | > | SymbolDictionary
>>> | > | > | classCategory [20 sz:0 cls: 76289 UndefinedObject] nil
>>> | > | > | subclasses [20 sz:0 cls: 76289 UndefinedObject] nil
>>> | > | > |
>>> | > | > |
>>> | > | > | topaz 1> topaz 1> WAFastCGIAdaptor Server started on port
>>> | > | > | 9001
>>> | > | > | -----------------------------------------------------
>>> | > | > | GemStone: Error Nonfatal
>>> | > | > | The object with object ID 81065894683350528 does not exist.
>>> | > | > | Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1
>>> | > | > | Context :
>>> | > | > | 526648321
>>> | > | > | Arg 1: [648527157466804226 sz:0 cls: 74241 SmallInteger]
>>> | > | > | 81065894683350528
>>> | > | > |
>>> | > | > |
>>> | > | > | Now executing the following command saved from "iferr 1":
>>> | > | > | where
>>> | > | > | ==> 1 GsProcess class >>
>>> | > | > | installPartialContinuation:atLevel:value: @2
>>> | > | > | line 1 [GsMethod 4487425]
>>> | > | > | 2 WAPartialContinuation >> value: @13 line 11 [GsMethod
>>> | > | > | 212791041]
>>> | > | > | 3 WAPartialContinuation >> valueWithPossibleArguments: @2
>>> | > | > | line 2
>>> | > | > | [GsMethod 218326273]
>>> | > | > | 4 ComplexBlock in WAComponent >> show:onAnswer:delegation: @7
>>> | > | > | line 7
>>> | > | > | [GsMethod 194749185]
>>> | > | > | 5 ComplexBlock in ExecutableBlock >>
>>> | > | > | valueWithPossibleArguments:
>>> | > | > | @12
>>> | > | > | line 8 [GsMethod 116163585]
>>> | > | > | 6 WAAnswerHandler >> handleAnswer:continueWith: @3 line 2
>>> | > | > | [GsMethod
>>> | > | > | 194735873]
>>> | > | > | 7 WADecoration >> handleAnswer: @6 line 3 [GsMethod
>>> | > | > | 194731009]
>>> | > | > | 8 WAComponent >> answer: @2 line 5 [GsMethod 194751745]
>>> | > | > |
>>> | > | > |
>>> | > | > |
>>> | > | > |
>>> | > | > | I found this on the net:
>>> | > | > |
>>> | > | > |
>>> | > | > |
>>> | > | > | Object does not exist errors
>>> | > | > | GBS applications may encounter object does not exist errors
>>> | > | > | in
>>> | > | > | non-persistent
>>> | > | > | objects. This is due to a problem with the fix for bug #40703
>>> | > | > | in
>>> | > | > | version
>>> | > | > | 2.4.4, which resulted in non-persistent objects not properly
>>> | > | > | protected
>>> | > | > | from garbage collection.
>>> | > | > |
>>> | > | > | Workaround:
>>> | > | > |
>>> | > | > | none/not applicable
>>> | > | > | from:
>>> | > | > |
>>> | > | > |
>>> | > | > |
>>> | > | > |
>>> | > | > |
>>> | > | > |
>>> | > | > | http://www.gemstone.com/docs/GemStoneS/bugnotes/bugnotes/40948.html
>>> | > | > |
>>> | > | > |
>>> | > | > |
>>> | > | > | So, should I worry about this? I implemented code that
>>> | > | > | allowed a
>>> | > | > | user
>>> | > | > | to call an editor, switch out on the navigation menu, call
>>> | > | > | another
>>> | > | > | editor,
>>> | > | > | switch out. With each switch, I send answer: false to the
>>> | > | > | open
>>> | > | > | editor
>>> | > | > | to close it so that it is not hanging around open. My idea
>>> | > | > | was to hide the section navigation when the editor came up
>>> | > | > | but
>>> | > | > | I'm
>>> | > | > | getting push back from my user.
>>> | > | > |
>>> | > | > |
>>> | > | > | What do you think?
>>> | > | > |
>>> | > | > |
>>> | > | > | Larry
>>> | > | > |
>>> | > | > |
>>> | > | > |
>>> | > | > |
>>> | > |
>>> | > |
>>> |
>>> |
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: Object does not exist error - Worry about it?

Dale Henrichs
Sorry ... got side-tracked ... I'm looking now ...

Dale

----- Original Message -----
| From: "Lawrence Kellogg" <[hidden email]>
| To: "GemStone Seaside beta discussion" <[hidden email]>
| Sent: Monday, February 27, 2012 7:01:58 PM
| Subject: Re: [GS/SS Beta] Object does not exist error - Worry about it?
|
|
| On Feb 21, 2012, at 2:40 PM, Johan Brichau wrote:
|
| > fyi, I have been observing occurrences of this bug as well, with
| > exactly the same point of failure in the stack.
| >
| > No repository problems or audit warnings.
| >
| > Funnily, I've never seen this in any stone running Yesplan. The
| > stone where we have this problem is also running a Seaside
| > application but the only discriminating factor I can observe is
| > that this application uses call/answer a lot more (while we almost
| > never use that in Yesplan). It probably does not help a lot
| > finding the error... but I will look up the stack traces and post
| > them here if they might contain some clues.
|
| Hello Johan,
|   Thanks for looking into this problem. I use call/answer quite a
|   bit.
|
|   Dale, did you see the stack dump I posted?
|
|   Larry
|
|
| >
| > On 21 Feb 2012, at 20:13, Lawrence Kellogg wrote:
| >
| >>
| >> On Feb 21, 2012, at 1:05 PM, Dale Henrichs wrote:
| >>
| >>> Larry,
| >>>
| >>> We should try to dig into this one some more.
| >>>
| >>> To start with what version of Gemstone are you using? If you are
| >>> using 2.4.4.1, then I'm not aware of an issue that would warrant
| >>> an upgrade to 2.4.5, but I will check around a bit...As I said
| >>> before, the only place that I've seen "Obj does not exist
| >>> errors" is in 3.0 and those bugs were fixed in 3.0.1.
| >>>
| >>
| >> Dale,
| >> Thanks for the help. I would like to get to the bottom of this
| >> error. This crash takes down Fastcgi so it kills the service.
| >>
| >> According to the file in the directory, I'm on 2.4.4.1
| >>
| >> GemStone64Bit2.4.4.1-x86_64.Linux
| >>
| >>
| >>
| >>
| >>> This time we are getting the error while creating the
| >>> continuation ... the last episode occurred when you were trying
| >>> to execute from a continuation.
| >>>
| >>> Could you share the source code for PracticeJournalLoginTask >>
| >>> go? That's the first non-Seaside method on the stack below the
| >>> error, so it's as good a place as any to start …
| >>>
| >>
| >> Here is the complete source code for the go method:  ;-)
| >>
| >> go
| >> | user component |
| >> self call: self userLoginView.
| >> (self userLoginView user) notNil
| >> ifTrue: [
| >> component := self firstComponentToDisplayForUser: self
| >> userLoginView user.
| >> [ component notNil ]
| >> whileTrue: [
| >> self call: component.
| >> component := component nextComponentToBeDisplayed ] ]
| >>
| >> A component is called, and when another component is selected the
| >> current component is sent answer: false and
| >> the new component to call is returned from that
| >> nextComponentToBeDisplayed method.
| >>
| >> I used to have an implementation that would give me a huge
| >> recursive nesting of continuations, as shown by
| >> halo, but this shows everything on just a few levels, although I
| >> have to say that the walkback looks deep and gnarly.
| >>
| >>
| >>> It would be useful to see the entire stack as well. The partial
| >>> continuation copies the stack back to a marker method and it
| >>> would be useful to examine the source for the methods that are
| >>> on the stck for clues as to what might be going on...
| >>>
| >>> Dale
| >>
| >>
| >> Here is the complete walk back:
| >>
| >> topaz 1> topaz 1> WAFastCGIAdaptor Server started on port 9001
| >> -----------------------------------------------------
| >> GemStone: Error         Nonfatal
| >> The object with object ID 76562293713797632 does not exist.
| >> Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1
| >> Context : 412915713
| >> Arg 1: [612498349710381058 sz:0 cls: 74241 SmallInteger]
| >> 76562293713797632
| >>
| >> Now executing the following command saved from "iferr 1":
| >>  where
| >> ==> 1 WAComponent >> decoration @3 line 1   [GsMethod 194749441]
| >> 2 WAComponent >> addDecoration: @2 line 6   [GsMethod 194748417]
| >> 3 WAComponent >> show:onAnswer:delegation: @10 line 8   [GsMethod
| >> 194749185]
| >> 4 WAComponent >> show:onAnswer: @5 line 5   [GsMethod 499699713]
| >> 5 WAComponent >> call:onAnswer: @5 line 8   [GsMethod 194750977]
| >> 6 ComplexBlock in WAComponent >> call: @3 line 4   [GsMethod
| >> 191317249]
| >> 7 ComplexBlock in WAComponent >> wait: @3 line 3   [GsMethod
| >> 191268353]
| >> 8 GRGemStonePlatform >> seasideSuspendFlowDo: @9 line 5
| >>   [GsMethod 499655937]
| >> 9 WAComponent >> wait: @4 line 3   [GsMethod 191268353]
| >> 10 WAComponent >> call: @4 line 4   [GsMethod 191317249]
| >> 11 PracticeJournalLoginTask >> go @14 line 9   [GsMethod
| >> 371393537]
| >> 12 WATask >> execute @1 line 7   [GsMethod 195261697]
| >> 13 ComplexBlock in WATaskVisitor >> visitTask: @6 line 4
| >>   [GsMethod 194755841]
| >> 14 WACallback >> evaluateWithFieldValues: @5 line 2   [GsMethod
| >> 177495553]
| >> 15 ComplexBlock in WACallbackRegistry >> handle: @16 line 10
| >>   [GsMethod 177951489]
| >> 16 Collection >> do: @5 line 10   [GsMethod 1547777]
| >> 17 WACallbackRegistry >> handle: @17 line 9   [GsMethod 177951489]
| >> 18 ComplexBlock in WAActionPhaseContinuation >> runCallbacks @7
| >> line 4   [GsMethod 202613505]
| >> 19 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
| >> 20 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| >> 10062081]
| >> 21 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod
| >> 9005057]
| >> 22 WARenderLoopContinuation >> withNotificationHandlerDo: @3 line
| >> 2   [GsMethod 202608385]
| >> 23 ComplexVCBlock in WAActionPhaseContinuation >> runCallbacks @8
| >> line 3   [GsMethod 202613505]
| >> 24 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| >>   [GsMethod 2304001]
| >> 25 ComplexVCBlock in ExecutableBlock >> ensure: @6 line 11
| >>   [GsMethod 2304001]
| >> 26 WAActionPhaseContinuation >> runCallbacks @18 line 6
| >>   [GsMethod 202613505]
| >> 27 WAActionPhaseContinuation >> handleRequest @1 line 2
| >>   [GsMethod 202614017]
| >> 28 ComplexBlock in WASessionContinuation >> basicValue @3 line 2
| >>   [GsMethod 202625537]
| >> 29 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
| >> 30 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| >> 10062081]
| >> 31 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod
| >> 9005057]
| >> 32 WASessionContinuation >> withUnregisteredHandlerDo: @7 line 3
| >>   [GsMethod 202627073]
| >> 33 WASessionContinuation >> basicValue @4 line 2   [GsMethod
| >> 202625537]
| >> 34 WASessionContinuation >> value @3 line 5   [GsMethod 202623745]
| >> 35 WASession >> handleFiltered: @14 line 10   [GsMethod 202205441]
| >> 36 WARequestFilter >> handleFiltered: @2 line 4   [GsMethod
| >> 176192513]
| >> 37 ComplexBlock in WADeprecatedToolFilter >> handleFiltered: @3
| >> line 2   [GsMethod 203213313]
| >> 38 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
| >> 39 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| >> 10062081]
| >> 40 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod
| >> 9005057]
| >> 41 WADeprecatedToolFilter >> handleFiltered: @6 line 3   [GsMethod
| >> 203213313]
| >> 42 WARequestFilter >> handleFiltered: @2 line 4   [GsMethod
| >> 176192513]
| >> 43 ComplexBlock in WATimingToolFilter >> handleFiltered: @4 line 3
| >>   [GsMethod 203208449]
| >> 44 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| >>   [GsMethod 2304001]
| >> 45 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
| >>   [GsMethod 2304001]
| >> 46 WATimingToolFilter >> handleFiltered: @8 line 4   [GsMethod
| >> 203208449]
| >> 47 ComplexBlock in WARequestHandler >> handle: @4 line 4
| >>   [GsMethod 178568961]
| >> 48 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
| >> 49 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| >> 10062081]
| >> 50 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod
| >> 9005057]
| >> 51 WADynamicVariable class >> use:during: @4 line 4   [GsMethod
| >> 177805825]
| >> 52 ComplexBlock in WARequestContext >> push:during: @4 line 5
| >>   [GsMethod 176176129]
| >> 53 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| >>   [GsMethod 2304001]
| >> 54 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
| >>   [GsMethod 2304001]
| >> 55 WARequestContext >> push:during: @7 line 6   [GsMethod
| >> 176176129]
| >> 56 WARequestHandler >> handle: @5 line 4   [GsMethod 178568961]
| >> 57 WASession >> handle: @10 line 11   [GsMethod 202210561]
| >> 58 WARegistry >> dispatch:to: @1 line 5   [GsMethod 176153857]
| >> 59 WARegistry >> handleKeyed:with: @2 line 5   [GsMethod
| >> 176155137]
| >> 60 WARegistry >> handleFiltered: @33 line 19   [GsMethod
| >> 176146945]
| >> 61 WAApplication >> handleFiltered: @9 line 8   [GsMethod
| >> 202644225]
| >> 62 WARequestFilter >> handleFiltered: @2 line 4   [GsMethod
| >> 176192513]
| >> 63 ComplexBlock in WAExceptionFilter >> handleFiltered: @6 line 7
| >>   [GsMethod 499529473]
| >> 64 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
| >> 65 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| >> 10062081]
| >> 66 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod
| >> 9005057]
| >> 67 WADynamicVariable class >> use:during: @4 line 4   [GsMethod
| >> 177805825]
| >> 68 ComplexVCBlock in WAExceptionFilter >> handleFiltered: @7 line
| >> 6   [GsMethod 499529473]
| >> 69 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
| >> 70 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| >> 10062081]
| >> 71 ComplexVCBlock in ExecutableBlock >> on:do: @2 line 8
| >>   [GsMethod 9005057]
| >> 72 WAExceptionHandler >> handleExceptionsDuring: @8 line 3
| >>   [GsMethod 177803521]
| >> 73 WAExceptionFilter >> handleFiltered: @8 line 4   [GsMethod
| >> 499529473]
| >> 74 ComplexBlock in WARequestHandler >> handle: @4 line 4
| >>   [GsMethod 178568961]
| >> 75 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
| >> 76 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| >> 10062081]
| >> 77 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod
| >> 9005057]
| >> 78 WADynamicVariable class >> use:during: @4 line 4   [GsMethod
| >> 177805825]
| >> 79 ComplexBlock in WARequestContext >> push:during: @4 line 5
| >>   [GsMethod 176176129]
| >> 80 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| >>   [GsMethod 2304001]
| >> 81 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
| >>   [GsMethod 2304001]
| >> 82 WARequestContext >> push:during: @7 line 6   [GsMethod
| >> 176176129]
| >> 83 WARequestHandler >> handle: @5 line 4   [GsMethod 178568961]
| >> 84 WADispatcher >> handleFiltered:named: @7 line 5   [GsMethod
| >> 179090945]
| >> 85 WADispatcher >> handleFiltered: @7 line 6   [GsMethod
| >> 179087617]
| >> 86 ComplexBlock in WARequestHandler >> handle: @4 line 4
| >>   [GsMethod 178568961]
| >> 87 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
| >> 88 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| >> 10062081]
| >> 89 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod
| >> 9005057]
| >> 90 WADynamicVariable class >> use:during: @4 line 4   [GsMethod
| >> 177805825]
| >> 91 ComplexBlock in WARequestContext >> push:during: @4 line 5
| >>   [GsMethod 176176129]
| >> 92 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| >>   [GsMethod 2304001]
| >> 93 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
| >>   [GsMethod 2304001]
| >> 94 WARequestContext >> push:during: @7 line 6   [GsMethod
| >> 176176129]
| >> 95 WARequestHandler >> handle: @5 line 4   [GsMethod 178568961]
| >> 96 ComplexBlock in WAServerAdaptor >> handleRequest: @4 line 4
| >>   [GsMethod 176816641]
| >> 97 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
| >> 98 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| >> 10062081]
| >> 99 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod
| >> 9005057]
| >> 100 WAServerAdaptor >> handleRequest: @6 line 5   [GsMethod
| >> 176816641]
| >> 101 WAServerAdaptor >> handle: @1 line 4   [GsMethod 176817921]
| >> 102 ComplexBlock in WAServerAdaptor >> process: @5 line 6
| >>   [GsMethod 176817153]
| >> 103 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| >>   [GsMethod 2304001]
| >> 104 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
| >>   [GsMethod 2304001]
| >> 105 WAServerAdaptor >> process: @9 line 7   [GsMethod 176817153]
| >> 106 ComplexBlock in WAFastCGIAdaptor >> process: @3 line 6
| >>   [GsMethod 212442369]
| >> 107 ComplexBlock in GRGemStonePlatform >>
| >> seasideProcessRequestWithRetry:resultBlock: @12 line 11
| >>   [GsMethod 175179265]
| >> 108 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| >> 10065409]
| >> 109 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| >> 10062081]
| >> 110 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| >>   [GsMethod 9005057]
| >> 111 ComplexVCBlock in GRGemStonePlatform >>
| >> seasideProcessRequestWithRetry:resultBlock: @18 line 12
| >>   [GsMethod 175179265]
| >> 112 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| >>   [GsMethod 2304001]
| >> 113 ComplexVCBlock in ExecutableBlock >> ensure: @6 line 11
| >>   [GsMethod 2304001]
| >> 114 TransientRecursionLock >> critical: @15 line 8   [GsMethod
| >> 21159937]
| >> 115 GRGemStonePlatform >>
| >> seasideProcessRequestWithRetry:resultBlock: @39 line 5
| >>   [GsMethod 175179265]
| >> 116 ComplexBlock in GRGemStonePlatform >>
| >> seasideProcessRequest:adaptor:resultBlock: @7 line 9   [GsMethod
| >> 175179521]
| >> 117 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| >> 10065409]
| >> 118 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| >> 10062081]
| >> 119 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| >>   [GsMethod 9005057]
| >> 120 GRGemStonePlatform >>
| >> seasideProcessRequest:adaptor:resultBlock: @32 line 17
| >>   [GsMethod 175179521]
| >> 121 WAFastCGIAdaptor >> process: @4 line 4   [GsMethod 212442369]
| >> 122 ComplexBlock in WAFastCGIAdaptor >> answerResponderRole: @3
| >> line 4   [GsMethod 212444161]
| >> 123 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| >> 10065409]
| >> 124 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| >> 10062081]
| >> 125 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| >>   [GsMethod 9005057]
| >> 126 WAFastCGIAdaptor >> answerResponderRole: @9 line 5   [GsMethod
| >> 212444161]
| >> 127 FSResponderRole >> answer @2 line 4   [GsMethod 218695937]
| >> 128 FSRole >> handleConnection @3 line 5   [GsMethod 218705409]
| >> 129 FSConnection >> unsafeServe @4 line 8   [GsMethod 219646465]
| >> 130 ComplexBlock in FSConnection >> safeServe @5 line 8
| >>   [GsMethod 499288833]
| >> 131 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| >> 10065409]
| >> 132 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| >> 10062081]
| >> 133 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| >>   [GsMethod 9005057]
| >> 134 ComplexVCBlock in FSConnection >> safeServe @8 line 9
| >>   [GsMethod 499288833]
| >> 135 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| >> 10065409]
| >> 136 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| >> 10062081]
| >> 137 ComplexVCBlock in ExecutableBlock >> on:do: @2 line 8
| >>   [GsMethod 9005057]
| >> 138 ComplexVCBlock in FSConnection >> safeServe @11 line 12
| >>   [GsMethod 499288833]
| >> 139 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| >>   [GsMethod 2304001]
| >> 140 ComplexVCBlock in ExecutableBlock >> ensure: @6 line 11
| >>   [GsMethod 2304001]
| >> 141 FSConnection >> safeServe @14 line 15   [GsMethod 499288833]
| >> 142 FSConnection >> serve @1 line 4   [GsMethod 219654145]
| >> 143 ComplexBlock in FSSocketServer >> listen: @9 line 15
| >>   [GsMethod 219292673]
| >> 144 GsProcess >> _startPart2 @15 line 17   [GsMethod 4501249]
| >> 145 GsProcess >> _start @1 line 9   [GsMethod 4501761]
| >> [GsProcess 412915713]
| >> topaz 1> [268 sz:0 cls: 68097 Boolean] true
| >> topaz 1>
| >> HostCallDebugger: invoked at: Mon Feb 20 16:38:18 UTC 2012
| >>
| >> UTL_GUARANTEE failed, File
| >> /export/toronto3/users/buildgss/244x-1/src/omverify.c line 28
| >>
| >> Begin attempt to print C-level stack at: Mon Feb 20 16:38:18 UTC
| >> 2012
| >>
| >>
| >> End of C-level stack:
| >>
| >>
| >> hostcalldebugger invoked in process 6550, at 02/20/2012 04:38:18
| >> PM.681 UTC
| >> notifying stone of fatal error
| >>
| >> [Info]: Logging out at 02/20/2012 04:38:18 PM UTC
| >>
| >>
| >>
| >>>
| >>> ----- Original Message -----
| >>> | From: "Lawrence Kellogg" <[hidden email]>
| >>> | To: "GemStone Seaside beta discussion"
| >>> | <[hidden email]>
| >>> | Sent: Monday, February 20, 2012 8:48:22 AM
| >>> | Subject: Re: [GS/SS Beta] Object does not exist error - Worry
| >>> | about it?
| >>> |
| >>> | Hello Dale,
| >>> |   Well, my system has been up for days, running with no
| >>> |   problems, not
| >>> |   that it has been getting a lot of traffic, but still, no
| >>> |   crashes.
| >>> |   Today, I hit the Object does not exist error again. I guess I
| >>> |   can
| >>> |   do another object audit but, other than that, I'm not sure
| >>> |   how to
| >>> |   proceed. Do you think an upgrade to 2.4.5 will help me?
| >>> |
| >>> |   Here is the walkback:
| >>> |
| >>> | topaz 1> topaz 1> WAFastCGIAdaptor Server started on port 9001
| >>> | -----------------------------------------------------
| >>> | GemStone: Error         Nonfatal
| >>> | The object with object ID 76562293713797632 does not exist.
| >>> | Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1
| >>> | Context :
| >>> | 412915713
| >>> | Arg 1: [612498349710381058 sz:0 cls: 74241 SmallInteger]
| >>> | 76562293713797632
| >>> |
| >>> | Now executing the following command saved from "iferr 1":
| >>> |    where
| >>> | ==> 1 WAComponent >> decoration @3 line 1   [GsMethod
| >>> | 194749441]
| >>> | 2 WAComponent >> addDecoration: @2 line 6   [GsMethod
| >>> | 194748417]
| >>> | 3 WAComponent >> show:onAnswer:delegation: @10 line 8
| >>> |   [GsMethod
| >>> | 194749185]
| >>> | 4 WAComponent >> show:onAnswer: @5 line 5   [GsMethod
| >>> | 499699713]
| >>> | 5 WAComponent >> call:onAnswer: @5 line 8   [GsMethod
| >>> | 194750977]
| >>> | 6 ComplexBlock in WAComponent >> call: @3 line 4   [GsMethod
| >>> | 191317249]
| >>> | 7 ComplexBlock in WAComponent >> wait: @3 line 3   [GsMethod
| >>> | 191268353]
| >>> | 8 GRGemStonePlatform >> seasideSuspendFlowDo: @9 line 5
| >>> |   [GsMethod
| >>> | 499655937]
| >>> | 9 WAComponent >> wait: @4 line 3   [GsMethod 191268353]
| >>> | 10 WAComponent >> call: @4 line 4   [GsMethod 191317249]
| >>> | 11 PracticeJournalLoginTask >> go @14 line 9   [GsMethod
| >>> | 371393537]
| >>> |
| >>> |
| >>> | Larry
| >>> |
| >>> | On Feb 11, 2012, at 2:34 PM, Dale Henrichs wrote:
| >>> |
| >>> | > Larry,
| >>> | >
| >>> | > Yes, everything looks clean, I'm a little bit surprised that
| >>> | > you
| >>> | > didn't find the original error in you first audit, but the
| >>> | > implication is that the "corrupt object" never got persisted
| >>> | > ...
| >>> | > indicating some other type of corruption ...
| >>> | >
| >>> | > A clean object audit means that your data base has no
| >>> | > corruption so
| >>> | > you're good to go ... I'll talk to some guys on Monday and
| >>> | > see if
| >>> | > they have some ideas as to what might have happened...there's
| >>> | > a
| >>> | > bug in there somewhere, but for now it looks like it is
| >>> | > isolated
| >>> | > to the local state in a gem ...
| >>> | >
| >>> | > Dale
| >>> | >
| >>> | > ----- Original Message -----
| >>> | > | From: "Lawrence Kellogg" <[hidden email]>
| >>> | > | To: "GemStone Seaside beta discussion"
| >>> | > | <[hidden email]>
| >>> | > | Sent: Saturday, February 11, 2012 4:18:06 AM
| >>> | > | Subject: Re: [GS/SS Beta] Object does not exist error -
| >>> | > | Worry
| >>> | > | about it?
| >>> | > |
| >>> | > |
| >>> | > | On Feb 10, 2012, at 7:04 PM, Dale Henrichs wrote:
| >>> | > |
| >>> | > | > Larry,
| >>> | > | >
| >>> | > | > Object does not exist errors are not good things ... and
| >>> | > | > the
| >>> | > | > gem
| >>> | > | > coming down in this case is probably a good thing ... The
| >>> | > | > fact
| >>> | > | > that the problem is showing up in a GsProcess means that
| >>> | > | > the
| >>> | > | > Seaside session data structures are corrupted but not
| >>> | > | > your
| >>> | > | > model
| >>> | > | > data ...
| >>> | > | >
| >>> | > | > You can check for corruption in your data base by running
| >>> | > | > an
| >>> | > | > object
| >>> | > | > audit (see section 8.2 of the System Administration
| >>> | > | > Guide[1]).
| >>> | > | > If
| >>> | > | > you follow these steps you own't need to run the object
| >>> | > | > audit
| >>> | > | > as
| >>> | > | > single user (see the docs):
| >>> | > | >
| >>> | > | >  - expire sessions
| >>> | > | >  - mfc
| >>> | > | >  - reclaimAll
| >>> | > | >  - object audit
| >>> | > | >
| >>> | > |
| >>> | > | Hello Dale,
| >>> | > |   Ok, I ran:
| >>> | > |
| >>> | > | System stopUserSessions
| >>> | > | SystemRepository objectAudit
| >>> | > | SystemRepository markForCollection
| >>> | > | SystemRepository reclaimAll
| >>> | > | SystemRepository objectAudit
| >>> | > |
| >>> | > | I don't see any errors. Here is my log. What do you make of
| >>> | > | it?
| >>> | > |
| >>> | > | Larry
| >>> | > |
| >>> | > |
| >>> | > | [Info]: Login Time: 02/11/2012 12:06:22 PM.972 UTC
| >>> | > | [02/11/2012 12:06:23 PM.001 UTC] gci login: currSession 1
| >>> | > | rpc gem
| >>> | > | processId -1
| >>> | > | successful login
| >>> | > | topaz 1> printit
| >>> | > | System hasMissingGcGems
| >>> | > | %
| >>> | > | false
| >>> | > | topaz 1> printit
| >>> | > | System stopUserSessions
| >>> | > | %
| >>> | > | System class
| >>> | > |   superClass      Object class
| >>> | > |   format          32
| >>> | > |   instVars        0
| >>> | > |   instVarNames    an Array
| >>> | > |   constraints     an Array
| >>> | > |   classVars       a SymbolDictionary
| >>> | > |   methodDict      a GsMethodDictionary
| >>> | > |   poolDictionaries an Array
| >>> | > |   categories      a GsMethodDictionary
| >>> | > |   secondarySuperclasses nil
| >>> | > |   name            System
| >>> | > |   classHistory    a ClassHistory
| >>> | > |   description     a GsClassDocumentation
| >>> | > |   migrationDestination nil
| >>> | > |   timeStamp       a DateTime
| >>> | > |   userId          SystemUser
| >>> | > |   extraDict       a SymbolDictionary
| >>> | > |   classCategory   nil
| >>> | > |   subclasses      nil
| >>> | > |
| >>> | > | topaz 1> printit
| >>> | > | SystemRepository objectAudit
| >>> | > | %
| >>> | > | --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
| >>> | > | --setGcConfig: set reclaimMinPages to 1
| >>> | > | --reclaimAll: changed reclaimMinPages from 40 to 1
| >>> | > | --setGcConfig: set reclaimSleepTime to 1
| >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| >>> | > | --reclaimAll: using reclaimDeadEnabled true
| >>> | > | --reclaimAll: simpleCommit loopCount 10
| >>> | > | 02/11/2012 12:07:41 PM.070 UTC: Starting object table scan
| >>> | > | 02/11/2012 12:07:41 PM.698 UTC: Finished object table scan
| >>> | > |
| >>> | > | Object audit is proceeding in FullAudit mode:
| >>> | > | Scavenging completed (either single user mode or no pages
| >>> | > | to
| >>> | > | scavenge).
| >>> | > | All audit checks are enabled.
| >>> | > |
| >>> | > | Object audit as of 02/11/2012 12:07:41 PM UTC.
| >>> | > | Summary of objects whose sizes exceed 100000 Bytes or Oops:
| >>> | > |
| >>> | > |   ObjectID        Class     ClassName
| >>> | > |                                  LogicalSize
| >>> | > | --------------------------------------------------------------------------------------------------------------
| >>> | > |     305743617         74753 String
| >>> | > |                                          134740 Oops
| >>> | > |     149534721         74753 String
| >>> | > |                                          164661 Oops
| >>> | > |     173784833         74753 String
| >>> | > |                                          163312 Oops
| >>> | > |     196368897         74753 String
| >>> | > |                                          164661 Oops
| >>> | > |     305774593         74753 String
| >>> | > |                                          134740 Oops
| >>> | > |     175519489         74753 String
| >>> | > |                                          376305 Oops
| >>> | > |     196571393         74753 String
| >>> | > |                                          379399 Oops
| >>> | > |     175494145         74753 String
| >>> | > |                                          201874 Oops
| >>> | > |     197005569         74753 String
| >>> | > |                                          202074 Oops
| >>> | > |     149996289         74753 String
| >>> | > |                                          236426 Oops
| >>> | > |     151722753         74753 String
| >>> | > |                                          379399 Oops
| >>> | > |     151723777         74753 String
| >>> | > |                                          202074 Oops
| >>> | > |     274619393         74753 String
| >>> | > |                                         1170577 Oops
| >>> | > |     265139713         74753 String
| >>> | > |                                         1170577 Oops
| >>> | > |     215910913         66817 Array
| >>> | > |                                           331214 Oops
| >>> | > |     164965121         74753 String
| >>> | > |                                          236201 Oops
| >>> | > |     197155585         74753 String
| >>> | > |                                          236426 Oops
| >>> | > |     271373057         74753 String
| >>> | > |                                         1170577 Oops
| >>> | > |     268426753         74753 String
| >>> | > |                                          134740 Oops
| >>> | > |     264103681         74753 String
| >>> | > |                                         1170577 Oops
| >>> | > |
| >>> | > | ----------- Object Statistics Summary -----------------
| >>> | > |
| >>> | > | ----- Instances of invisible (private) classes ------
| >>> | > |    Number of instances:         1072
| >>> | > |             Total size:        15855 K Bytes
| >>> | > |           Average size:         14.8 Bytes
| >>> | > |
| >>> | > |           Class:       209153 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       209409 Instances:         1072 Total
| >>> | > |           Size:
| >>> | > |                  15855 K Bytes
| >>> | > |           Class:       209665 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       209921 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       210177 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       210433 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       210689 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       210945 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       211201 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       211457 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       211713 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       211969 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       212225 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       212481 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       212737 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       212993 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       213249 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       213505 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       213761 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |
| >>> | > |
| >>> | > | ----- Instances of visible classes -----------------
| >>> | > |    Number of objects      :      1633432
| >>> | > |    Total Size             :       157861 K Bytes
| >>> | > |    size of Object Headers :        38283 K Bytes
| >>> | > |    size of Object Values  :       116978 K Bytes
| >>> | > |    size of Object Tags    :            0 K Bytes
| >>> | > |    average of Object Value:         73.3 Bytes
| >>> | > |
| >>> | > | Object Audit: Audit successfully completed; no errors were
| >>> | > | detected.
| >>> | > | --setGcConfig: set reclaimMinPages to 40
| >>> | > | --setGcConfig: set reclaimSleepTime to 10
| >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| >>> | > | --postReclaimAll: restored reclaimMinPages to 40
| >>> | > | true
| >>> | > | topaz 1> printit
| >>> | > | SystemRepository markForCollection
| >>> | > | %
| >>> | > | start MFC mark/sweep phase: 02/11/2012 12:08:56 PM UTC
| >>> | > | WARNING, unable to resolve either garMarkSweepPageBufSize
| >>> | > | or
| >>> | > | mfcGcPageBufSize, using default 320
| >>> | > | MarkSweepArgsSType::(): buffer size= 320 pages
| >>> | > | start MFC process dead phase: 02/11/2012 12:08:59 PM UTC
| >>> | > | end MFC: 02/11/2012 12:08:59 PM UTC
| >>> | > | Successful completion of markForCollection.
| >>> | > |     1613875 live objects found.
| >>> | > |     20629 possible dead objects, occupying approximately
| >>> | > |     1856610
| >>> | > |     bytes, may be reclaimed.
| >>> | > | topaz 1> printit
| >>> | > | SystemRepository reclaimAll
| >>> | > | %
| >>> | > | --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
| >>> | > | --setGcConfig: set reclaimMinPages to 1
| >>> | > | --reclaimAll: changed reclaimMinPages from 40 to 1
| >>> | > | --setGcConfig: set reclaimSleepTime to 1
| >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| >>> | > | --reclaimAll: using reclaimDeadEnabled true
| >>> | > | --reclaimAll: simpleCommit loopCount 10
| >>> | > | an Array
| >>> | > |   #1 40
| >>> | > |   #2 10
| >>> | > |   #3 0
| >>> | > |
| >>> | > | topaz 1> printit
| >>> | > | SystemRepository objectAudit
| >>> | > | %
| >>> | > | --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
| >>> | > | --setGcConfig: set reclaimMinPages to 1
| >>> | > | --reclaimAll: changed reclaimMinPages from 1 to 1
| >>> | > | --setGcConfig: set reclaimSleepTime to 1
| >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| >>> | > | --reclaimAll: using reclaimDeadEnabled true
| >>> | > | 02/11/2012 12:11:27 PM.328 UTC: Starting object table scan
| >>> | > | 02/11/2012 12:11:27 PM.921 UTC: Finished object table scan
| >>> | > |
| >>> | > | Object audit is proceeding in FullAudit mode:
| >>> | > | Scavenging completed (either single user mode or no pages
| >>> | > | to
| >>> | > | scavenge).
| >>> | > | All audit checks are enabled.
| >>> | > |
| >>> | > | Object audit as of 02/11/2012 12:11:27 PM UTC.
| >>> | > | Summary of objects whose sizes exceed 100000 Bytes or Oops:
| >>> | > |
| >>> | > |   ObjectID        Class     ClassName
| >>> | > |                                  LogicalSize
| >>> | > | --------------------------------------------------------------------------------------------------------------
| >>> | > |     305743617         74753 String
| >>> | > |                                          134740 Oops
| >>> | > |     149534721         74753 String
| >>> | > |                                          164661 Oops
| >>> | > |     173784833         74753 String
| >>> | > |                                          163312 Oops
| >>> | > |     196368897         74753 String
| >>> | > |                                          164661 Oops
| >>> | > |     305774593         74753 String
| >>> | > |                                          134740 Oops
| >>> | > |     175519489         74753 String
| >>> | > |                                          376305 Oops
| >>> | > |     196571393         74753 String
| >>> | > |                                          379399 Oops
| >>> | > |     175494145         74753 String
| >>> | > |                                          201874 Oops
| >>> | > |     197005569         74753 String
| >>> | > |                                          202074 Oops
| >>> | > |     149996289         74753 String
| >>> | > |                                          236426 Oops
| >>> | > |     151722753         74753 String
| >>> | > |                                          379399 Oops
| >>> | > |     151723777         74753 String
| >>> | > |                                          202074 Oops
| >>> | > |     274619393         74753 String
| >>> | > |                                         1170577 Oops
| >>> | > |     265139713         74753 String
| >>> | > |                                         1170577 Oops
| >>> | > |     215910913         66817 Array
| >>> | > |                                           331214 Oops
| >>> | > |     164965121         74753 String
| >>> | > |                                          236201 Oops
| >>> | > |     197155585         74753 String
| >>> | > |                                          236426 Oops
| >>> | > |     271373057         74753 String
| >>> | > |                                         1170577 Oops
| >>> | > |     268426753         74753 String
| >>> | > |                                          134740 Oops
| >>> | > |     264103681         74753 String
| >>> | > |                                         1170577 Oops
| >>> | > |
| >>> | > | ----------- Object Statistics Summary -----------------
| >>> | > |
| >>> | > | ----- Instances of invisible (private) classes ------
| >>> | > |    Number of instances:         1072
| >>> | > |             Total size:        15855 K Bytes
| >>> | > |           Average size:         14.8 Bytes
| >>> | > |
| >>> | > |           Class:       209153 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       209409 Instances:         1072 Total
| >>> | > |           Size:
| >>> | > |                  15855 K Bytes
| >>> | > |           Class:       209665 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       209921 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       210177 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       210433 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       210689 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       210945 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       211201 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       211457 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       211713 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       211969 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       212225 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       212481 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       212737 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       212993 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       213249 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       213505 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       213761 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |
| >>> | > |
| >>> | > | ----- Instances of visible classes -----------------
| >>> | > |    Number of objects      :      1612803
| >>> | > |    Total Size             :       156912 K Bytes
| >>> | > |    size of Object Headers :        37800 K Bytes
| >>> | > |    size of Object Values  :       116516 K Bytes
| >>> | > |    size of Object Tags    :            0 K Bytes
| >>> | > |    average of Object Value:         74.0 Bytes
| >>> | > |
| >>> | > | Object Audit: Audit successfully completed; no errors were
| >>> | > | detected.
| >>> | > | --setGcConfig: set reclaimMinPages to 1
| >>> | > | --setGcConfig: set reclaimSleepTime to 1
| >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| >>> | > | --postReclaimAll: restored reclaimMinPages to 1
| >>> | > | true
| >>> | > | topaz 1>
| >>> | > | topaz 1>
| >>> | > |
| >>> | > |
| >>> | > | > If, as I suspect, you've got corruption in GsProcess
| >>> | > | > objects
| >>> | > | > they
| >>> | > | > only impact Seaside session state, and should have
| >>> | > | > disappeared
| >>> | > | > by
| >>> | > | > the time you run the object audit ...
| >>> | > | >
| >>> | > | > This problems seems to ring a bell, but it seems to me
| >>> | > | > that the
| >>> | > | > problem I am thinking of showed up in GemStone 3.0 and I
| >>> | > | > think
| >>> | > | > it
| >>> | > | > was fixed in GemStone 3.0.1... so I'm curious what
| >>> | > | > version of
| >>> | > | > GemStone you are using.
| >>> | > | >
| >>> | > | > As I think about this, I seem to recall that the problem
| >>> | > | > was
| >>> | > | > related to deeply nested block structure in a method that
| >>> | > | > was
| >>> | > | > involved in partial continuations, so I am curious if you
| >>> | > | > happen
| >>> | > | > to have some deeply nested block structures let's say
| >>> | > | > more than
| >>> | > | > 5
| >>> | > | > or 6 levels deep in your method? In fact even in 3.0.1 I
| >>> | > | > think
| >>> | > | > that there might be an effective limit (the engineer that
| >>> | > | > worked
| >>> | > | > on this will be back on Monday for exact details), so if
| >>> | > | > you
| >>> | > | > are
| >>> | > | > running with 3.0.1, you should definitely be suspicious
| >>> | > | > of deep
| >>> | > | > nesting of blocks...
| >>> | > | >
| >>> | > | > Dale
| >>> | > | >
| >>> | > | > [1]
| >>> | > | > http://community.gemstone.com/display/GSS64/GemStoneS+64+Documentation
| >>> | > | >
| >>> | > | > ----- Original Message -----
| >>> | > | > | From: "Lawrence Kellogg" <[hidden email]>
| >>> | > | > | To: "GemStone Seaside beta discussion"
| >>> | > | > | <[hidden email]>
| >>> | > | > | Sent: Friday, February 10, 2012 2:13:15 PM
| >>> | > | > | Subject: [GS/SS Beta] Object does not exist error -
| >>> | > | > | Worry
| >>> | > | > | about
| >>> | > | > | it?
| >>> | > | > |
| >>> | > | > |
| >>> | > | > |
| >>> | > | > | Hello,
| >>> | > | > | After a long series of calls and answers in Seaside, I
| >>> | > | > | got an
| >>> | > | > | Object
| >>> | > | > | does not exist error that brought down the fast cgi
| >>> | > | > | gateway.
| >>> | > | > | My
| >>> | > | > | production error handler was not triggered, although it
| >>> | > | > | was
| >>> | > | > | installed, as far as I could tell. Strange. My
| >>> | > | > | supervise
| >>> | > | > | fastcgi
| >>> | > | > | process also did not pick up my dead fastcgi process.
| >>> | > | > | Not a
| >>> | > | > | good
| >>> | > | > | day.
| >>> | > | > |
| >>> | > | > | Here is the walkback:
| >>> | > | > |
| >>> | > | > |
| >>> | > | > |
| >>> | > | > | USER IDS: REAL=seasideuser (500) EFFECTIVE=seasideuser
| >>> | > | > | (500)
| >>> | > | > | |
| >>> | > | > | |_____________________________________________________________________________|
| >>> | > | > | topaz> topaz> topaz> topaz> topaz> topaz> topaz>
| >>> | > | > | [Info]: LNK
| >>> | > | > | client/gem GCI levels = 844/844
| >>> | > | > | [Info]: User ID: DataCurator
| >>> | > | > | [Info]: Repository: seaside
| >>> | > | > | [Info]: Session ID: 5
| >>> | > | > | [Info]: GCI Client Host: <Linked>
| >>> | > | > | [Info]: Page server PID: -1
| >>> | > | > | [Info]: Login Time: 02/10/2012 09:27:56 PM.572 UTC
| >>> | > | > | [02/10/2012 09:27:56 PM.592 UTC] gci login: currSession
| >>> | > | > | 1 rpc
| >>> | > | > | gem
| >>> | > | > | processId -1
| >>> | > | > | successful login
| >>> | > | > | topaz 1> topaz 1> [20 sz:0 cls: 76289 UndefinedObject]
| >>> | > | > | nil
| >>> | > | > | topaz 1> topaz 1> [76033 sz:19 cls: 801793 System
| >>> | > | > | class]
| >>> | > | > | System
| >>> | > | > | class
| >>> | > | > | superClass [72193 sz:19 cls: 206081 Object class]
| >>> | > | > | Object
| >>> | > | > | class
| >>> | > | > | format [258 sz:0 cls: 74241 SmallInteger] 32
| >>> | > | > | instVars [2 sz:0 cls: 74241 SmallInteger] 0
| >>> | > | > | instVarNames [422145 sz:0 cls: 66817 Array] an Array
| >>> | > | > | constraints [421889 sz:0 cls: 66817 Array] an Array
| >>> | > | > | classVars [421633 sz:26 cls: 111361 SymbolDictionary] a
| >>> | > | > | SymbolDictionary
| >>> | > | > | methodDict [711937 sz:112 cls: 99073
| >>> | > | > | GsMethodDictionary] a
| >>> | > | > | GsMethodDictionary
| >>> | > | > | poolDictionaries [421377 sz:0 cls: 66817 Array] an
| >>> | > | > | Array
| >>> | > | > | categories [421121 sz:28 cls: 99073 GsMethodDictionary]
| >>> | > | > | a
| >>> | > | > | GsMethodDictionary
| >>> | > | > | secondarySuperclasses [20 sz:0 cls: 76289
| >>> | > | > | UndefinedObject]
| >>> | > | > | nil
| >>> | > | > | name [801537 sz:6 cls: 110849 Symbol] System
| >>> | > | > | classHistory [420865 sz:3 cls: 82689 ClassHistory] a
| >>> | > | > | ClassHistory
| >>> | > | > | description [13498369 sz:10 cls: 95233
| >>> | > | > | GsClassDocumentation]
| >>> | > | > | a
| >>> | > | > | GsClassDocumentation
| >>> | > | > | migrationDestination [20 sz:0 cls: 76289
| >>> | > | > | UndefinedObject] nil
| >>> | > | > | timeStamp [14510593 sz:4 cls: 118785 DateTime] a
| >>> | > | > | DateTime
| >>> | > | > | userId [14508801 sz:10 cls: 74753 String] SystemUser
| >>> | > | > | extraDict [14524929 sz:14 cls: 111361 SymbolDictionary]
| >>> | > | > | a
| >>> | > | > | SymbolDictionary
| >>> | > | > | classCategory [20 sz:0 cls: 76289 UndefinedObject] nil
| >>> | > | > | subclasses [20 sz:0 cls: 76289 UndefinedObject] nil
| >>> | > | > |
| >>> | > | > |
| >>> | > | > | topaz 1> topaz 1> WAFastCGIAdaptor Server started on
| >>> | > | > | port
| >>> | > | > | 9001
| >>> | > | > | -----------------------------------------------------
| >>> | > | > | GemStone: Error Nonfatal
| >>> | > | > | The object with object ID 81065894683350528 does not
| >>> | > | > | exist.
| >>> | > | > | Error Category: 231169 [GemStone] Number: 2101 Arg
| >>> | > | > | Count: 1
| >>> | > | > | Context :
| >>> | > | > | 526648321
| >>> | > | > | Arg 1: [648527157466804226 sz:0 cls: 74241
| >>> | > | > | SmallInteger]
| >>> | > | > | 81065894683350528
| >>> | > | > |
| >>> | > | > |
| >>> | > | > | Now executing the following command saved from "iferr
| >>> | > | > | 1":
| >>> | > | > | where
| >>> | > | > | ==> 1 GsProcess class >>
| >>> | > | > | installPartialContinuation:atLevel:value: @2
| >>> | > | > | line 1 [GsMethod 4487425]
| >>> | > | > | 2 WAPartialContinuation >> value: @13 line 11 [GsMethod
| >>> | > | > | 212791041]
| >>> | > | > | 3 WAPartialContinuation >> valueWithPossibleArguments:
| >>> | > | > | @2
| >>> | > | > | line 2
| >>> | > | > | [GsMethod 218326273]
| >>> | > | > | 4 ComplexBlock in WAComponent >>
| >>> | > | > | show:onAnswer:delegation: @7
| >>> | > | > | line 7
| >>> | > | > | [GsMethod 194749185]
| >>> | > | > | 5 ComplexBlock in ExecutableBlock >>
| >>> | > | > | valueWithPossibleArguments:
| >>> | > | > | @12
| >>> | > | > | line 8 [GsMethod 116163585]
| >>> | > | > | 6 WAAnswerHandler >> handleAnswer:continueWith: @3 line
| >>> | > | > | 2
| >>> | > | > | [GsMethod
| >>> | > | > | 194735873]
| >>> | > | > | 7 WADecoration >> handleAnswer: @6 line 3 [GsMethod
| >>> | > | > | 194731009]
| >>> | > | > | 8 WAComponent >> answer: @2 line 5 [GsMethod 194751745]
| >>> | > | > |
| >>> | > | > |
| >>> | > | > |
| >>> | > | > |
| >>> | > | > | I found this on the net:
| >>> | > | > |
| >>> | > | > |
| >>> | > | > |
| >>> | > | > | Object does not exist errors
| >>> | > | > | GBS applications may encounter object does not exist
| >>> | > | > | errors
| >>> | > | > | in
| >>> | > | > | non-persistent
| >>> | > | > | objects. This is due to a problem with the fix for bug
| >>> | > | > | #40703
| >>> | > | > | in
| >>> | > | > | version
| >>> | > | > | 2.4.4, which resulted in non-persistent objects not
| >>> | > | > | properly
| >>> | > | > | protected
| >>> | > | > | from garbage collection.
| >>> | > | > |
| >>> | > | > | Workaround:
| >>> | > | > |
| >>> | > | > | none/not applicable
| >>> | > | > | from:
| >>> | > | > |
| >>> | > | > |
| >>> | > | > |
| >>> | > | > |
| >>> | > | > |
| >>> | > | > |
| >>> | > | > | http://www.gemstone.com/docs/GemStoneS/bugnotes/bugnotes/40948.html
| >>> | > | > |
| >>> | > | > |
| >>> | > | > |
| >>> | > | > | So, should I worry about this? I implemented code that
| >>> | > | > | allowed a
| >>> | > | > | user
| >>> | > | > | to call an editor, switch out on the navigation menu,
| >>> | > | > | call
| >>> | > | > | another
| >>> | > | > | editor,
| >>> | > | > | switch out. With each switch, I send answer: false to
| >>> | > | > | the
| >>> | > | > | open
| >>> | > | > | editor
| >>> | > | > | to close it so that it is not hanging around open. My
| >>> | > | > | idea
| >>> | > | > | was to hide the section navigation when the editor came
| >>> | > | > | up
| >>> | > | > | but
| >>> | > | > | I'm
| >>> | > | > | getting push back from my user.
| >>> | > | > |
| >>> | > | > |
| >>> | > | > | What do you think?
| >>> | > | > |
| >>> | > | > |
| >>> | > | > | Larry
| >>> | > | > |
| >>> | > | > |
| >>> | > | > |
| >>> | > | > |
| >>> | > |
| >>> | > |
| >>> |
| >>> |
| >>
| >
|
|
Reply | Threaded
Open this post in threaded view
|

Re: Object does not exist error - Worry about it?

Dale Henrichs
In reply to this post by Larry Kellogg
Larry,

Okay, here's the stack that covers the range of the partial continuation:

==> 1 WAComponent >> decoration @3 line 1   [GsMethod 194749441]
2 WAComponent >> addDecoration: @2 line 6   [GsMethod 194748417]
3 WAComponent >> show:onAnswerelegation: @10 line 8   [GsMethod 194749185]
4 WAComponent >> show:onAnswer: @5 line 5   [GsMethod 499699713]
5 WAComponent >> call:onAnswer: @5 line 8   [GsMethod 194750977]
6 ComplexBlock in WAComponent >> call: @3 line 4   [GsMethod 191317249]
7 ComplexBlock in WAComponent >> wait: @3 line 3   [GsMethod 191268353]
8 GRGemStonePlatform >> seasideSuspendFlowDo: @9 line 5   [GsMethod 499655937]
9 WAComponent >> wait: @4 line 3   [GsMethod 191268353]
10 WAComponent >> call: @4 line 4   [GsMethod 191317249]
11 PracticeJournalLoginTask >> go @14 line 9   [GsMethod 371393537]
12 WATask >> execute @1 line 7   [GsMethod 195261697]
13 ComplexBlock in WATaskVisitor >> visitTask: @6 line 4   [GsMethod 194755841]

WAComponent >> decoration is the source of the error and it is sending #contents to a 'decoration' of the component ... it's not quite clear whether the decoration iv is the corrupt object or the result of the #contents message send ...

To get a better picture of what's happening we need a C stack when the error occurs. If you set

  GEM_HALT_ON_ERROR = 2101;

in your system.conf file, then when the obj does not exist error occurs the gem will halt, dump a c stack, wait 60 seconds and then shutdown ... This is pretty intrusive, but it will get us a couple steps closer to understanding what's going on.

If you (or Johan) can duplicate the error under controlled conditions then you would fire up a topaz manually to service requests and when the halt on error hits, you'll be dropped to the topaz prompt where you can view the smalltalk stack and inspect the objects involved ...

Dale

----- Original Message -----
| From: "Lawrence Kellogg" <[hidden email]>
| To: "GemStone Seaside beta discussion" <[hidden email]>
| Sent: Monday, February 27, 2012 7:01:58 PM
| Subject: Re: [GS/SS Beta] Object does not exist error - Worry about it?
|
|
| On Feb 21, 2012, at 2:40 PM, Johan Brichau wrote:
|
| > fyi, I have been observing occurrences of this bug as well, with
| > exactly the same point of failure in the stack.
| >
| > No repository problems or audit warnings.
| >
| > Funnily, I've never seen this in any stone running Yesplan. The
| > stone where we have this problem is also running a Seaside
| > application but the only discriminating factor I can observe is
| > that this application uses call/answer a lot more (while we almost
| > never use that in Yesplan). It probably does not help a lot
| > finding the error... but I will look up the stack traces and post
| > them here if they might contain some clues.
|
| Hello Johan,
|   Thanks for looking into this problem. I use call/answer quite a
|   bit.
|
|   Dale, did you see the stack dump I posted?
|
|   Larry
|
|
| >
| > On 21 Feb 2012, at 20:13, Lawrence Kellogg wrote:
| >
| >>
| >> On Feb 21, 2012, at 1:05 PM, Dale Henrichs wrote:
| >>
| >>> Larry,
| >>>
| >>> We should try to dig into this one some more.
| >>>
| >>> To start with what version of Gemstone are you using? If you are
| >>> using 2.4.4.1, then I'm not aware of an issue that would warrant
| >>> an upgrade to 2.4.5, but I will check around a bit...As I said
| >>> before, the only place that I've seen "Obj does not exist
| >>> errors" is in 3.0 and those bugs were fixed in 3.0.1.
| >>>
| >>
| >> Dale,
| >> Thanks for the help. I would like to get to the bottom of this
| >> error. This crash takes down Fastcgi so it kills the service.
| >>
| >> According to the file in the directory, I'm on 2.4.[ component notNil ]
| >> whileTrue: [
| >> self call: component.
| >> component := component nextComponentToBeDisplayed ] ]4.1
| >>
| >> GemStone64Bit2.4.4.1-x86_64.Linux
| >>
| >>
| >>
| >>
| >>> This time we are getting the error while creating the
| >>> continuation ... the last episode occurred when you were trying
| >>> to execute from a continuation.
| >>>
| >>> Could you share the source code for PracticeJournalLoginTask >>
| >>> go? That's the first non-Seaside method on the stack below the
| >>> error, so it's as good a place as any to start …
| >>>
| >>
| >> Here is the complete source code for the go method:  ;-)
| >>
| >> go
| >> | user component |
| >> self call: self userLoginView.
| >> (self userLoginView user) notNil
| >> ifTrue: [
| >> component := self firstComponentToDisplayForUser: self
| >> userLoginView user.
| >> [ component notNil ]
| >> whileTrue: [
| >> self call: component.
| >> component := component nextComponentToBeDisplayed ] ]
| >>
| >> A component is called, and when another component is selected the
| >> current component is sent answer: false and
| >> the new component to call is returned from that
| >> nextComponentToBeDisplayed method.
| >>
| >> I used to have an implementation that would give me a huge
| >> recursive nesting of continuations, as shown by
| >> halo, but this shows everything on just a few levels, although I
| >> have to say that the walkback looks deep and gnarly.
| >>
| >>
| >>> It would be useful to see the entire stack as well. The partial
| >>> continuation copies the stack back to a marker method and it
| >>> would be useful to examine the source for the methods that are
| >>> on the stck for clues as to what might be going on...
| >>>
| >>> Dale
| >>
| >>
| >> Here is the complete walk back:
| >>
| >> topaz 1> topaz 1> WAFastCGIAdaptor Server started on port 9001
| >> -----------------------------------------------------
| >> GemStone: Error         Nonfatal
| >> The object with object ID 76562293713797632 does not exist.
| >> Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1
| >> Context : 412915713
| >> Arg 1: [612498349710381058 sz:0 cls: 74241 SmallInteger]
| >> 76562293713797632
| >>
| >> Now executing the following command saved from "iferr 1":
| >>  where
| >> ==> 1 WAComponent >> decoration @3 line 1   [GsMethod 194749441]
| >> 2 WAComponent >> addDecoration: @2 line 6   [GsMethod 194748417]
| >> 3 WAComponent >> show:onAnswer:delegation: @10 line 8   [GsMethod
| >> 194749185]
| >> 4 WAComponent >> show:onAnswer: @5 line 5   [GsMethod 499699713]
| >> 5 WAComponent >> call:onAnswer: @5 line 8   [GsMethod 194750977]
| >> 6 ComplexBlock in WAComponent >> call: @3 line 4   [GsMethod
| >> 191317249]
| >> 7 ComplexBlock in WAComponent >> wait: @3 line 3   [GsMethod
| >> 191268353]
| >> 8 GRGemStonePlatform >> seasideSuspendFlowDo: @9 line 5
| >>   [GsMethod 499655937]
| >> 9 WAComponent >> wait: @4 line 3   [GsMethod 191268353]
| >> 10 WAComponent >> call: @4 line 4   [GsMethod 191317249]
| >> 11 PracticeJournalLoginTask >> go @14 line 9   [GsMethod
| >> 371393537]
| >> 12 WATask >> execute @1 line 7   [GsMethod 195261697]
| >> 13 ComplexBlock in WATaskVisitor >> visitTask: @6 line 4
| >>   [GsMethod 194755841]
| >> 14 WACallback >> evaluateWithFieldValues: @5 line 2   [GsMethod
| >> 177495553]
| >> 15 ComplexBlock in WACallbackRegistry >> handle: @16 line 10
| >>   [GsMethod 177951489]
| >> 16 Collection >> do: @5 line 10   [GsMethod 1547777]
| >> 17 WACallbackRegistry >> handle: @17 line 9   [GsMethod 177951489]
| >> 18 ComplexBlock in WAActionPhaseContinuation >> runCallbacks @7
| >> line 4   [GsMethod 202613505]
| >> 19 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
| >> 20 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| >> 10062081]
| >> 21 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod
| >> 9005057]
| >> 22 WARenderLoopContinuation >> withNotificationHandlerDo: @3 line
| >> 2   [GsMethod 202608385]
| >> 23 ComplexVCBlock in WAActionPhaseContinuation >> runCallbacks @8
| >> line 3   [GsMethod 202613505]
| >> 24 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| >>   [GsMethod 2304001]
| >> 25 ComplexVCBlock in ExecutableBlock >> ensure: @6 line 11
| >>   [GsMethod 2304001]
| >> 26 WAActionPhaseContinuation >> runCallbacks @18 line 6
| >>   [GsMethod 202613505]
| >> 27 WAActionPhaseContinuation >> handleRequest @1 line 2
| >>   [GsMethod 202614017]
| >> 28 ComplexBlock in WASessionContinuation >> basicValue @3 line 2
| >>   [GsMethod 202625537]
| >> 29 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
| >> 30 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| >> 10062081]
| >> 31 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod
| >> 9005057]
| >> 32 WASessionContinuation >> withUnregisteredHandlerDo: @7 line 3
| >>   [GsMethod 202627073]
| >> 33 WASessionContinuation >> basicValue @4 line 2   [GsMethod
| >> 202625537]
| >> 34 WASessionContinuation >> value @3 line 5   [GsMethod 202623745]
| >> 35 WASession >> handleFiltered: @14 line 10   [GsMethod 202205441]
| >> 36 WARequestFilter >> handleFiltered: @2 line 4   [GsMethod
| >> 176192513]
| >> 37 ComplexBlock in WADeprecatedToolFilter >> handleFiltered: @3
| >> line 2   [GsMethod 203213313]
| >> 38 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
| >> 39 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| >> 10062081]
| >> 40 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod
| >> 9005057]
| >> 41 WADeprecatedToolFilter >> handleFiltered: @6 line 3   [GsMethod
| >> 203213313]
| >> 42 WARequestFilter >> handleFiltered: @2 line 4   [GsMethod
| >> 176192513]
| >> 43 ComplexBlock in WATimingToolFilter >> handleFiltered: @4 line 3
| >>   [GsMethod 203208449]
| >> 44 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| >>   [GsMethod 2304001]
| >> 45 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
| >>   [GsMethod 2304001]
| >> 46 WATimingToolFilter >> handleFiltered: @8 line 4   [GsMethod
| >> 203208449]
| >> 47 ComplexBlock in WARequestHandler >> handle: @4 line 4
| >>   [GsMethod 178568961]
| >> 48 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
| >> 49 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| >> 10062081]
| >> 50 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod
| >> 9005057]
| >> 51 WADynamicVariable class >> use:during: @4 line 4   [GsMethod
| >> 177805825]
| >> 52 ComplexBlock in WARequestContext >> push:during: @4 line 5
| >>   [GsMethod 176176129]
| >> 53 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| >>   [GsMethod 2304001]
| >> 54 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
| >>   [GsMethod 2304001]
| >> 55 WARequestContext >> push:during: @7 line 6   [GsMethod
| >> 176176129]
| >> 56 WARequestHandler >> handle: @5 line 4   [GsMethod 178568961]
| >> 57 WASession >> handle: @10 line 11   [GsMethod 202210561]
| >> 58 WARegistry >> dispatch:to: @1 line 5   [GsMethod 176153857]
| >> 59 WARegistry >> handleKeyed:with: @2 line 5   [GsMethod
| >> 176155137]
| >> 60 WARegistry >> handleFiltered: @33 line 19   [GsMethod
| >> 176146945]
| >> 61 WAApplication >> handleFiltered: @9 line 8   [GsMethod
| >> 202644225]
| >> 62 WARequestFilter >> handleFiltered: @2 line 4   [GsMethod
| >> 176192513]
| >> 63 ComplexBlock in WAExceptionFilter >> handleFiltered: @6 line 7
| >>   [GsMethod 499529473]
| >> 64 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
| >> 65 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| >> 10062081]
| >> 66 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod
| >> 9005057]
| >> 67 WADynamicVariable class >> use:during: @4 line 4   [GsMethod
| >> 177805825]
| >> 68 ComplexVCBlock in WAExceptionFilter >> handleFiltered: @7 line
| >> 6   [GsMethod 499529473]
| >> 69 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
| >> 70 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| >> 10062081]
| >> 71 ComplexVCBlock in ExecutableBlock >> on:do: @2 line 8
| >>   [GsMethod 9005057]
| >> 72 WAExceptionHandler >> handleExceptionsDuring: @8 line 3
| >>   [GsMethod 177803521]
| >> 73 WAExceptionFilter >> handleFiltered: @8 line 4   [GsMethod
| >> 499529473]
| >> 74 ComplexBlock in WARequestHandler >> handle: @4 line 4
| >>   [GsMethod 178568961]
| >> 75 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
| >> 76 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| >> 10062081]
| >> 77 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod
| >> 9005057]
| >> 78 WADynamicVariable class >> use:during: @4 line 4   [GsMethod
| >> 177805825]
| >> 79 ComplexBlock in WARequestContext >> push:during: @4 line 5
| >>   [GsMethod 176176129]
| >> 80 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| >>   [GsMethod 2304001]
| >> 81 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
| >>   [GsMethod 2304001]
| >> 82 WARequestContext >> push:during: @7 line 6   [GsMethod
| >> 176176129]
| >> 83 WARequestHandler >> handle: @5 line 4   [GsMethod 178568961]
| >> 84 WADispatcher >> handleFiltered:named: @7 line 5   [GsMethod
| >> 179090945]
| >> 85 WADispatcher >> handleFiltered: @7 line 6   [GsMethod
| >> 179087617]
| >> 86 ComplexBlock in WARequestHandler >> handle: @4 line 4
| >>   [GsMethod 178568961]
| >> 87 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
| >> 88 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| >> 10062081]
| >> 89 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod
| >> 9005057]
| >> 90 WADynamicVariable class >> use:during: @4 line 4   [GsMethod
| >> 177805825]
| >> 91 ComplexBlock in WARequestContext >> push:during: @4 line 5
| >>   [GsMethod 176176129]
| >> 92 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| >>   [GsMethod 2304001]
| >> 93 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
| >>   [GsMethod 2304001]
| >> 94 WARequestContext >> push:during: @7 line 6   [GsMethod
| >> 176176129]
| >> 95 WARequestHandler >> handle: @5 line 4   [GsMethod 178568961]
| >> 96 ComplexBlock in WAServerAdaptor >> handleRequest: @4 line 4
| >>   [GsMethod 176816641]
| >> 97 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
| >> 98 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| >> 10062081]
| >> 99 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod
| >> 9005057]
| >> 100 WAServerAdaptor >> handleRequest: @6 line 5   [GsMethod
| >> 176816641]
| >> 101 WAServerAdaptor >> handle: @1 line 4   [GsMethod 176817921]
| >> 102 ComplexBlock in WAServerAdaptor >> process: @5 line 6
| >>   [GsMethod 176817153]
| >> 103 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| >>   [GsMethod 2304001]
| >> 104 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
| >>   [GsMethod 2304001]
| >> 105 WAServerAdaptor >> process: @9 line 7   [GsMethod 176817153]
| >> 106 ComplexBlock in WAFastCGIAdaptor >> process: @3 line 6
| >>   [GsMethod 212442369]
| >> 107 ComplexBlock in GRGemStonePlatform >>
| >> seasideProcessRequestWithRetry:resultBlock: @12 line 11
| >>   [GsMethod 175179265]
| >> 108 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| >> 10065409]
| >> 109 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| >> 10062081]
| >> 110 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| >>   [GsMethod 9005057]
| >> 111 ComplexVCBlock in GRGemStonePlatform >>
| >> seasideProcessRequestWithRetry:resultBlock: @18 line 12
| >>   [GsMethod 175179265]
| >> 112 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| >>   [GsMethod 2304001]
| >> 113 ComplexVCBlock in ExecutableBlock >> ensure: @6 line 11
| >>   [GsMethod 2304001]
| >> 114 TransientRecursionLock >> critical: @15 line 8   [GsMethod
| >> 21159937]
| >> 115 GRGemStonePlatform >>
| >> seasideProcessRequestWithRetry:resultBlock: @39 line 5
| >>   [GsMethod 175179265]
| >> 116 ComplexBlock in GRGemStonePlatform >>
| >> seasideProcessRequest:adaptor:resultBlock: @7 line 9   [GsMethod
| >> 175179521]
| >> 117 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| >> 10065409]
| >> 118 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| >> 10062081]
| >> 119 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| >>   [GsMethod 9005057]
| >> 120 GRGemStonePlatform >>
| >> seasideProcessRequest:adaptor:resultBlock: @32 line 17
| >>   [GsMethod 175179521]
| >> 121 WAFastCGIAdaptor >> process: @4 line 4   [GsMethod 212442369]
| >> 122 ComplexBlock in WAFastCGIAdaptor >> answerResponderRole: @3
| >> line 4   [GsMethod 212444161]
| >> 123 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| >> 10065409]
| >> 124 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| >> 10062081]
| >> 125 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| >>   [GsMethod 9005057]
| >> 126 WAFastCGIAdaptor >> answerResponderRole: @9 line 5   [GsMethod
| >> 212444161]
| >> 127 FSResponderRole >> answer @2 line 4   [GsMethod 218695937]
| >> 128 FSRole >> handleConnection @3 line 5   [GsMethod 218705409]
| >> 129 FSConnection >> unsafeServe @4 line 8   [GsMethod 219646465]
| >> 130 ComplexBlock in FSConnection >> safeServe @5 line 8
| >>   [GsMethod 499288833]
| >> 131 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| >> 10065409]
| >> 132 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| >> 10062081]
| >> 133 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| >>   [GsMethod 9005057]
| >> 134 ComplexVCBlock in FSConnection >> safeServe @8 line 9
| >>   [GsMethod 499288833]
| >> 135 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| >> 10065409]
| >> 136 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| >> 10062081]
| >> 137 ComplexVCBlock in ExecutableBlock >> on:do: @2 line 8
| >>   [GsMethod 9005057]
| >> 138 ComplexVCBlock in FSConnection >> safeServe @11 line 12
| >>   [GsMethod 499288833]
| >> 139 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| >>   [GsMethod 2304001]
| >> 140 ComplexVCBlock in ExecutableBlock >> ensure: @6 line 11
| >>   [GsMethod 2304001]
| >> 141 FSConnection >> safeServe @14 line 15   [GsMethod 499288833]
| >> 142 FSConnection >> serve @1 line 4   [GsMethod 219654145]
| >> 143 ComplexBlock in FSSocketServer >> listen: @9 line 15
| >>   [GsMethod 219292673]
| >> 144 GsProcess >> _startPart2 @15 line 17   [GsMethod 4501249]
| >> 145 GsProcess >> _start @1 line 9   [GsMethod 4501761]
| >> [GsProcess 412915713]
| >> topaz 1> [268 sz:0 cls: 68097 Boolean] true
| >> topaz 1>
| >> HostCallDebugger: invoked at: Mon Feb 20 16:38:18 UTC 2012
| >>
| >> UTL_GUARANTEE failed, File
| >> /export/toronto3/users/buildgss/244x-1/src/omverify.c line 28
| >>
| >> Begin attempt to print C-level stack at: Mon Feb 20 16:38:18 UTC
| >> 2012
| >>
| >>
| >> End of C-level stack:
| >>
| >>
| >> hostcalldebugger invoked in process 6550, at 02/20/2012 04:38:18
| >> PM.681 UTC
| >> notifying stone of fatal error
| >>
| >> [Info]: Logging out at 02/20/2012 04:38:18 PM UTC
| >>
| >>
| >>
| >>>
| >>> ----- Original Message -----
| >>> | From: "Lawrence Kellogg" <[hidden email]>
| >>> | To: "GemStone Seaside beta discussion"
| >>> | <[hidden email]>
| >>> | Sent: Monday, February 20, 2012 8:48:22 AM
| >>> | Subject: Re: [GS/SS Beta] Object does not exist error - Worry
| >>> | about it?
| >>> |
| >>> | Hello Dale,
| >>> |   Well, my system has been up for days, running with no
| >>> |   problems, not
| >>> |   that it has been getting a lot of traffic, but still, no
| >>> |   crashes.
| >>> |   Today, I hit the Object does not exist error again. I guess I
| >>> |   can
| >>> |   do another object audit but, other than that, I'm not sure
| >>> |   how to
| >>> |   proceed. Do you think an upgrade to 2.4.5 will help me?
| >>> |
| >>> |   Here is the walkback:
| >>> |
| >>> | topaz 1> topaz 1> WAFastCGIAdaptor Server started on port 9001
| >>> | -----------------------------------------------------
| >>> | GemStone: Error         Nonfatal
| >>> | The object with object ID 76562293713797632 does not exist.
| >>> | Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1
| >>> | Context :
| >>> | 412915713
| >>> | Arg 1: [612498349710381058 sz:0 cls: 74241 SmallInteger]
| >>> | 76562293713797632
| >>> |
| >>> | Now executing the following command saved from "iferr 1":
| >>> |    where
| >>> | ==> 1 WAComponent >> decoration @3 line 1   [GsMethod
| >>> | 194749441]
| >>> | 2 WAComponent >> addDecoration: @2 line 6   [GsMethod
| >>> | 194748417]
| >>> | 3 WAComponent >> show:onAnswer:delegation: @10 line 8
| >>> |   [GsMethod
| >>> | 194749185]
| >>> | 4 WAComponent >> show:onAnswer: @5 line 5   [GsMethod
| >>> | 499699713]
| >>> | 5 WAComponent >> call:onAnswer: @5 line 8   [GsMethod
| >>> | 194750977]
| >>> | 6 ComplexBlock in WAComponent >> call: @3 line 4   [GsMethod
| >>> | 191317249]
| >>> | 7 ComplexBlock in WAComponent >> wait: @3 line 3   [GsMethod
| >>> | 191268353]
| >>> | 8 GRGemStonePlatform >> seasideSuspendFlowDo: @9 line 5
| >>> |   [GsMethod
| >>> | 499655937]
| >>> | 9 WAComponent >> wait: @4 line 3   [GsMethod 191268353]
| >>> | 10 WAComponent >> call: @4 line 4   [GsMethod 191317249]
| >>> | 11 PracticeJournalLoginTask >> go @14 line 9   [GsMethod
| >>> | 371393537]
| >>> |
| >>> |
| >>> | Larry
| >>> |
| >>> | On Feb 11, 2012, at 2:34 PM, Dale Henrichs wrote:
| >>> |
| >>> | > Larry,
| >>> | >
| >>> | > Yes, everything looks clean, I'm a little bit surprised that
| >>> | > you
| >>> | > didn't find the original error in you first audit, but the
| >>> | > implication is that the "corrupt object" never got persisted
| >>> | > ...
| >>> | > indicating some other type of corruption ...
| >>> | >
| >>> | > A clean object audit means that your data base has no
| >>> | > corruption so
| >>> | > you're good to go ... I'll talk to some guys on Monday and
| >>> | > see if
| >>> | > they have some ideas as to what might have happened...there's
| >>> | > a
| >>> | > bug in there somewhere, but for now it looks like it is
| >>> | > isolated
| >>> | > to the local state in a gem ...
| >>> | >
| >>> | > Dale
| >>> | >
| >>> | > ----- Original Message -----
| >>> | > | From: "Lawrence Kellogg" <[hidden email]>
| >>> | > | To: "GemStone Seaside beta discussion"
| >>> | > | <[hidden email]>
| >>> | > | Sent: Saturday, February 11, 2012 4:18:06 AM
| >>> | > | Subject: Re: [GS/SS Beta] Object does not exist error -
| >>> | > | Worry
| >>> | > | about it?
| >>> | > |
| >>> | > |
| >>> | > | On Feb 10, 2012, at 7:04 PM, Dale Henrichs wrote:
| >>> | > |
| >>> | > | > Larry,
| >>> | > | >
| >>> | > | > Object does not exist errors are not good things ... and
| >>> | > | > the
| >>> | > | > gem
| >>> | > | > coming down in this case is probably a good thing ... The
| >>> | > | > fact
| >>> | > | > that the problem is showing up in a GsProcess means that
| >>> | > | > the
| >>> | > | > Seaside session data structures are corrupted but not
| >>> | > | > your
| >>> | > | > model
| >>> | > | > data ...
| >>> | > | >
| >>> | > | > You can check for corruption in your data base by running
| >>> | > | > an
| >>> | > | > object
| >>> | > | > audit (see section 8.2 of the System Administration
| >>> | > | > Guide[1]).
| >>> | > | > If
| >>> | > | > you follow these steps you own't need to run the object
| >>> | > | > audit
| >>> | > | > as
| >>> | > | > single user (see the docs):
| >>> | > | >
| >>> | > | >  - expire sessions
| >>> | > | >  - mfc
| >>> | > | >  - reclaimAll
| >>> | > | >  - object audit
| >>> | > | >
| >>> | > |
| >>> | > | Hello Dale,
| >>> | > |   Ok, I ran:
| >>> | > |
| >>> | > | System stopUserSessions
| >>> | > | SystemRepository objectAudit
| >>> | > | SystemRepository markForCollection
| >>> | > | SystemRepository reclaimAll
| >>> | > | SystemRepository objectAudit
| >>> | > |
| >>> | > | I don't see any errors. Here is my log. What do you make of
| >>> | > | it?
| >>> | > |
| >>> | > | Larry
| >>> | > |
| >>> | > |
| >>> | > | [Info]: Login Time: 02/11/2012 12:06:22 PM.972 UTC
| >>> | > | [02/11/2012 12:06:23 PM.001 UTC] gci login: currSession 1
| >>> | > | rpc gem
| >>> | > | processId -1
| >>> | > | successful login
| >>> | > | topaz 1> printit
| >>> | > | System hasMissingGcGems
| >>> | > | %
| >>> | > | false
| >>> | > | topaz 1> printit
| >>> | > | System stopUserSessions
| >>> | > | %
| >>> | > | System class
| >>> | > |   superClass      Object class
| >>> | > |   format          32
| >>> | > |   instVars        0
| >>> | > |   instVarNames    an Array
| >>> | > |   constraints     an Array
| >>> | > |   classVars       a SymbolDictionary
| >>> | > |   methodDict      a GsMethodDictionary
| >>> | > |   poolDictionaries an Array
| >>> | > |   categories      a GsMethodDictionary
| >>> | > |   secondarySuperclasses nil
| >>> | > |   name            System
| >>> | > |   classHistory    a ClassHistory
| >>> | > |   description     a GsClassDocumentation
| >>> | > |   migrationDestination nil
| >>> | > |   timeStamp       a DateTime
| >>> | > |   userId          SystemUser
| >>> | > |   extraDict       a SymbolDictionary
| >>> | > |   classCategory   nil
| >>> | > |   subclasses      nil
| >>> | > |
| >>> | > | topaz 1> printit
| >>> | > | SystemRepository objectAudit
| >>> | > | %
| >>> | > | --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
| >>> | > | --setGcConfig: set reclaimMinPages to 1
| >>> | > | --reclaimAll: changed reclaimMinPages from 40 to 1
| >>> | > | --setGcConfig: set reclaimSleepTime to 1
| >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| >>> | > | --reclaimAll: using reclaimDeadEnabled true
| >>> | > | --reclaimAll: simpleCommit loopCount 10
| >>> | > | 02/11/2012 12:07:41 PM.070 UTC: Starting object table scan
| >>> | > | 02/11/2012 12:07:41 PM.698 UTC: Finished object table scan
| >>> | > |
| >>> | > | Object audit is proceeding in FullAudit mode:
| >>> | > | Scavenging completed (either single user mode or no pages
| >>> | > | to
| >>> | > | scavenge).
| >>> | > | All audit checks are enabled.
| >>> | > |
| >>> | > | Object audit as of 02/11/2012 12:07:41 PM UTC.
| >>> | > | Summary of objects whose sizes exceed 100000 Bytes or Oops:
| >>> | > |
| >>> | > |   ObjectID        Class     ClassName
| >>> | > |                                  LogicalSize
| >>> | > | --------------------------------------------------------------------------------------------------------------
| >>> | > |     305743617         74753 String
| >>> | > |                                          134740 Oops
| >>> | > |     149534721         74753 String
| >>> | > |                                          164661 Oops
| >>> | > |     173784833         74753 String
| >>> | > |                                          163312 Oops
| >>> | > |     196368897         74753 String
| >>> | > |                                          164661 Oops
| >>> | > |     305774593         74753 String
| >>> | > |                                          134740 Oops
| >>> | > |     175519489         74753 String
| >>> | > |                                          376305 Oops
| >>> | > |     196571393         74753 String
| >>> | > |                                          379399 Oops
| >>> | > |     175494145         74753 String
| >>> | > |                                          201874 Oops
| >>> | > |     197005569         74753 String
| >>> | > |                                          202074 Oops
| >>> | > |     149996289         74753 String
| >>> | > |                                          236426 Oops
| >>> | > |     151722753         74753 String
| >>> | > |                                          379399 Oops
| >>> | > |     151723777         74753 String
| >>> | > |                                          202074 Oops
| >>> | > |     274619393         74753 String
| >>> | > |                                         1170577 Oops
| >>> | > |     265139713         74753 String
| >>> | > |                                         1170577 Oops
| >>> | > |     215910913         66817 Array
| >>> | > |                                           331214 Oops
| >>> | > |     164965121         74753 String
| >>> | > |                                          236201 Oops
| >>> | > |     197155585         74753 String
| >>> | > |                                          236426 Oops
| >>> | > |     271373057         74753 String
| >>> | > |                                         1170577 Oops
| >>> | > |     268426753         74753 String
| >>> | > |                                          134740 Oops
| >>> | > |     264103681         74753 String
| >>> | > |                                         1170577 Oops
| >>> | > |
| >>> | > | ----------- Object Statistics Summary -----------------
| >>> | > |
| >>> | > | ----- Instances of invisible (private) classes ------
| >>> | > |    Number of instances:         1072
| >>> | > |             Total size:        15855 K Bytes
| >>> | > |           Average size:         14.8 Bytes
| >>> | > |
| >>> | > |           Class:       209153 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       209409 Instances:         1072 Total
| >>> | > |           Size:
| >>> | > |                  15855 K Bytes
| >>> | > |           Class:       209665 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       209921 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       210177 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       210433 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       210689 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       210945 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       211201 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       211457 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       211713 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       211969 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       212225 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       212481 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       212737 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       212993 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       213249 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       213505 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       213761 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |
| >>> | > |
| >>> | > | ----- Instances of visible classes -----------------
| >>> | > |    Number of objects      :      1633432
| >>> | > |    Total Size             :       157861 K Bytes
| >>> | > |    size of Object Headers :        38283 K Bytes
| >>> | > |    size of Object Values  :       116978 K Bytes
| >>> | > |    size of Object Tags    :            0 K Bytes
| >>> | > |    average of Object Value:         73.3 Bytes
| >>> | > |
| >>> | > | Object Audit: Audit successfully completed; no errors were
| >>> | > | detected.
| >>> | > | --setGcConfig: set reclaimMinPages to 40
| >>> | > | --setGcConfig: set reclaimSleepTime to 10
| >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| >>> | > | --postReclaimAll: restored reclaimMinPages to 40
| >>> | > | true
| >>> | > | topaz 1> printit
| >>> | > | SystemRepository markForCollection
| >>> | > | %
| >>> | > | start MFC mark/sweep phase: 02/11/2012 12:08:56 PM UTC
| >>> | > | WARNING, unable to resolve either garMarkSweepPageBufSize
| >>> | > | or
| >>> | > | mfcGcPageBufSize, using default 320
| >>> | > | MarkSweepArgsSType::(): buffer size= 320 pages
| >>> | > | start MFC process dead phase: 02/11/2012 12:08:59 PM UTC
| >>> | > | end MFC: 02/11/2012 12:08:59 PM UTC
| >>> | > | Successful completion of markForCollection.
| >>> | > |     1613875 live objects found.
| >>> | > |     20629 possible dead objects, occupying approximately
| >>> | > |     1856610
| >>> | > |     bytes, may be reclaimed.
| >>> | > | topaz 1> printit
| >>> | > | SystemRepository reclaimAll
| >>> | > | %
| >>> | > | --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
| >>> | > | --setGcConfig: set reclaimMinPages to 1
| >>> | > | --reclaimAll: changed reclaimMinPages from 40 to 1
| >>> | > | --setGcConfig: set reclaimSleepTime to 1
| >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| >>> | > | --reclaimAll: using reclaimDeadEnabled true
| >>> | > | --reclaimAll: simpleCommit loopCount 10
| >>> | > | an Array
| >>> | > |   #1 40
| >>> | > |   #2 10
| >>> | > |   #3 0
| >>> | > |
| >>> | > | topaz 1> printit
| >>> | > | SystemRepository objectAudit
| >>> | > | %
| >>> | > | --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
| >>> | > | --setGcConfig: set reclaimMinPages to 1
| >>> | > | --reclaimAll: changed reclaimMinPages from 1 to 1
| >>> | > | --setGcConfig: set reclaimSleepTime to 1
| >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| >>> | > | --reclaimAll: using reclaimDeadEnabled true
| >>> | > | 02/11/2012 12:11:27 PM.328 UTC: Starting object table scan
| >>> | > | 02/11/2012 12:11:27 PM.921 UTC: Finished object table scan
| >>> | > |
| >>> | > | Object audit is proceeding in FullAudit mode:
| >>> | > | Scavenging completed (either single user mode or no pages
| >>> | > | to
| >>> | > | scavenge).
| >>> | > | All audit checks are enabled.
| >>> | > |
| >>> | > | Object audit as of 02/11/2012 12:11:27 PM UTC.
| >>> | > | Summary of objects whose sizes exceed 100000 Bytes or Oops:
| >>> | > |
| >>> | > |   ObjectID        Class     ClassName
| >>> | > |                                  LogicalSize
| >>> | > | --------------------------------------------------------------------------------------------------------------
| >>> | > |     305743617         74753 String
| >>> | > |                                          134740 Oops
| >>> | > |     149534721         74753 String
| >>> | > |                                          164661 Oops
| >>> | > |     173784833         74753 String
| >>> | > |                                          163312 Oops
| >>> | > |     196368897         74753 String
| >>> | > |                                          164661 Oops
| >>> | > |     305774593         74753 String
| >>> | > |                                          134740 Oops
| >>> | > |     175519489         74753 String
| >>> | > |                                          376305 Oops
| >>> | > |     196571393         74753 String
| >>> | > |                                          379399 Oops
| >>> | > |     175494145         74753 String
| >>> | > |                                          201874 Oops
| >>> | > |     197005569         74753 String
| >>> | > |                                          202074 Oops
| >>> | > |     149996289         74753 String
| >>> | > |                                          236426 Oops
| >>> | > |     151722753         74753 String
| >>> | > |                                          379399 Oops
| >>> | > |     151723777         74753 String
| >>> | > |                                          202074 Oops
| >>> | > |     274619393         74753 String
| >>> | > |                                         1170577 Oops
| >>> | > |     265139713         74753 String
| >>> | > |                                         1170577 Oops
| >>> | > |     215910913         66817 Array
| >>> | > |                                           331214 Oops
| >>> | > |     164965121         74753 String
| >>> | > |                                          236201 Oops
| >>> | > |     197155585         74753 String
| >>> | > |                                          236426 Oops
| >>> | > |     271373057         74753 String
| >>> | > |                                         1170577 Oops
| >>> | > |     268426753         74753 String
| >>> | > |                                          134740 Oops
| >>> | > |     264103681         74753 String
| >>> | > |                                         1170577 Oops
| >>> | > |
| >>> | > | ----------- Object Statistics Summary -----------------
| >>> | > |
| >>> | > | ----- Instances of invisible (private) classes ------
| >>> | > |    Number of instances:         1072
| >>> | > |             Total size:        15855 K Bytes
| >>> | > |           Average size:         14.8 Bytes
| >>> | > |
| >>> | > |           Class:       209153 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       209409 Instances:         1072 Total
| >>> | > |           Size:
| >>> | > |                  15855 K Bytes
| >>> | > |           Class:       209665 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       209921 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       210177 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       210433 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       210689 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       210945 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       211201 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       211457 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       211713 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       211969 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       212225 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       212481 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       212737 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       212993 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       213249 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       213505 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |           Class:       213761 Instances:            0 Total
| >>> | > |           Size:
| >>> | > |                      0 K Bytes
| >>> | > |
| >>> | > |
| >>> | > | ----- Instances of visible classes -----------------
| >>> | > |    Number of objects      :      1612803
| >>> | > |    Total Size             :       156912 K Bytes
| >>> | > |    size of Object Headers :        37800 K Bytes
| >>> | > |    size of Object Values  :       116516 K Bytes
| >>> | > |    size of Object Tags    :            0 K Bytes
| >>> | > |    average of Object Value:         74.0 Bytes
| >>> | > |
| >>> | > | Object Audit: Audit successfully completed; no errors were
| >>> | > | detected.
| >>> | > | --setGcConfig: set reclaimMinPages to 1
| >>> | > | --setGcConfig: set reclaimSleepTime to 1
| >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| >>> | > | --postReclaimAll: restored reclaimMinPages to 1
| >>> | > | true
| >>> | > | topaz 1>
| >>> | > | topaz 1>
| >>> | > |
| >>> | > |
| >>> | > | > If, as I suspect, you've got corruption in GsProcess
| >>> | > | > objects
| >>> | > | > they
| >>> | > | > only impact Seaside session state, and should have
| >>> | > | > disappeared
| >>> | > | > by
| >>> | > | > the time you run the object audit ...
| >>> | > | >
| >>> | > | > This problems seems to ring a bell, but it seems to me
| >>> | > | > that the
| >>> | > | > problem I am thinking of showed up in GemStone 3.0 and I
| >>> | > | > think
| >>> | > | > it
| >>> | > | > was fixed in GemStone 3.0.1... so I'm curious what
| >>> | > | > version of
| >>> | > | > GemStone you are using.
| >>> | > | >
| >>> | > | > As I think about this, I seem to recall that the problem
| >>> | > | > was
| >>> | > | > related to deeply nested block structure in a method that
| >>> | > | > was
| >>> | > | > involved in partial continuations, so I am curious if you
| >>> | > | > happen
| >>> | > | > to have some deeply nested block structures let's say
| >>> | > | > more than
| >>> | > | > 5
| >>> | > | > or 6 levels deep in your method? In fact even in 3.0.1 I
| >>> | > | > think
| >>> | > | > that there might be an effective limit (the engineer that
| >>> | > | > worked
| >>> | > | > on this will be back on Monday for exact details), so if
| >>> | > | > you
| >>> | > | > are
| >>> | > | > running with 3.0.1, you should definitely be suspicious
| >>> | > | > of deep
| >>> | > | > nesting of blocks...
| >>> | > | >
| >>> | > | > Dale
| >>> | > | >
| >>> | > | > [1]
| >>> | > | > http://community.gemstone.com/display/GSS64/GemStoneS+64+Documentation
| >>> | > | >
| >>> | > | > ----- Original Message -----
| >>> | > | > | From: "Lawrence Kellogg" <[hidden email]>
| >>> | > | > | To: "GemStone Seaside beta discussion"
| >>> | > | > | <[hidden email]>
| >>> | > | > | Sent: Friday, February 10, 2012 2:13:15 PM
| >>> | > | > | Subject: [GS/SS Beta] Object does not exist error -
| >>> | > | > | Worry
| >>> | > | > | about
| >>> | > | > | it?
| >>> | > | > |
| >>> | > | > |
| >>> | > | > |
| >>> | > | > | Hello,
| >>> | > | > | After a long series of calls and answers in Seaside, I
| >>> | > | > | got an
| >>> | > | > | Object
| >>> | > | > | does not exist error that brought down the fast cgi
| >>> | > | > | gateway.
| >>> | > | > | My
| >>> | > | > | production error handler was not triggered, although it
| >>> | > | > | was
| >>> | > | > | installed, as far as I could tell. Strange. My
| >>> | > | > | supervise
| >>> | > | > | fastcgi
| >>> | > | > | process also did not pick up my dead fastcgi process.
| >>> | > | > | Not a
| >>> | > | > | good
| >>> | > | > | day.
| >>> | > | > |
| >>> | > | > | Here is the walkback:
| >>> | > | > |
| >>> | > | > |
| >>> | > | > |
| >>> | > | > | USER IDS: REAL=seasideuser (500) EFFECTIVE=seasideuser
| >>> | > | > | (500)
| >>> | > | > | |
| >>> | > | > | |_____________________________________________________________________________|
| >>> | > | > | topaz> topaz> topaz> topaz> topaz> topaz> topaz>
| >>> | > | > | [Info]: LNK
| >>> | > | > | client/gem GCI levels = 844/844
| >>> | > | > | [Info]: User ID: DataCurator
| >>> | > | > | [Info]: Repository: seaside
| >>> | > | > | [Info]: Session ID: 5
| >>> | > | > | [Info]: GCI Client Host: <Linked>
| >>> | > | > | [Info]: Page server PID: -1
| >>> | > | > | [Info]: Login Time: 02/10/2012 09:27:56 PM.572 UTC
| >>> | > | > | [02/10/2012 09:27:56 PM.592 UTC] gci login: currSession
| >>> | > | > | 1 rpc
| >>> | > | > | gem
| >>> | > | > | processId -1
| >>> | > | > | successful login
| >>> | > | > | topaz 1> topaz 1> [20 sz:0 cls: 76289 UndefinedObject]
| >>> | > | > | nil
| >>> | > | > | topaz 1> topaz 1> [76033 sz:19 cls: 801793 System
| >>> | > | > | class]
| >>> | > | > | System
| >>> | > | > | class
| >>> | > | > | superClass [72193 sz:19 cls: 206081 Object class]
| >>> | > | > | Object
| >>> | > | > | class
| >>> | > | > | format [258 sz:0 cls: 74241 SmallInteger] 32
| >>> | > | > | instVars [2 sz:0 cls: 74241 SmallInteger] 0
| >>> | > | > | instVarNames [422145 sz:0 cls: 66817 Array] an Array
| >>> | > | > | constraints [421889 sz:0 cls: 66817 Array] an Array
| >>> | > | > | classVars [421633 sz:26 cls: 111361 SymbolDictionary] a
| >>> | > | > | SymbolDictionary
| >>> | > | > | methodDict [711937 sz:112 cls: 99073
| >>> | > | > | GsMethodDictionary] a
| >>> | > | > | GsMethodDictionary
| >>> | > | > | poolDictionaries [421377 sz:0 cls: 66817 Array] an
| >>> | > | > | Array
| >>> | > | > | categories [421121 sz:28 cls: 99073 GsMethodDictionary]
| >>> | > | > | a
| >>> | > | > | GsMethodDictionary
| >>> | > | > | secondarySuperclasses [20 sz:0 cls: 76289
| >>> | > | > | UndefinedObject]
| >>> | > | > | nil
| >>> | > | > | name [801537 sz:6 cls: 110849 Symbol] System
| >>> | > | > | classHistory [420865 sz:3 cls: 82689 ClassHistory] a
| >>> | > | > | ClassHistory
| >>> | > | > | description [13498369 sz:10 cls: 95233
| >>> | > | > | GsClassDocumentation]
| >>> | > | > | a
| >>> | > | > | GsClassDocumentation
| >>> | > | > | migrationDestination [20 sz:0 cls: 76289
| >>> | > | > | UndefinedObject] nil
| >>> | > | > | timeStamp [14510593 sz:4 cls: 118785 DateTime] a
| >>> | > | > | DateTime
| >>> | > | > | userId [14508801 sz:10 cls: 74753 String] SystemUser
| >>> | > | > | extraDict [14524929 sz:14 cls: 111361 SymbolDictionary]
| >>> | > | > | a
| >>> | > | > | SymbolDictionary
| >>> | > | > | classCategory [20 sz:0 cls: 76289 UndefinedObject] nil
| >>> | > | > | subclasses [20 sz:0 cls: 76289 UndefinedObject] nil
| >>> | > | > |
| >>> | > | > |
| >>> | > | > | topaz 1> topaz 1> WAFastCGIAdaptor Server started on
| >>> | > | > | port
| >>> | > | > | 9001
| >>> | > | > | -----------------------------------------------------
| >>> | > | > | GemStone: Error Nonfatal
| >>> | > | > | The object with object ID 81065894683350528 does not
| >>> | > | > | exist.
| >>> | > | > | Error Category: 231169 [GemStone] Number: 2101 Arg
| >>> | > | > | Count: 1
| >>> | > | > | Context :
| >>> | > | > | 526648321
| >>> | > | > | Arg 1: [648527157466804226 sz:0 cls: 74241
| >>> | > | > | SmallInteger]
| >>> | > | > | 81065894683350528
| >>> | > | > |
| >>> | > | > |
| >>> | > | > | Now executing the following command saved from "iferr
| >>> | > | > | 1":
| >>> | > | > | where
| >>> | > | > | ==> 1 GsProcess class >>
| >>> | > | > | installPartialContinuation:atLevel:value: @2
| >>> | > | > | line 1 [GsMethod 4487425]
| >>> | > | > | 2 WAPartialContinuation >> value: @13 line 11 [GsMethod
| >>> | > | > | 212791041]
| >>> | > | > | 3 WAPartialContinuation >> valueWithPossibleArguments:
| >>> | > | > | @2
| >>> | > | > | line 2
| >>> | > | > | [GsMethod 218326273]
| >>> | > | > | 4 ComplexBlock in WAComponent >>
| >>> | > | > | show:onAnswer:delegation: @7
| >>> | > | > | line 7
| >>> | > | > | [GsMethod 194749185]
| >>> | > | > | 5 ComplexBlock in ExecutableBlock >>
| >>> | > | > | valueWithPossibleArguments:
| >>> | > | > | @12
| >>> | > | > | line 8 [GsMethod 116163585]
| >>> | > | > | 6 WAAnswerHandler >> handleAnswer:continueWith: @3 line
| >>> | > | > | 2
| >>> | > | > | [GsMethod
| >>> | > | > | 194735873]
| >>> | > | > | 7 WADecoration >> handleAnswer: @6 line 3 [GsMethod
| >>> | > | > | 194731009]
| >>> | > | > | 8 WAComponent >> answer: @2 line 5 [GsMethod 194751745]
| >>> | > | > |
| >>> | > | > |
| >>> | > | > |
| >>> | > | > |
| >>> | > | > | I found this on the net:
| >>> | > | > |
| >>> | > | > |
| >>> | > | > |
| >>> | > | > | Object does not exist errors
| >>> | > | > | GBS applications may encounter object does not exist
| >>> | > | > | errors
| >>> | > | > | in
| >>> | > | > | non-persistent
| >>> | > | > | objects. This is due to a problem with the fix for bug
| >>> | > | > | #40703
| >>> | > | > | in
| >>> | > | > | version
| >>> | > | > | 2.4.4, which resulted in non-persistent objects not
| >>> | > | > | properly
| >>> | > | > | protected
| >>> | > | > | from garbage collection.
| >>> | > | > |
| >>> | > | > | Workaround:
| >>> | > | > |
| >>> | > | > | none/not applicable
| >>> | > | > | from:
| >>> | > | > |
| >>> | > | > |
| >>> | > | > |
| >>> | > | > |
| >>> | > | > |
| >>> | > | > |
| >>> | > | > | http://www.gemstone.com/docs/GemStoneS/bugnotes/bugnotes/40948.html
| >>> | > | > |
| >>> | > | > |
| >>> | > | > |
| >>> | > | > | So, should I worry about this? I implemented code that
| >>> | > | > | allowed a
| >>> | > | > | user
| >>> | > | > | to call an editor, switch out on the navigation menu,
| >>> | > | > | call
| >>> | > | > | another
| >>> | > | > | editor,
| >>> | > | > | switch out. With each switch, I send answer: false to
| >>> | > | > | the
| >>> | > | > | open
| >>> | > | > | editor
| >>> | > | > | to close it so that it is not hanging around open. My
| >>> | > | > | idea
| >>> | > | > | was to hide the section navigation when the editor came
| >>> | > | > | up
| >>> | > | > | but
| >>> | > | > | I'm
| >>> | > | > | getting push back from my user.
| >>> | > | > |
| >>> | > | > |
| >>> | > | > | What do you think?
| >>> | > | > |
| >>> | > | > |
| >>> | > | > | Larry
| >>> | > | > |
| >>> | > | > |
| >>> | > | > |
| >>> | > | > |
| >>> | > |
| >>> | > |
| >>> |
| >>> |
| >>
| >
|
|
Reply | Threaded
Open this post in threaded view
|

Re: Object does not exist error - Worry about it?

Larry Kellogg

On Feb 28, 2012, at 2:41 PM, Dale Henrichs wrote:

> Larry,
>
> Okay, here's the stack that covers the range of the partial continuation:
>
> ==> 1 WAComponent >> decoration @3 line 1   [GsMethod 194749441]
> 2 WAComponent >> addDecoration: @2 line 6   [GsMethod 194748417]
> 3 WAComponent >> show:onAnswerelegation: @10 line 8   [GsMethod 194749185]
> 4 WAComponent >> show:onAnswer: @5 line 5   [GsMethod 499699713]
> 5 WAComponent >> call:onAnswer: @5 line 8   [GsMethod 194750977]
> 6 ComplexBlock in WAComponent >> call: @3 line 4   [GsMethod 191317249]
> 7 ComplexBlock in WAComponent >> wait: @3 line 3   [GsMethod 191268353]
> 8 GRGemStonePlatform >> seasideSuspendFlowDo: @9 line 5   [GsMethod 499655937]
> 9 WAComponent >> wait: @4 line 3   [GsMethod 191268353]
> 10 WAComponent >> call: @4 line 4   [GsMethod 191317249]
> 11 PracticeJournalLoginTask >> go @14 line 9   [GsMethod 371393537]
> 12 WATask >> execute @1 line 7   [GsMethod 195261697]
> 13 ComplexBlock in WATaskVisitor >> visitTask: @6 line 4   [GsMethod 194755841]
>
> WAComponent >> decoration is the source of the error and it is sending #contents to a 'decoration' of the component ... it's not quite clear whether the decoration iv is the corrupt object or the result of the #contents message send ...
>
> To get a better picture of what's happening we need a C stack when the error occurs. If you set
>
>  GEM_HALT_ON_ERROR = 2101;
>
> in your system.conf file, then when the obj does not exist error occurs the gem will halt, dump a c stack, wait 60 seconds and then shutdown ... This is pretty intrusive, but it will get us a couple steps closer to understanding what's going on.
>
> If you (or Johan) can duplicate the error under controlled conditions then you would fire up a topaz manually to service requests and when the halt on error hits, you'll be dropped to the topaz prompt where you can view the smalltalk stack and inspect the objects involved …
>

  Thanks, Dale. I think I can make it crash in my Staging environment by going through many call/answers invocations. I will try.
Unfortunately, I don't think I know enough about what Seaside is doing at that level to fix the problem. I see that the
WADecoration is a WAValueHolder but that's about the end of my knowledge.

  I guess there is no way of knowing from this stack dump what kind of WADecoration we're talking about.

  Regards,

  Larry
 

> Dale
>
> ----- Original Message -----
> | From: "Lawrence Kellogg" <[hidden email]>
> | To: "GemStone Seaside beta discussion" <[hidden email]>
> | Sent: Monday, February 27, 2012 7:01:58 PM
> | Subject: Re: [GS/SS Beta] Object does not exist error - Worry about it?
> |
> |
> | On Feb 21, 2012, at 2:40 PM, Johan Brichau wrote:
> |
> | > fyi, I have been observing occurrences of this bug as well, with
> | > exactly the same point of failure in the stack.
> | >
> | > No repository problems or audit warnings.
> | >
> | > Funnily, I've never seen this in any stone running Yesplan. The
> | > stone where we have this problem is also running a Seaside
> | > application but the only discriminating factor I can observe is
> | > that this application uses call/answer a lot more (while we almost
> | > never use that in Yesplan). It probably does not help a lot
> | > finding the error... but I will look up the stack traces and post
> | > them here if they might contain some clues.
> |
> | Hello Johan,
> |   Thanks for looking into this problem. I use call/answer quite a
> |   bit.
> |
> |   Dale, did you see the stack dump I posted?
> |
> |   Larry
> |
> |
> | >
> | > On 21 Feb 2012, at 20:13, Lawrence Kellogg wrote:
> | >
> | >>
> | >> On Feb 21, 2012, at 1:05 PM, Dale Henrichs wrote:
> | >>
> | >>> Larry,
> | >>>
> | >>> We should try to dig into this one some more.
> | >>>
> | >>> To start with what version of Gemstone are you using? If you are
> | >>> using 2.4.4.1, then I'm not aware of an issue that would warrant
> | >>> an upgrade to 2.4.5, but I will check around a bit...As I said
> | >>> before, the only place that I've seen "Obj does not exist
> | >>> errors" is in 3.0 and those bugs were fixed in 3.0.1.
> | >>>
> | >>
> | >> Dale,
> | >> Thanks for the help. I would like to get to the bottom of this
> | >> error. This crash takes down Fastcgi so it kills the service.
> | >>
> | >> According to the file in the directory, I'm on 2.4.[ component notNil ]
> | >> whileTrue: [
> | >> self call: component.
> | >> component := component nextComponentToBeDisplayed ] ]4.1
> | >>
> | >> GemStone64Bit2.4.4.1-x86_64.Linux
> | >>
> | >>
> | >>
> | >>
> | >>> This time we are getting the error while creating the
> | >>> continuation ... the last episode occurred when you were trying
> | >>> to execute from a continuation.
> | >>>
> | >>> Could you share the source code for PracticeJournalLoginTask >>
> | >>> go? That's the first non-Seaside method on the stack below the
> | >>> error, so it's as good a place as any to start …
> | >>>
> | >>
> | >> Here is the complete source code for the go method:  ;-)
> | >>
> | >> go
> | >> | user component |
> | >> self call: self userLoginView.
> | >> (self userLoginView user) notNil
> | >> ifTrue: [
> | >> component := self firstComponentToDisplayForUser: self
> | >> userLoginView user.
> | >> [ component notNil ]
> | >> whileTrue: [
> | >> self call: component.
> | >> component := component nextComponentToBeDisplayed ] ]
> | >>
> | >> A component is called, and when another component is selected the
> | >> current component is sent answer: false and
> | >> the new component to call is returned from that
> | >> nextComponentToBeDisplayed method.
> | >>
> | >> I used to have an implementation that would give me a huge
> | >> recursive nesting of continuations, as shown by
> | >> halo, but this shows everything on just a few levels, although I
> | >> have to say that the walkback looks deep and gnarly.
> | >>
> | >>
> | >>> It would be useful to see the entire stack as well. The partial
> | >>> continuation copies the stack back to a marker method and it
> | >>> would be useful to examine the source for the methods that are
> | >>> on the stck for clues as to what might be going on...
> | >>>
> | >>> Dale
> | >>
> | >>
> | >> Here is the complete walk back:
> | >>
> | >> topaz 1> topaz 1> WAFastCGIAdaptor Server started on port 9001
> | >> -----------------------------------------------------
> | >> GemStone: Error         Nonfatal
> | >> The object with object ID 76562293713797632 does not exist.
> | >> Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1
> | >> Context : 412915713
> | >> Arg 1: [612498349710381058 sz:0 cls: 74241 SmallInteger]
> | >> 76562293713797632
> | >>
> | >> Now executing the following command saved from "iferr 1":
> | >>  where
> | >> ==> 1 WAComponent >> decoration @3 line 1   [GsMethod 194749441]
> | >> 2 WAComponent >> addDecoration: @2 line 6   [GsMethod 194748417]
> | >> 3 WAComponent >> show:onAnswer:delegation: @10 line 8   [GsMethod
> | >> 194749185]
> | >> 4 WAComponent >> show:onAnswer: @5 line 5   [GsMethod 499699713]
> | >> 5 WAComponent >> call:onAnswer: @5 line 8   [GsMethod 194750977]
> | >> 6 ComplexBlock in WAComponent >> call: @3 line 4   [GsMethod
> | >> 191317249]
> | >> 7 ComplexBlock in WAComponent >> wait: @3 line 3   [GsMethod
> | >> 191268353]
> | >> 8 GRGemStonePlatform >> seasideSuspendFlowDo: @9 line 5
> | >>   [GsMethod 499655937]
> | >> 9 WAComponent >> wait: @4 line 3   [GsMethod 191268353]
> | >> 10 WAComponent >> call: @4 line 4   [GsMethod 191317249]
> | >> 11 PracticeJournalLoginTask >> go @14 line 9   [GsMethod
> | >> 371393537]
> | >> 12 WATask >> execute @1 line 7   [GsMethod 195261697]
> | >> 13 ComplexBlock in WATaskVisitor >> visitTask: @6 line 4
> | >>   [GsMethod 194755841]
> | >> 14 WACallback >> evaluateWithFieldValues: @5 line 2   [GsMethod
> | >> 177495553]
> | >> 15 ComplexBlock in WACallbackRegistry >> handle: @16 line 10
> | >>   [GsMethod 177951489]
> | >> 16 Collection >> do: @5 line 10   [GsMethod 1547777]
> | >> 17 WACallbackRegistry >> handle: @17 line 9   [GsMethod 177951489]
> | >> 18 ComplexBlock in WAActionPhaseContinuation >> runCallbacks @7
> | >> line 4   [GsMethod 202613505]
> | >> 19 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
> | >> 20 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
> | >> 10062081]
> | >> 21 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod
> | >> 9005057]
> | >> 22 WARenderLoopContinuation >> withNotificationHandlerDo: @3 line
> | >> 2   [GsMethod 202608385]
> | >> 23 ComplexVCBlock in WAActionPhaseContinuation >> runCallbacks @8
> | >> line 3   [GsMethod 202613505]
> | >> 24 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
> | >>   [GsMethod 2304001]
> | >> 25 ComplexVCBlock in ExecutableBlock >> ensure: @6 line 11
> | >>   [GsMethod 2304001]
> | >> 26 WAActionPhaseContinuation >> runCallbacks @18 line 6
> | >>   [GsMethod 202613505]
> | >> 27 WAActionPhaseContinuation >> handleRequest @1 line 2
> | >>   [GsMethod 202614017]
> | >> 28 ComplexBlock in WASessionContinuation >> basicValue @3 line 2
> | >>   [GsMethod 202625537]
> | >> 29 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
> | >> 30 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
> | >> 10062081]
> | >> 31 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod
> | >> 9005057]
> | >> 32 WASessionContinuation >> withUnregisteredHandlerDo: @7 line 3
> | >>   [GsMethod 202627073]
> | >> 33 WASessionContinuation >> basicValue @4 line 2   [GsMethod
> | >> 202625537]
> | >> 34 WASessionContinuation >> value @3 line 5   [GsMethod 202623745]
> | >> 35 WASession >> handleFiltered: @14 line 10   [GsMethod 202205441]
> | >> 36 WARequestFilter >> handleFiltered: @2 line 4   [GsMethod
> | >> 176192513]
> | >> 37 ComplexBlock in WADeprecatedToolFilter >> handleFiltered: @3
> | >> line 2   [GsMethod 203213313]
> | >> 38 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
> | >> 39 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
> | >> 10062081]
> | >> 40 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod
> | >> 9005057]
> | >> 41 WADeprecatedToolFilter >> handleFiltered: @6 line 3   [GsMethod
> | >> 203213313]
> | >> 42 WARequestFilter >> handleFiltered: @2 line 4   [GsMethod
> | >> 176192513]
> | >> 43 ComplexBlock in WATimingToolFilter >> handleFiltered: @4 line 3
> | >>   [GsMethod 203208449]
> | >> 44 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
> | >>   [GsMethod 2304001]
> | >> 45 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
> | >>   [GsMethod 2304001]
> | >> 46 WATimingToolFilter >> handleFiltered: @8 line 4   [GsMethod
> | >> 203208449]
> | >> 47 ComplexBlock in WARequestHandler >> handle: @4 line 4
> | >>   [GsMethod 178568961]
> | >> 48 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
> | >> 49 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
> | >> 10062081]
> | >> 50 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod
> | >> 9005057]
> | >> 51 WADynamicVariable class >> use:during: @4 line 4   [GsMethod
> | >> 177805825]
> | >> 52 ComplexBlock in WARequestContext >> push:during: @4 line 5
> | >>   [GsMethod 176176129]
> | >> 53 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
> | >>   [GsMethod 2304001]
> | >> 54 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
> | >>   [GsMethod 2304001]
> | >> 55 WARequestContext >> push:during: @7 line 6   [GsMethod
> | >> 176176129]
> | >> 56 WARequestHandler >> handle: @5 line 4   [GsMethod 178568961]
> | >> 57 WASession >> handle: @10 line 11   [GsMethod 202210561]
> | >> 58 WARegistry >> dispatch:to: @1 line 5   [GsMethod 176153857]
> | >> 59 WARegistry >> handleKeyed:with: @2 line 5   [GsMethod
> | >> 176155137]
> | >> 60 WARegistry >> handleFiltered: @33 line 19   [GsMethod
> | >> 176146945]
> | >> 61 WAApplication >> handleFiltered: @9 line 8   [GsMethod
> | >> 202644225]
> | >> 62 WARequestFilter >> handleFiltered: @2 line 4   [GsMethod
> | >> 176192513]
> | >> 63 ComplexBlock in WAExceptionFilter >> handleFiltered: @6 line 7
> | >>   [GsMethod 499529473]
> | >> 64 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
> | >> 65 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
> | >> 10062081]
> | >> 66 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod
> | >> 9005057]
> | >> 67 WADynamicVariable class >> use:during: @4 line 4   [GsMethod
> | >> 177805825]
> | >> 68 ComplexVCBlock in WAExceptionFilter >> handleFiltered: @7 line
> | >> 6   [GsMethod 499529473]
> | >> 69 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
> | >> 70 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
> | >> 10062081]
> | >> 71 ComplexVCBlock in ExecutableBlock >> on:do: @2 line 8
> | >>   [GsMethod 9005057]
> | >> 72 WAExceptionHandler >> handleExceptionsDuring: @8 line 3
> | >>   [GsMethod 177803521]
> | >> 73 WAExceptionFilter >> handleFiltered: @8 line 4   [GsMethod
> | >> 499529473]
> | >> 74 ComplexBlock in WARequestHandler >> handle: @4 line 4
> | >>   [GsMethod 178568961]
> | >> 75 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
> | >> 76 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
> | >> 10062081]
> | >> 77 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod
> | >> 9005057]
> | >> 78 WADynamicVariable class >> use:during: @4 line 4   [GsMethod
> | >> 177805825]
> | >> 79 ComplexBlock in WARequestContext >> push:during: @4 line 5
> | >>   [GsMethod 176176129]
> | >> 80 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
> | >>   [GsMethod 2304001]
> | >> 81 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
> | >>   [GsMethod 2304001]
> | >> 82 WARequestContext >> push:during: @7 line 6   [GsMethod
> | >> 176176129]
> | >> 83 WARequestHandler >> handle: @5 line 4   [GsMethod 178568961]
> | >> 84 WADispatcher >> handleFiltered:named: @7 line 5   [GsMethod
> | >> 179090945]
> | >> 85 WADispatcher >> handleFiltered: @7 line 6   [GsMethod
> | >> 179087617]
> | >> 86 ComplexBlock in WARequestHandler >> handle: @4 line 4
> | >>   [GsMethod 178568961]
> | >> 87 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
> | >> 88 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
> | >> 10062081]
> | >> 89 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod
> | >> 9005057]
> | >> 90 WADynamicVariable class >> use:during: @4 line 4   [GsMethod
> | >> 177805825]
> | >> 91 ComplexBlock in WARequestContext >> push:during: @4 line 5
> | >>   [GsMethod 176176129]
> | >> 92 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
> | >>   [GsMethod 2304001]
> | >> 93 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
> | >>   [GsMethod 2304001]
> | >> 94 WARequestContext >> push:during: @7 line 6   [GsMethod
> | >> 176176129]
> | >> 95 WARequestHandler >> handle: @5 line 4   [GsMethod 178568961]
> | >> 96 ComplexBlock in WAServerAdaptor >> handleRequest: @4 line 4
> | >>   [GsMethod 176816641]
> | >> 97 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod 10065409]
> | >> 98 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
> | >> 10062081]
> | >> 99 ComplexBlock in ExecutableBlock >> on:do: @2 line 8   [GsMethod
> | >> 9005057]
> | >> 100 WAServerAdaptor >> handleRequest: @6 line 5   [GsMethod
> | >> 176816641]
> | >> 101 WAServerAdaptor >> handle: @1 line 4   [GsMethod 176817921]
> | >> 102 ComplexBlock in WAServerAdaptor >> process: @5 line 6
> | >>   [GsMethod 176817153]
> | >> 103 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
> | >>   [GsMethod 2304001]
> | >> 104 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
> | >>   [GsMethod 2304001]
> | >> 105 WAServerAdaptor >> process: @9 line 7   [GsMethod 176817153]
> | >> 106 ComplexBlock in WAFastCGIAdaptor >> process: @3 line 6
> | >>   [GsMethod 212442369]
> | >> 107 ComplexBlock in GRGemStonePlatform >>
> | >> seasideProcessRequestWithRetry:resultBlock: @12 line 11
> | >>   [GsMethod 175179265]
> | >> 108 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
> | >> 10065409]
> | >> 109 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
> | >> 10062081]
> | >> 110 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
> | >>   [GsMethod 9005057]
> | >> 111 ComplexVCBlock in GRGemStonePlatform >>
> | >> seasideProcessRequestWithRetry:resultBlock: @18 line 12
> | >>   [GsMethod 175179265]
> | >> 112 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
> | >>   [GsMethod 2304001]
> | >> 113 ComplexVCBlock in ExecutableBlock >> ensure: @6 line 11
> | >>   [GsMethod 2304001]
> | >> 114 TransientRecursionLock >> critical: @15 line 8   [GsMethod
> | >> 21159937]
> | >> 115 GRGemStonePlatform >>
> | >> seasideProcessRequestWithRetry:resultBlock: @39 line 5
> | >>   [GsMethod 175179265]
> | >> 116 ComplexBlock in GRGemStonePlatform >>
> | >> seasideProcessRequest:adaptor:resultBlock: @7 line 9   [GsMethod
> | >> 175179521]
> | >> 117 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
> | >> 10065409]
> | >> 118 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
> | >> 10062081]
> | >> 119 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
> | >>   [GsMethod 9005057]
> | >> 120 GRGemStonePlatform >>
> | >> seasideProcessRequest:adaptor:resultBlock: @32 line 17
> | >>   [GsMethod 175179521]
> | >> 121 WAFastCGIAdaptor >> process: @4 line 4   [GsMethod 212442369]
> | >> 122 ComplexBlock in WAFastCGIAdaptor >> answerResponderRole: @3
> | >> line 4   [GsMethod 212444161]
> | >> 123 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
> | >> 10065409]
> | >> 124 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
> | >> 10062081]
> | >> 125 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
> | >>   [GsMethod 9005057]
> | >> 126 WAFastCGIAdaptor >> answerResponderRole: @9 line 5   [GsMethod
> | >> 212444161]
> | >> 127 FSResponderRole >> answer @2 line 4   [GsMethod 218695937]
> | >> 128 FSRole >> handleConnection @3 line 5   [GsMethod 218705409]
> | >> 129 FSConnection >> unsafeServe @4 line 8   [GsMethod 219646465]
> | >> 130 ComplexBlock in FSConnection >> safeServe @5 line 8
> | >>   [GsMethod 499288833]
> | >> 131 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
> | >> 10065409]
> | >> 132 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
> | >> 10062081]
> | >> 133 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
> | >>   [GsMethod 9005057]
> | >> 134 ComplexVCBlock in FSConnection >> safeServe @8 line 9
> | >>   [GsMethod 499288833]
> | >> 135 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
> | >> 10065409]
> | >> 136 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
> | >> 10062081]
> | >> 137 ComplexVCBlock in ExecutableBlock >> on:do: @2 line 8
> | >>   [GsMethod 9005057]
> | >> 138 ComplexVCBlock in FSConnection >> safeServe @11 line 12
> | >>   [GsMethod 499288833]
> | >> 139 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
> | >>   [GsMethod 2304001]
> | >> 140 ComplexVCBlock in ExecutableBlock >> ensure: @6 line 11
> | >>   [GsMethod 2304001]
> | >> 141 FSConnection >> safeServe @14 line 15   [GsMethod 499288833]
> | >> 142 FSConnection >> serve @1 line 4   [GsMethod 219654145]
> | >> 143 ComplexBlock in FSSocketServer >> listen: @9 line 15
> | >>   [GsMethod 219292673]
> | >> 144 GsProcess >> _startPart2 @15 line 17   [GsMethod 4501249]
> | >> 145 GsProcess >> _start @1 line 9   [GsMethod 4501761]
> | >> [GsProcess 412915713]
> | >> topaz 1> [268 sz:0 cls: 68097 Boolean] true
> | >> topaz 1>
> | >> HostCallDebugger: invoked at: Mon Feb 20 16:38:18 UTC 2012
> | >>
> | >> UTL_GUARANTEE failed, File
> | >> /export/toronto3/users/buildgss/244x-1/src/omverify.c line 28
> | >>
> | >> Begin attempt to print C-level stack at: Mon Feb 20 16:38:18 UTC
> | >> 2012
> | >>
> | >>
> | >> End of C-level stack:
> | >>
> | >>
> | >> hostcalldebugger invoked in process 6550, at 02/20/2012 04:38:18
> | >> PM.681 UTC
> | >> notifying stone of fatal error
> | >>
> | >> [Info]: Logging out at 02/20/2012 04:38:18 PM UTC
> | >>
> | >>
> | >>
> | >>>
> | >>> ----- Original Message -----
> | >>> | From: "Lawrence Kellogg" <[hidden email]>
> | >>> | To: "GemStone Seaside beta discussion"
> | >>> | <[hidden email]>
> | >>> | Sent: Monday, February 20, 2012 8:48:22 AM
> | >>> | Subject: Re: [GS/SS Beta] Object does not exist error - Worry
> | >>> | about it?
> | >>> |
> | >>> | Hello Dale,
> | >>> |   Well, my system has been up for days, running with no
> | >>> |   problems, not
> | >>> |   that it has been getting a lot of traffic, but still, no
> | >>> |   crashes.
> | >>> |   Today, I hit the Object does not exist error again. I guess I
> | >>> |   can
> | >>> |   do another object audit but, other than that, I'm not sure
> | >>> |   how to
> | >>> |   proceed. Do you think an upgrade to 2.4.5 will help me?
> | >>> |
> | >>> |   Here is the walkback:
> | >>> |
> | >>> | topaz 1> topaz 1> WAFastCGIAdaptor Server started on port 9001
> | >>> | -----------------------------------------------------
> | >>> | GemStone: Error         Nonfatal
> | >>> | The object with object ID 76562293713797632 does not exist.
> | >>> | Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1
> | >>> | Context :
> | >>> | 412915713
> | >>> | Arg 1: [612498349710381058 sz:0 cls: 74241 SmallInteger]
> | >>> | 76562293713797632
> | >>> |
> | >>> | Now executing the following command saved from "iferr 1":
> | >>> |    where
> | >>> | ==> 1 WAComponent >> decoration @3 line 1   [GsMethod
> | >>> | 194749441]
> | >>> | 2 WAComponent >> addDecoration: @2 line 6   [GsMethod
> | >>> | 194748417]
> | >>> | 3 WAComponent >> show:onAnswer:delegation: @10 line 8
> | >>> |   [GsMethod
> | >>> | 194749185]
> | >>> | 4 WAComponent >> show:onAnswer: @5 line 5   [GsMethod
> | >>> | 499699713]
> | >>> | 5 WAComponent >> call:onAnswer: @5 line 8   [GsMethod
> | >>> | 194750977]
> | >>> | 6 ComplexBlock in WAComponent >> call: @3 line 4   [GsMethod
> | >>> | 191317249]
> | >>> | 7 ComplexBlock in WAComponent >> wait: @3 line 3   [GsMethod
> | >>> | 191268353]
> | >>> | 8 GRGemStonePlatform >> seasideSuspendFlowDo: @9 line 5
> | >>> |   [GsMethod
> | >>> | 499655937]
> | >>> | 9 WAComponent >> wait: @4 line 3   [GsMethod 191268353]
> | >>> | 10 WAComponent >> call: @4 line 4   [GsMethod 191317249]
> | >>> | 11 PracticeJournalLoginTask >> go @14 line 9   [GsMethod
> | >>> | 371393537]
> | >>> |
> | >>> |
> | >>> | Larry
> | >>> |
> | >>> | On Feb 11, 2012, at 2:34 PM, Dale Henrichs wrote:
> | >>> |
> | >>> | > Larry,
> | >>> | >
> | >>> | > Yes, everything looks clean, I'm a little bit surprised that
> | >>> | > you
> | >>> | > didn't find the original error in you first audit, but the
> | >>> | > implication is that the "corrupt object" never got persisted
> | >>> | > ...
> | >>> | > indicating some other type of corruption ...
> | >>> | >
> | >>> | > A clean object audit means that your data base has no
> | >>> | > corruption so
> | >>> | > you're good to go ... I'll talk to some guys on Monday and
> | >>> | > see if
> | >>> | > they have some ideas as to what might have happened...there's
> | >>> | > a
> | >>> | > bug in there somewhere, but for now it looks like it is
> | >>> | > isolated
> | >>> | > to the local state in a gem ...
> | >>> | >
> | >>> | > Dale
> | >>> | >
> | >>> | > ----- Original Message -----
> | >>> | > | From: "Lawrence Kellogg" <[hidden email]>
> | >>> | > | To: "GemStone Seaside beta discussion"
> | >>> | > | <[hidden email]>
> | >>> | > | Sent: Saturday, February 11, 2012 4:18:06 AM
> | >>> | > | Subject: Re: [GS/SS Beta] Object does not exist error -
> | >>> | > | Worry
> | >>> | > | about it?
> | >>> | > |
> | >>> | > |
> | >>> | > | On Feb 10, 2012, at 7:04 PM, Dale Henrichs wrote:
> | >>> | > |
> | >>> | > | > Larry,
> | >>> | > | >
> | >>> | > | > Object does not exist errors are not good things ... and
> | >>> | > | > the
> | >>> | > | > gem
> | >>> | > | > coming down in this case is probably a good thing ... The
> | >>> | > | > fact
> | >>> | > | > that the problem is showing up in a GsProcess means that
> | >>> | > | > the
> | >>> | > | > Seaside session data structures are corrupted but not
> | >>> | > | > your
> | >>> | > | > model
> | >>> | > | > data ...
> | >>> | > | >
> | >>> | > | > You can check for corruption in your data base by running
> | >>> | > | > an
> | >>> | > | > object
> | >>> | > | > audit (see section 8.2 of the System Administration
> | >>> | > | > Guide[1]).
> | >>> | > | > If
> | >>> | > | > you follow these steps you own't need to run the object
> | >>> | > | > audit
> | >>> | > | > as
> | >>> | > | > single user (see the docs):
> | >>> | > | >
> | >>> | > | >  - expire sessions
> | >>> | > | >  - mfc
> | >>> | > | >  - reclaimAll
> | >>> | > | >  - object audit
> | >>> | > | >
> | >>> | > |
> | >>> | > | Hello Dale,
> | >>> | > |   Ok, I ran:
> | >>> | > |
> | >>> | > | System stopUserSessions
> | >>> | > | SystemRepository objectAudit
> | >>> | > | SystemRepository markForCollection
> | >>> | > | SystemRepository reclaimAll
> | >>> | > | SystemRepository objectAudit
> | >>> | > |
> | >>> | > | I don't see any errors. Here is my log. What do you make of
> | >>> | > | it?
> | >>> | > |
> | >>> | > | Larry
> | >>> | > |
> | >>> | > |
> | >>> | > | [Info]: Login Time: 02/11/2012 12:06:22 PM.972 UTC
> | >>> | > | [02/11/2012 12:06:23 PM.001 UTC] gci login: currSession 1
> | >>> | > | rpc gem
> | >>> | > | processId -1
> | >>> | > | successful login
> | >>> | > | topaz 1> printit
> | >>> | > | System hasMissingGcGems
> | >>> | > | %
> | >>> | > | false
> | >>> | > | topaz 1> printit
> | >>> | > | System stopUserSessions
> | >>> | > | %
> | >>> | > | System class
> | >>> | > |   superClass      Object class
> | >>> | > |   format          32
> | >>> | > |   instVars        0
> | >>> | > |   instVarNames    an Array
> | >>> | > |   constraints     an Array
> | >>> | > |   classVars       a SymbolDictionary
> | >>> | > |   methodDict      a GsMethodDictionary
> | >>> | > |   poolDictionaries an Array
> | >>> | > |   categories      a GsMethodDictionary
> | >>> | > |   secondarySuperclasses nil
> | >>> | > |   name            System
> | >>> | > |   classHistory    a ClassHistory
> | >>> | > |   description     a GsClassDocumentation
> | >>> | > |   migrationDestination nil
> | >>> | > |   timeStamp       a DateTime
> | >>> | > |   userId          SystemUser
> | >>> | > |   extraDict       a SymbolDictionary
> | >>> | > |   classCategory   nil
> | >>> | > |   subclasses      nil
> | >>> | > |
> | >>> | > | topaz 1> printit
> | >>> | > | SystemRepository objectAudit
> | >>> | > | %
> | >>> | > | --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
> | >>> | > | --setGcConfig: set reclaimMinPages to 1
> | >>> | > | --reclaimAll: changed reclaimMinPages from 40 to 1
> | >>> | > | --setGcConfig: set reclaimSleepTime to 1
> | >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
> | >>> | > | --reclaimAll: using reclaimDeadEnabled true
> | >>> | > | --reclaimAll: simpleCommit loopCount 10
> | >>> | > | 02/11/2012 12:07:41 PM.070 UTC: Starting object table scan
> | >>> | > | 02/11/2012 12:07:41 PM.698 UTC: Finished object table scan
> | >>> | > |
> | >>> | > | Object audit is proceeding in FullAudit mode:
> | >>> | > | Scavenging completed (either single user mode or no pages
> | >>> | > | to
> | >>> | > | scavenge).
> | >>> | > | All audit checks are enabled.
> | >>> | > |
> | >>> | > | Object audit as of 02/11/2012 12:07:41 PM UTC.
> | >>> | > | Summary of objects whose sizes exceed 100000 Bytes or Oops:
> | >>> | > |
> | >>> | > |   ObjectID        Class     ClassName
> | >>> | > |                                  LogicalSize
> | >>> | > | --------------------------------------------------------------------------------------------------------------
> | >>> | > |     305743617         74753 String
> | >>> | > |                                          134740 Oops
> | >>> | > |     149534721         74753 String
> | >>> | > |                                          164661 Oops
> | >>> | > |     173784833         74753 String
> | >>> | > |                                          163312 Oops
> | >>> | > |     196368897         74753 String
> | >>> | > |                                          164661 Oops
> | >>> | > |     305774593         74753 String
> | >>> | > |                                          134740 Oops
> | >>> | > |     175519489         74753 String
> | >>> | > |                                          376305 Oops
> | >>> | > |     196571393         74753 String
> | >>> | > |                                          379399 Oops
> | >>> | > |     175494145         74753 String
> | >>> | > |                                          201874 Oops
> | >>> | > |     197005569         74753 String
> | >>> | > |                                          202074 Oops
> | >>> | > |     149996289         74753 String
> | >>> | > |                                          236426 Oops
> | >>> | > |     151722753         74753 String
> | >>> | > |                                          379399 Oops
> | >>> | > |     151723777         74753 String
> | >>> | > |                                          202074 Oops
> | >>> | > |     274619393         74753 String
> | >>> | > |                                         1170577 Oops
> | >>> | > |     265139713         74753 String
> | >>> | > |                                         1170577 Oops
> | >>> | > |     215910913         66817 Array
> | >>> | > |                                           331214 Oops
> | >>> | > |     164965121         74753 String
> | >>> | > |                                          236201 Oops
> | >>> | > |     197155585         74753 String
> | >>> | > |                                          236426 Oops
> | >>> | > |     271373057         74753 String
> | >>> | > |                                         1170577 Oops
> | >>> | > |     268426753         74753 String
> | >>> | > |                                          134740 Oops
> | >>> | > |     264103681         74753 String
> | >>> | > |                                         1170577 Oops
> | >>> | > |
> | >>> | > | ----------- Object Statistics Summary -----------------
> | >>> | > |
> | >>> | > | ----- Instances of invisible (private) classes ------
> | >>> | > |    Number of instances:         1072
> | >>> | > |             Total size:        15855 K Bytes
> | >>> | > |           Average size:         14.8 Bytes
> | >>> | > |
> | >>> | > |           Class:       209153 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       209409 Instances:         1072 Total
> | >>> | > |           Size:
> | >>> | > |                  15855 K Bytes
> | >>> | > |           Class:       209665 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       209921 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       210177 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       210433 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       210689 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       210945 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       211201 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       211457 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       211713 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       211969 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       212225 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       212481 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       212737 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       212993 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       213249 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       213505 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       213761 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |
> | >>> | > |
> | >>> | > | ----- Instances of visible classes -----------------
> | >>> | > |    Number of objects      :      1633432
> | >>> | > |    Total Size             :       157861 K Bytes
> | >>> | > |    size of Object Headers :        38283 K Bytes
> | >>> | > |    size of Object Values  :       116978 K Bytes
> | >>> | > |    size of Object Tags    :            0 K Bytes
> | >>> | > |    average of Object Value:         73.3 Bytes
> | >>> | > |
> | >>> | > | Object Audit: Audit successfully completed; no errors were
> | >>> | > | detected.
> | >>> | > | --setGcConfig: set reclaimMinPages to 40
> | >>> | > | --setGcConfig: set reclaimSleepTime to 10
> | >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
> | >>> | > | --postReclaimAll: restored reclaimMinPages to 40
> | >>> | > | true
> | >>> | > | topaz 1> printit
> | >>> | > | SystemRepository markForCollection
> | >>> | > | %
> | >>> | > | start MFC mark/sweep phase: 02/11/2012 12:08:56 PM UTC
> | >>> | > | WARNING, unable to resolve either garMarkSweepPageBufSize
> | >>> | > | or
> | >>> | > | mfcGcPageBufSize, using default 320
> | >>> | > | MarkSweepArgsSType::(): buffer size= 320 pages
> | >>> | > | start MFC process dead phase: 02/11/2012 12:08:59 PM UTC
> | >>> | > | end MFC: 02/11/2012 12:08:59 PM UTC
> | >>> | > | Successful completion of markForCollection.
> | >>> | > |     1613875 live objects found.
> | >>> | > |     20629 possible dead objects, occupying approximately
> | >>> | > |     1856610
> | >>> | > |     bytes, may be reclaimed.
> | >>> | > | topaz 1> printit
> | >>> | > | SystemRepository reclaimAll
> | >>> | > | %
> | >>> | > | --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
> | >>> | > | --setGcConfig: set reclaimMinPages to 1
> | >>> | > | --reclaimAll: changed reclaimMinPages from 40 to 1
> | >>> | > | --setGcConfig: set reclaimSleepTime to 1
> | >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
> | >>> | > | --reclaimAll: using reclaimDeadEnabled true
> | >>> | > | --reclaimAll: simpleCommit loopCount 10
> | >>> | > | an Array
> | >>> | > |   #1 40
> | >>> | > |   #2 10
> | >>> | > |   #3 0
> | >>> | > |
> | >>> | > | topaz 1> printit
> | >>> | > | SystemRepository objectAudit
> | >>> | > | %
> | >>> | > | --reclaimAll: changed StnSignalAbortCrBacklog from 20 to 3
> | >>> | > | --setGcConfig: set reclaimMinPages to 1
> | >>> | > | --reclaimAll: changed reclaimMinPages from 1 to 1
> | >>> | > | --setGcConfig: set reclaimSleepTime to 1
> | >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
> | >>> | > | --reclaimAll: using reclaimDeadEnabled true
> | >>> | > | 02/11/2012 12:11:27 PM.328 UTC: Starting object table scan
> | >>> | > | 02/11/2012 12:11:27 PM.921 UTC: Finished object table scan
> | >>> | > |
> | >>> | > | Object audit is proceeding in FullAudit mode:
> | >>> | > | Scavenging completed (either single user mode or no pages
> | >>> | > | to
> | >>> | > | scavenge).
> | >>> | > | All audit checks are enabled.
> | >>> | > |
> | >>> | > | Object audit as of 02/11/2012 12:11:27 PM UTC.
> | >>> | > | Summary of objects whose sizes exceed 100000 Bytes or Oops:
> | >>> | > |
> | >>> | > |   ObjectID        Class     ClassName
> | >>> | > |                                  LogicalSize
> | >>> | > | --------------------------------------------------------------------------------------------------------------
> | >>> | > |     305743617         74753 String
> | >>> | > |                                          134740 Oops
> | >>> | > |     149534721         74753 String
> | >>> | > |                                          164661 Oops
> | >>> | > |     173784833         74753 String
> | >>> | > |                                          163312 Oops
> | >>> | > |     196368897         74753 String
> | >>> | > |                                          164661 Oops
> | >>> | > |     305774593         74753 String
> | >>> | > |                                          134740 Oops
> | >>> | > |     175519489         74753 String
> | >>> | > |                                          376305 Oops
> | >>> | > |     196571393         74753 String
> | >>> | > |                                          379399 Oops
> | >>> | > |     175494145         74753 String
> | >>> | > |                                          201874 Oops
> | >>> | > |     197005569         74753 String
> | >>> | > |                                          202074 Oops
> | >>> | > |     149996289         74753 String
> | >>> | > |                                          236426 Oops
> | >>> | > |     151722753         74753 String
> | >>> | > |                                          379399 Oops
> | >>> | > |     151723777         74753 String
> | >>> | > |                                          202074 Oops
> | >>> | > |     274619393         74753 String
> | >>> | > |                                         1170577 Oops
> | >>> | > |     265139713         74753 String
> | >>> | > |                                         1170577 Oops
> | >>> | > |     215910913         66817 Array
> | >>> | > |                                           331214 Oops
> | >>> | > |     164965121         74753 String
> | >>> | > |                                          236201 Oops
> | >>> | > |     197155585         74753 String
> | >>> | > |                                          236426 Oops
> | >>> | > |     271373057         74753 String
> | >>> | > |                                         1170577 Oops
> | >>> | > |     268426753         74753 String
> | >>> | > |                                          134740 Oops
> | >>> | > |     264103681         74753 String
> | >>> | > |                                         1170577 Oops
> | >>> | > |
> | >>> | > | ----------- Object Statistics Summary -----------------
> | >>> | > |
> | >>> | > | ----- Instances of invisible (private) classes ------
> | >>> | > |    Number of instances:         1072
> | >>> | > |             Total size:        15855 K Bytes
> | >>> | > |           Average size:         14.8 Bytes
> | >>> | > |
> | >>> | > |           Class:       209153 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       209409 Instances:         1072 Total
> | >>> | > |           Size:
> | >>> | > |                  15855 K Bytes
> | >>> | > |           Class:       209665 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       209921 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       210177 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       210433 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       210689 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       210945 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       211201 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       211457 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       211713 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       211969 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       212225 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       212481 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       212737 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       212993 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       213249 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       213505 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |           Class:       213761 Instances:            0 Total
> | >>> | > |           Size:
> | >>> | > |                      0 K Bytes
> | >>> | > |
> | >>> | > |
> | >>> | > | ----- Instances of visible classes -----------------
> | >>> | > |    Number of objects      :      1612803
> | >>> | > |    Total Size             :       156912 K Bytes
> | >>> | > |    size of Object Headers :        37800 K Bytes
> | >>> | > |    size of Object Values  :       116516 K Bytes
> | >>> | > |    size of Object Tags    :            0 K Bytes
> | >>> | > |    average of Object Value:         74.0 Bytes
> | >>> | > |
> | >>> | > | Object Audit: Audit successfully completed; no errors were
> | >>> | > | detected.
> | >>> | > | --setGcConfig: set reclaimMinPages to 1
> | >>> | > | --setGcConfig: set reclaimSleepTime to 1
> | >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
> | >>> | > | --postReclaimAll: restored reclaimMinPages to 1
> | >>> | > | true
> | >>> | > | topaz 1>
> | >>> | > | topaz 1>
> | >>> | > |
> | >>> | > |
> | >>> | > | > If, as I suspect, you've got corruption in GsProcess
> | >>> | > | > objects
> | >>> | > | > they
> | >>> | > | > only impact Seaside session state, and should have
> | >>> | > | > disappeared
> | >>> | > | > by
> | >>> | > | > the time you run the object audit ...
> | >>> | > | >
> | >>> | > | > This problems seems to ring a bell, but it seems to me
> | >>> | > | > that the
> | >>> | > | > problem I am thinking of showed up in GemStone 3.0 and I
> | >>> | > | > think
> | >>> | > | > it
> | >>> | > | > was fixed in GemStone 3.0.1... so I'm curious what
> | >>> | > | > version of
> | >>> | > | > GemStone you are using.
> | >>> | > | >
> | >>> | > | > As I think about this, I seem to recall that the problem
> | >>> | > | > was
> | >>> | > | > related to deeply nested block structure in a method that
> | >>> | > | > was
> | >>> | > | > involved in partial continuations, so I am curious if you
> | >>> | > | > happen
> | >>> | > | > to have some deeply nested block structures let's say
> | >>> | > | > more than
> | >>> | > | > 5
> | >>> | > | > or 6 levels deep in your method? In fact even in 3.0.1 I
> | >>> | > | > think
> | >>> | > | > that there might be an effective limit (the engineer that
> | >>> | > | > worked
> | >>> | > | > on this will be back on Monday for exact details), so if
> | >>> | > | > you
> | >>> | > | > are
> | >>> | > | > running with 3.0.1, you should definitely be suspicious
> | >>> | > | > of deep
> | >>> | > | > nesting of blocks...
> | >>> | > | >
> | >>> | > | > Dale
> | >>> | > | >
> | >>> | > | > [1]
> | >>> | > | > http://community.gemstone.com/display/GSS64/GemStoneS+64+Documentation
> | >>> | > | >
> | >>> | > | > ----- Original Message -----
> | >>> | > | > | From: "Lawrence Kellogg" <[hidden email]>
> | >>> | > | > | To: "GemStone Seaside beta discussion"
> | >>> | > | > | <[hidden email]>
> | >>> | > | > | Sent: Friday, February 10, 2012 2:13:15 PM
> | >>> | > | > | Subject: [GS/SS Beta] Object does not exist error -
> | >>> | > | > | Worry
> | >>> | > | > | about
> | >>> | > | > | it?
> | >>> | > | > |
> | >>> | > | > |
> | >>> | > | > |
> | >>> | > | > | Hello,
> | >>> | > | > | After a long series of calls and answers in Seaside, I
> | >>> | > | > | got an
> | >>> | > | > | Object
> | >>> | > | > | does not exist error that brought down the fast cgi
> | >>> | > | > | gateway.
> | >>> | > | > | My
> | >>> | > | > | production error handler was not triggered, although it
> | >>> | > | > | was
> | >>> | > | > | installed, as far as I could tell. Strange. My
> | >>> | > | > | supervise
> | >>> | > | > | fastcgi
> | >>> | > | > | process also did not pick up my dead fastcgi process.
> | >>> | > | > | Not a
> | >>> | > | > | good
> | >>> | > | > | day.
> | >>> | > | > |
> | >>> | > | > | Here is the walkback:
> | >>> | > | > |
> | >>> | > | > |
> | >>> | > | > |
> | >>> | > | > | USER IDS: REAL=seasideuser (500) EFFECTIVE=seasideuser
> | >>> | > | > | (500)
> | >>> | > | > | |
> | >>> | > | > | |_____________________________________________________________________________|
> | >>> | > | > | topaz> topaz> topaz> topaz> topaz> topaz> topaz>
> | >>> | > | > | [Info]: LNK
> | >>> | > | > | client/gem GCI levels = 844/844
> | >>> | > | > | [Info]: User ID: DataCurator
> | >>> | > | > | [Info]: Repository: seaside
> | >>> | > | > | [Info]: Session ID: 5
> | >>> | > | > | [Info]: GCI Client Host: <Linked>
> | >>> | > | > | [Info]: Page server PID: -1
> | >>> | > | > | [Info]: Login Time: 02/10/2012 09:27:56 PM.572 UTC
> | >>> | > | > | [02/10/2012 09:27:56 PM.592 UTC] gci login: currSession
> | >>> | > | > | 1 rpc
> | >>> | > | > | gem
> | >>> | > | > | processId -1
> | >>> | > | > | successful login
> | >>> | > | > | topaz 1> topaz 1> [20 sz:0 cls: 76289 UndefinedObject]
> | >>> | > | > | nil
> | >>> | > | > | topaz 1> topaz 1> [76033 sz:19 cls: 801793 System
> | >>> | > | > | class]
> | >>> | > | > | System
> | >>> | > | > | class
> | >>> | > | > | superClass [72193 sz:19 cls: 206081 Object class]
> | >>> | > | > | Object
> | >>> | > | > | class
> | >>> | > | > | format [258 sz:0 cls: 74241 SmallInteger] 32
> | >>> | > | > | instVars [2 sz:0 cls: 74241 SmallInteger] 0
> | >>> | > | > | instVarNames [422145 sz:0 cls: 66817 Array] an Array
> | >>> | > | > | constraints [421889 sz:0 cls: 66817 Array] an Array
> | >>> | > | > | classVars [421633 sz:26 cls: 111361 SymbolDictionary] a
> | >>> | > | > | SymbolDictionary
> | >>> | > | > | methodDict [711937 sz:112 cls: 99073
> | >>> | > | > | GsMethodDictionary] a
> | >>> | > | > | GsMethodDictionary
> | >>> | > | > | poolDictionaries [421377 sz:0 cls: 66817 Array] an
> | >>> | > | > | Array
> | >>> | > | > | categories [421121 sz:28 cls: 99073 GsMethodDictionary]
> | >>> | > | > | a
> | >>> | > | > | GsMethodDictionary
> | >>> | > | > | secondarySuperclasses [20 sz:0 cls: 76289
> | >>> | > | > | UndefinedObject]
> | >>> | > | > | nil
> | >>> | > | > | name [801537 sz:6 cls: 110849 Symbol] System
> | >>> | > | > | classHistory [420865 sz:3 cls: 82689 ClassHistory] a
> | >>> | > | > | ClassHistory
> | >>> | > | > | description [13498369 sz:10 cls: 95233
> | >>> | > | > | GsClassDocumentation]
> | >>> | > | > | a
> | >>> | > | > | GsClassDocumentation
> | >>> | > | > | migrationDestination [20 sz:0 cls: 76289
> | >>> | > | > | UndefinedObject] nil
> | >>> | > | > | timeStamp [14510593 sz:4 cls: 118785 DateTime] a
> | >>> | > | > | DateTime
> | >>> | > | > | userId [14508801 sz:10 cls: 74753 String] SystemUser
> | >>> | > | > | extraDict [14524929 sz:14 cls: 111361 SymbolDictionary]
> | >>> | > | > | a
> | >>> | > | > | SymbolDictionary
> | >>> | > | > | classCategory [20 sz:0 cls: 76289 UndefinedObject] nil
> | >>> | > | > | subclasses [20 sz:0 cls: 76289 UndefinedObject] nil
> | >>> | > | > |
> | >>> | > | > |
> | >>> | > | > | topaz 1> topaz 1> WAFastCGIAdaptor Server started on
> | >>> | > | > | port
> | >>> | > | > | 9001
> | >>> | > | > | -----------------------------------------------------
> | >>> | > | > | GemStone: Error Nonfatal
> | >>> | > | > | The object with object ID 81065894683350528 does not
> | >>> | > | > | exist.
> | >>> | > | > | Error Category: 231169 [GemStone] Number: 2101 Arg
> | >>> | > | > | Count: 1
> | >>> | > | > | Context :
> | >>> | > | > | 526648321
> | >>> | > | > | Arg 1: [648527157466804226 sz:0 cls: 74241
> | >>> | > | > | SmallInteger]
> | >>> | > | > | 81065894683350528
> | >>> | > | > |
> | >>> | > | > |
> | >>> | > | > | Now executing the following command saved from "iferr
> | >>> | > | > | 1":
> | >>> | > | > | where
> | >>> | > | > | ==> 1 GsProcess class >>
> | >>> | > | > | installPartialContinuation:atLevel:value: @2
> | >>> | > | > | line 1 [GsMethod 4487425]
> | >>> | > | > | 2 WAPartialContinuation >> value: @13 line 11 [GsMethod
> | >>> | > | > | 212791041]
> | >>> | > | > | 3 WAPartialContinuation >> valueWithPossibleArguments:
> | >>> | > | > | @2
> | >>> | > | > | line 2
> | >>> | > | > | [GsMethod 218326273]
> | >>> | > | > | 4 ComplexBlock in WAComponent >>
> | >>> | > | > | show:onAnswer:delegation: @7
> | >>> | > | > | line 7
> | >>> | > | > | [GsMethod 194749185]
> | >>> | > | > | 5 ComplexBlock in ExecutableBlock >>
> | >>> | > | > | valueWithPossibleArguments:
> | >>> | > | > | @12
> | >>> | > | > | line 8 [GsMethod 116163585]
> | >>> | > | > | 6 WAAnswerHandler >> handleAnswer:continueWith: @3 line
> | >>> | > | > | 2
> | >>> | > | > | [GsMethod
> | >>> | > | > | 194735873]
> | >>> | > | > | 7 WADecoration >> handleAnswer: @6 line 3 [GsMethod
> | >>> | > | > | 194731009]
> | >>> | > | > | 8 WAComponent >> answer: @2 line 5 [GsMethod 194751745]
> | >>> | > | > |
> | >>> | > | > |
> | >>> | > | > |
> | >>> | > | > |
> | >>> | > | > | I found this on the net:
> | >>> | > | > |
> | >>> | > | > |
> | >>> | > | > |
> | >>> | > | > | Object does not exist errors
> | >>> | > | > | GBS applications may encounter object does not exist
> | >>> | > | > | errors
> | >>> | > | > | in
> | >>> | > | > | non-persistent
> | >>> | > | > | objects. This is due to a problem with the fix for bug
> | >>> | > | > | #40703
> | >>> | > | > | in
> | >>> | > | > | version
> | >>> | > | > | 2.4.4, which resulted in non-persistent objects not
> | >>> | > | > | properly
> | >>> | > | > | protected
> | >>> | > | > | from garbage collection.
> | >>> | > | > |
> | >>> | > | > | Workaround:
> | >>> | > | > |
> | >>> | > | > | none/not applicable
> | >>> | > | > | from:
> | >>> | > | > |
> | >>> | > | > |
> | >>> | > | > |
> | >>> | > | > |
> | >>> | > | > |
> | >>> | > | > |
> | >>> | > | > | http://www.gemstone.com/docs/GemStoneS/bugnotes/bugnotes/40948.html
> | >>> | > | > |
> | >>> | > | > |
> | >>> | > | > |
> | >>> | > | > | So, should I worry about this? I implemented code that
> | >>> | > | > | allowed a
> | >>> | > | > | user
> | >>> | > | > | to call an editor, switch out on the navigation menu,
> | >>> | > | > | call
> | >>> | > | > | another
> | >>> | > | > | editor,
> | >>> | > | > | switch out. With each switch, I send answer: false to
> | >>> | > | > | the
> | >>> | > | > | open
> | >>> | > | > | editor
> | >>> | > | > | to close it so that it is not hanging around open. My
> | >>> | > | > | idea
> | >>> | > | > | was to hide the section navigation when the editor came
> | >>> | > | > | up
> | >>> | > | > | but
> | >>> | > | > | I'm
> | >>> | > | > | getting push back from my user.
> | >>> | > | > |
> | >>> | > | > |
> | >>> | > | > | What do you think?
> | >>> | > | > |
> | >>> | > | > |
> | >>> | > | > | Larry
> | >>> | > | > |
> | >>> | > | > |
> | >>> | > | > |
> | >>> | > | > |
> | >>> | > |
> | >>> | > |
> | >>> |
> | >>> |
> | >>
> | >
> |
> |

Reply | Threaded
Open this post in threaded view
|

Re: Object does not exist error - Worry about it?

Dale Henrichs
Larry,

The C stack dump will tell us where in the vm the error is occurring. If you are doing this in your Staging environment then you can attach the c process with gdb and get the stack dump ... with a live gdb we may want additional info ... the stack dump will be useful to start.

With the smalltalk stack we'll get to look at the objects around the corrupt object and perhaps learn something ...

Right now, I am curious whether the corrupt object is a WAValue or a WADelegation...

Dale

----- Original Message -----
| From: "Lawrence Kellogg" <[hidden email]>
| To: "GemStone Seaside beta discussion" <[hidden email]>
| Sent: Tuesday, February 28, 2012 12:19:33 PM
| Subject: Re: [GS/SS Beta] Object does not exist error - Worry about it?
|
|
| On Feb 28, 2012, at 2:41 PM, Dale Henrichs wrote:
|
| > Larry,
| >
| > Okay, here's the stack that covers the range of the partial
| > continuation:
| >
| > ==> 1 WAComponent >> decoration @3 line 1   [GsMethod 194749441]
| > 2 WAComponent >> addDecoration: @2 line 6   [GsMethod 194748417]
| > 3 WAComponent >> show:onAnswerelegation: @10 line 8   [GsMethod
| > 194749185]
| > 4 WAComponent >> show:onAnswer: @5 line 5   [GsMethod 499699713]
| > 5 WAComponent >> call:onAnswer: @5 line 8   [GsMethod 194750977]
| > 6 ComplexBlock in WAComponent >> call: @3 line 4   [GsMethod
| > 191317249]
| > 7 ComplexBlock in WAComponent >> wait: @3 line 3   [GsMethod
| > 191268353]
| > 8 GRGemStonePlatform >> seasideSuspendFlowDo: @9 line 5   [GsMethod
| > 499655937]
| > 9 WAComponent >> wait: @4 line 3   [GsMethod 191268353]
| > 10 WAComponent >> call: @4 line 4   [GsMethod 191317249]
| > 11 PracticeJournalLoginTask >> go @14 line 9   [GsMethod 371393537]
| > 12 WATask >> execute @1 line 7   [GsMethod 195261697]
| > 13 ComplexBlock in WATaskVisitor >> visitTask: @6 line 4
| >   [GsMethod 194755841]
| >
| > WAComponent >> decoration is the source of the error and it is
| > sending #contents to a 'decoration' of the component ... it's not
| > quite clear whether the decoration iv is the corrupt object or the
| > result of the #contents message send ...
| >
| > To get a better picture of what's happening we need a C stack when
| > the error occurs. If you set
| >
| >  GEM_HALT_ON_ERROR = 2101;
| >
| > in your system.conf file, then when the obj does not exist error
| > occurs the gem will halt, dump a c stack, wait 60 seconds and then
| > shutdown ... This is pretty intrusive, but it will get us a couple
| > steps closer to understanding what's going on.
| >
| > If you (or Johan) can duplicate the error under controlled
| > conditions then you would fire up a topaz manually to service
| > requests and when the halt on error hits, you'll be dropped to the
| > topaz prompt where you can view the smalltalk stack and inspect
| > the objects involved …
| >
|
|   Thanks, Dale. I think I can make it crash in my Staging environment
|   by going through many call/answers invocations. I will try.
| Unfortunately, I don't think I know enough about what Seaside is
| doing at that level to fix the problem. I see that the
| WADecoration is a WAValueHolder but that's about the end of my
| knowledge.
|
|   I guess there is no way of knowing from this stack dump what kind
|   of WADecoration we're talking about.
|
|   Regards,
|
|   Larry
|  
|
| > Dale
| >
| > ----- Original Message -----
| > | From: "Lawrence Kellogg" <[hidden email]>
| > | To: "GemStone Seaside beta discussion"
| > | <[hidden email]>
| > | Sent: Monday, February 27, 2012 7:01:58 PM
| > | Subject: Re: [GS/SS Beta] Object does not exist error - Worry
| > | about it?
| > |
| > |
| > | On Feb 21, 2012, at 2:40 PM, Johan Brichau wrote:
| > |
| > | > fyi, I have been observing occurrences of this bug as well,
| > | > with
| > | > exactly the same point of failure in the stack.
| > | >
| > | > No repository problems or audit warnings.
| > | >
| > | > Funnily, I've never seen this in any stone running Yesplan. The
| > | > stone where we have this problem is also running a Seaside
| > | > application but the only discriminating factor I can observe is
| > | > that this application uses call/answer a lot more (while we
| > | > almost
| > | > never use that in Yesplan). It probably does not help a lot
| > | > finding the error... but I will look up the stack traces and
| > | > post
| > | > them here if they might contain some clues.
| > |
| > | Hello Johan,
| > |   Thanks for looking into this problem. I use call/answer quite a
| > |   bit.
| > |
| > |   Dale, did you see the stack dump I posted?
| > |
| > |   Larry
| > |
| > |
| > | >
| > | > On 21 Feb 2012, at 20:13, Lawrence Kellogg wrote:
| > | >
| > | >>
| > | >> On Feb 21, 2012, at 1:05 PM, Dale Henrichs wrote:
| > | >>
| > | >>> Larry,
| > | >>>
| > | >>> We should try to dig into this one some more.
| > | >>>
| > | >>> To start with what version of Gemstone are you using? If you
| > | >>> are
| > | >>> using 2.4.4.1, then I'm not aware of an issue that would
| > | >>> warrant
| > | >>> an upgrade to 2.4.5, but I will check around a bit...As I
| > | >>> said
| > | >>> before, the only place that I've seen "Obj does not exist
| > | >>> errors" is in 3.0 and those bugs were fixed in 3.0.1.
| > | >>>
| > | >>
| > | >> Dale,
| > | >> Thanks for the help. I would like to get to the bottom of this
| > | >> error. This crash takes down Fastcgi so it kills the service.
| > | >>
| > | >> According to the file in the directory, I'm on 2.4.[ component
| > | >> notNil ]
| > | >> whileTrue: [
| > | >> self call: component.
| > | >> component := component nextComponentToBeDisplayed ] ]4.1
| > | >>
| > | >> GemStone64Bit2.4.4.1-x86_64.Linux
| > | >>
| > | >>
| > | >>
| > | >>
| > | >>> This time we are getting the error while creating the
| > | >>> continuation ... the last episode occurred when you were
| > | >>> trying
| > | >>> to execute from a continuation.
| > | >>>
| > | >>> Could you share the source code for PracticeJournalLoginTask
| > | >>> >>
| > | >>> go? That's the first non-Seaside method on the stack below
| > | >>> the
| > | >>> error, so it's as good a place as any to start …
| > | >>>
| > | >>
| > | >> Here is the complete source code for the go method:  ;-)
| > | >>
| > | >> go
| > | >> | user component |
| > | >> self call: self userLoginView.
| > | >> (self userLoginView user) notNil
| > | >> ifTrue: [
| > | >> component := self firstComponentToDisplayForUser: self
| > | >> userLoginView user.
| > | >> [ component notNil ]
| > | >> whileTrue: [
| > | >> self call: component.
| > | >> component := component nextComponentToBeDisplayed ] ]
| > | >>
| > | >> A component is called, and when another component is selected
| > | >> the
| > | >> current component is sent answer: false and
| > | >> the new component to call is returned from that
| > | >> nextComponentToBeDisplayed method.
| > | >>
| > | >> I used to have an implementation that would give me a huge
| > | >> recursive nesting of continuations, as shown by
| > | >> halo, but this shows everything on just a few levels, although
| > | >> I
| > | >> have to say that the walkback looks deep and gnarly.
| > | >>
| > | >>
| > | >>> It would be useful to see the entire stack as well. The
| > | >>> partial
| > | >>> continuation copies the stack back to a marker method and it
| > | >>> would be useful to examine the source for the methods that
| > | >>> are
| > | >>> on the stck for clues as to what might be going on...
| > | >>>
| > | >>> Dale
| > | >>
| > | >>
| > | >> Here is the complete walk back:
| > | >>
| > | >> topaz 1> topaz 1> WAFastCGIAdaptor Server started on port 9001
| > | >> -----------------------------------------------------
| > | >> GemStone: Error         Nonfatal
| > | >> The object with object ID 76562293713797632 does not exist.
| > | >> Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1
| > | >> Context : 412915713
| > | >> Arg 1: [612498349710381058 sz:0 cls: 74241 SmallInteger]
| > | >> 76562293713797632
| > | >>
| > | >> Now executing the following command saved from "iferr 1":
| > | >>  where
| > | >> ==> 1 WAComponent >> decoration @3 line 1   [GsMethod
| > | >> 194749441]
| > | >> 2 WAComponent >> addDecoration: @2 line 6   [GsMethod
| > | >> 194748417]
| > | >> 3 WAComponent >> show:onAnswer:delegation: @10 line 8
| > | >>   [GsMethod
| > | >> 194749185]
| > | >> 4 WAComponent >> show:onAnswer: @5 line 5   [GsMethod
| > | >> 499699713]
| > | >> 5 WAComponent >> call:onAnswer: @5 line 8   [GsMethod
| > | >> 194750977]
| > | >> 6 ComplexBlock in WAComponent >> call: @3 line 4   [GsMethod
| > | >> 191317249]
| > | >> 7 ComplexBlock in WAComponent >> wait: @3 line 3   [GsMethod
| > | >> 191268353]
| > | >> 8 GRGemStonePlatform >> seasideSuspendFlowDo: @9 line 5
| > | >>   [GsMethod 499655937]
| > | >> 9 WAComponent >> wait: @4 line 3   [GsMethod 191268353]
| > | >> 10 WAComponent >> call: @4 line 4   [GsMethod 191317249]
| > | >> 11 PracticeJournalLoginTask >> go @14 line 9   [GsMethod
| > | >> 371393537]
| > | >> 12 WATask >> execute @1 line 7   [GsMethod 195261697]
| > | >> 13 ComplexBlock in WATaskVisitor >> visitTask: @6 line 4
| > | >>   [GsMethod 194755841]
| > | >> 14 WACallback >> evaluateWithFieldValues: @5 line 2
| > | >>   [GsMethod
| > | >> 177495553]
| > | >> 15 ComplexBlock in WACallbackRegistry >> handle: @16 line 10
| > | >>   [GsMethod 177951489]
| > | >> 16 Collection >> do: @5 line 10   [GsMethod 1547777]
| > | >> 17 WACallbackRegistry >> handle: @17 line 9   [GsMethod
| > | >> 177951489]
| > | >> 18 ComplexBlock in WAActionPhaseContinuation >> runCallbacks
| > | >> @7
| > | >> line 4   [GsMethod 202613505]
| > | >> 19 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| > | >> 10065409]
| > | >> 20 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| > | >> 10062081]
| > | >> 21 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| > | >>   [GsMethod
| > | >> 9005057]
| > | >> 22 WARenderLoopContinuation >> withNotificationHandlerDo: @3
| > | >> line
| > | >> 2   [GsMethod 202608385]
| > | >> 23 ComplexVCBlock in WAActionPhaseContinuation >> runCallbacks
| > | >> @8
| > | >> line 3   [GsMethod 202613505]
| > | >> 24 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| > | >>   [GsMethod 2304001]
| > | >> 25 ComplexVCBlock in ExecutableBlock >> ensure: @6 line 11
| > | >>   [GsMethod 2304001]
| > | >> 26 WAActionPhaseContinuation >> runCallbacks @18 line 6
| > | >>   [GsMethod 202613505]
| > | >> 27 WAActionPhaseContinuation >> handleRequest @1 line 2
| > | >>   [GsMethod 202614017]
| > | >> 28 ComplexBlock in WASessionContinuation >> basicValue @3 line
| > | >> 2
| > | >>   [GsMethod 202625537]
| > | >> 29 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| > | >> 10065409]
| > | >> 30 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| > | >> 10062081]
| > | >> 31 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| > | >>   [GsMethod
| > | >> 9005057]
| > | >> 32 WASessionContinuation >> withUnregisteredHandlerDo: @7 line
| > | >> 3
| > | >>   [GsMethod 202627073]
| > | >> 33 WASessionContinuation >> basicValue @4 line 2   [GsMethod
| > | >> 202625537]
| > | >> 34 WASessionContinuation >> value @3 line 5   [GsMethod
| > | >> 202623745]
| > | >> 35 WASession >> handleFiltered: @14 line 10   [GsMethod
| > | >> 202205441]
| > | >> 36 WARequestFilter >> handleFiltered: @2 line 4   [GsMethod
| > | >> 176192513]
| > | >> 37 ComplexBlock in WADeprecatedToolFilter >> handleFiltered:
| > | >> @3
| > | >> line 2   [GsMethod 203213313]
| > | >> 38 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| > | >> 10065409]
| > | >> 39 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| > | >> 10062081]
| > | >> 40 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| > | >>   [GsMethod
| > | >> 9005057]
| > | >> 41 WADeprecatedToolFilter >> handleFiltered: @6 line 3
| > | >>   [GsMethod
| > | >> 203213313]
| > | >> 42 WARequestFilter >> handleFiltered: @2 line 4   [GsMethod
| > | >> 176192513]
| > | >> 43 ComplexBlock in WATimingToolFilter >> handleFiltered: @4
| > | >> line 3
| > | >>   [GsMethod 203208449]
| > | >> 44 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| > | >>   [GsMethod 2304001]
| > | >> 45 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
| > | >>   [GsMethod 2304001]
| > | >> 46 WATimingToolFilter >> handleFiltered: @8 line 4   [GsMethod
| > | >> 203208449]
| > | >> 47 ComplexBlock in WARequestHandler >> handle: @4 line 4
| > | >>   [GsMethod 178568961]
| > | >> 48 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| > | >> 10065409]
| > | >> 49 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| > | >> 10062081]
| > | >> 50 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| > | >>   [GsMethod
| > | >> 9005057]
| > | >> 51 WADynamicVariable class >> use:during: @4 line 4
| > | >>   [GsMethod
| > | >> 177805825]
| > | >> 52 ComplexBlock in WARequestContext >> push:during: @4 line 5
| > | >>   [GsMethod 176176129]
| > | >> 53 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| > | >>   [GsMethod 2304001]
| > | >> 54 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
| > | >>   [GsMethod 2304001]
| > | >> 55 WARequestContext >> push:during: @7 line 6   [GsMethod
| > | >> 176176129]
| > | >> 56 WARequestHandler >> handle: @5 line 4   [GsMethod
| > | >> 178568961]
| > | >> 57 WASession >> handle: @10 line 11   [GsMethod 202210561]
| > | >> 58 WARegistry >> dispatch:to: @1 line 5   [GsMethod 176153857]
| > | >> 59 WARegistry >> handleKeyed:with: @2 line 5   [GsMethod
| > | >> 176155137]
| > | >> 60 WARegistry >> handleFiltered: @33 line 19   [GsMethod
| > | >> 176146945]
| > | >> 61 WAApplication >> handleFiltered: @9 line 8   [GsMethod
| > | >> 202644225]
| > | >> 62 WARequestFilter >> handleFiltered: @2 line 4   [GsMethod
| > | >> 176192513]
| > | >> 63 ComplexBlock in WAExceptionFilter >> handleFiltered: @6
| > | >> line 7
| > | >>   [GsMethod 499529473]
| > | >> 64 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| > | >> 10065409]
| > | >> 65 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| > | >> 10062081]
| > | >> 66 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| > | >>   [GsMethod
| > | >> 9005057]
| > | >> 67 WADynamicVariable class >> use:during: @4 line 4
| > | >>   [GsMethod
| > | >> 177805825]
| > | >> 68 ComplexVCBlock in WAExceptionFilter >> handleFiltered: @7
| > | >> line
| > | >> 6   [GsMethod 499529473]
| > | >> 69 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| > | >> 10065409]
| > | >> 70 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| > | >> 10062081]
| > | >> 71 ComplexVCBlock in ExecutableBlock >> on:do: @2 line 8
| > | >>   [GsMethod 9005057]
| > | >> 72 WAExceptionHandler >> handleExceptionsDuring: @8 line 3
| > | >>   [GsMethod 177803521]
| > | >> 73 WAExceptionFilter >> handleFiltered: @8 line 4   [GsMethod
| > | >> 499529473]
| > | >> 74 ComplexBlock in WARequestHandler >> handle: @4 line 4
| > | >>   [GsMethod 178568961]
| > | >> 75 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| > | >> 10065409]
| > | >> 76 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| > | >> 10062081]
| > | >> 77 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| > | >>   [GsMethod
| > | >> 9005057]
| > | >> 78 WADynamicVariable class >> use:during: @4 line 4
| > | >>   [GsMethod
| > | >> 177805825]
| > | >> 79 ComplexBlock in WARequestContext >> push:during: @4 line 5
| > | >>   [GsMethod 176176129]
| > | >> 80 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| > | >>   [GsMethod 2304001]
| > | >> 81 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
| > | >>   [GsMethod 2304001]
| > | >> 82 WARequestContext >> push:during: @7 line 6   [GsMethod
| > | >> 176176129]
| > | >> 83 WARequestHandler >> handle: @5 line 4   [GsMethod
| > | >> 178568961]
| > | >> 84 WADispatcher >> handleFiltered:named: @7 line 5   [GsMethod
| > | >> 179090945]
| > | >> 85 WADispatcher >> handleFiltered: @7 line 6   [GsMethod
| > | >> 179087617]
| > | >> 86 ComplexBlock in WARequestHandler >> handle: @4 line 4
| > | >>   [GsMethod 178568961]
| > | >> 87 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| > | >> 10065409]
| > | >> 88 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| > | >> 10062081]
| > | >> 89 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| > | >>   [GsMethod
| > | >> 9005057]
| > | >> 90 WADynamicVariable class >> use:during: @4 line 4
| > | >>   [GsMethod
| > | >> 177805825]
| > | >> 91 ComplexBlock in WARequestContext >> push:during: @4 line 5
| > | >>   [GsMethod 176176129]
| > | >> 92 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| > | >>   [GsMethod 2304001]
| > | >> 93 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
| > | >>   [GsMethod 2304001]
| > | >> 94 WARequestContext >> push:during: @7 line 6   [GsMethod
| > | >> 176176129]
| > | >> 95 WARequestHandler >> handle: @5 line 4   [GsMethod
| > | >> 178568961]
| > | >> 96 ComplexBlock in WAServerAdaptor >> handleRequest: @4 line 4
| > | >>   [GsMethod 176816641]
| > | >> 97 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| > | >> 10065409]
| > | >> 98 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| > | >> 10062081]
| > | >> 99 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| > | >>   [GsMethod
| > | >> 9005057]
| > | >> 100 WAServerAdaptor >> handleRequest: @6 line 5   [GsMethod
| > | >> 176816641]
| > | >> 101 WAServerAdaptor >> handle: @1 line 4   [GsMethod
| > | >> 176817921]
| > | >> 102 ComplexBlock in WAServerAdaptor >> process: @5 line 6
| > | >>   [GsMethod 176817153]
| > | >> 103 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| > | >>   [GsMethod 2304001]
| > | >> 104 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
| > | >>   [GsMethod 2304001]
| > | >> 105 WAServerAdaptor >> process: @9 line 7   [GsMethod
| > | >> 176817153]
| > | >> 106 ComplexBlock in WAFastCGIAdaptor >> process: @3 line 6
| > | >>   [GsMethod 212442369]
| > | >> 107 ComplexBlock in GRGemStonePlatform >>
| > | >> seasideProcessRequestWithRetry:resultBlock: @12 line 11
| > | >>   [GsMethod 175179265]
| > | >> 108 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| > | >> 10065409]
| > | >> 109 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| > | >> 10062081]
| > | >> 110 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| > | >>   [GsMethod 9005057]
| > | >> 111 ComplexVCBlock in GRGemStonePlatform >>
| > | >> seasideProcessRequestWithRetry:resultBlock: @18 line 12
| > | >>   [GsMethod 175179265]
| > | >> 112 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| > | >>   [GsMethod 2304001]
| > | >> 113 ComplexVCBlock in ExecutableBlock >> ensure: @6 line 11
| > | >>   [GsMethod 2304001]
| > | >> 114 TransientRecursionLock >> critical: @15 line 8   [GsMethod
| > | >> 21159937]
| > | >> 115 GRGemStonePlatform >>
| > | >> seasideProcessRequestWithRetry:resultBlock: @39 line 5
| > | >>   [GsMethod 175179265]
| > | >> 116 ComplexBlock in GRGemStonePlatform >>
| > | >> seasideProcessRequest:adaptor:resultBlock: @7 line 9
| > | >>   [GsMethod
| > | >> 175179521]
| > | >> 117 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| > | >> 10065409]
| > | >> 118 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| > | >> 10062081]
| > | >> 119 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| > | >>   [GsMethod 9005057]
| > | >> 120 GRGemStonePlatform >>
| > | >> seasideProcessRequest:adaptor:resultBlock: @32 line 17
| > | >>   [GsMethod 175179521]
| > | >> 121 WAFastCGIAdaptor >> process: @4 line 4   [GsMethod
| > | >> 212442369]
| > | >> 122 ComplexBlock in WAFastCGIAdaptor >> answerResponderRole:
| > | >> @3
| > | >> line 4   [GsMethod 212444161]
| > | >> 123 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| > | >> 10065409]
| > | >> 124 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| > | >> 10062081]
| > | >> 125 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| > | >>   [GsMethod 9005057]
| > | >> 126 WAFastCGIAdaptor >> answerResponderRole: @9 line 5
| > | >>   [GsMethod
| > | >> 212444161]
| > | >> 127 FSResponderRole >> answer @2 line 4   [GsMethod 218695937]
| > | >> 128 FSRole >> handleConnection @3 line 5   [GsMethod
| > | >> 218705409]
| > | >> 129 FSConnection >> unsafeServe @4 line 8   [GsMethod
| > | >> 219646465]
| > | >> 130 ComplexBlock in FSConnection >> safeServe @5 line 8
| > | >>   [GsMethod 499288833]
| > | >> 131 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| > | >> 10065409]
| > | >> 132 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| > | >> 10062081]
| > | >> 133 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| > | >>   [GsMethod 9005057]
| > | >> 134 ComplexVCBlock in FSConnection >> safeServe @8 line 9
| > | >>   [GsMethod 499288833]
| > | >> 135 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| > | >> 10065409]
| > | >> 136 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| > | >> 10062081]
| > | >> 137 ComplexVCBlock in ExecutableBlock >> on:do: @2 line 8
| > | >>   [GsMethod 9005057]
| > | >> 138 ComplexVCBlock in FSConnection >> safeServe @11 line 12
| > | >>   [GsMethod 499288833]
| > | >> 139 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| > | >>   [GsMethod 2304001]
| > | >> 140 ComplexVCBlock in ExecutableBlock >> ensure: @6 line 11
| > | >>   [GsMethod 2304001]
| > | >> 141 FSConnection >> safeServe @14 line 15   [GsMethod
| > | >> 499288833]
| > | >> 142 FSConnection >> serve @1 line 4   [GsMethod 219654145]
| > | >> 143 ComplexBlock in FSSocketServer >> listen: @9 line 15
| > | >>   [GsMethod 219292673]
| > | >> 144 GsProcess >> _startPart2 @15 line 17   [GsMethod 4501249]
| > | >> 145 GsProcess >> _start @1 line 9   [GsMethod 4501761]
| > | >> [GsProcess 412915713]
| > | >> topaz 1> [268 sz:0 cls: 68097 Boolean] true
| > | >> topaz 1>
| > | >> HostCallDebugger: invoked at: Mon Feb 20 16:38:18 UTC 2012
| > | >>
| > | >> UTL_GUARANTEE failed, File
| > | >> /export/toronto3/users/buildgss/244x-1/src/omverify.c line 28
| > | >>
| > | >> Begin attempt to print C-level stack at: Mon Feb 20 16:38:18
| > | >> UTC
| > | >> 2012
| > | >>
| > | >>
| > | >> End of C-level stack:
| > | >>
| > | >>
| > | >> hostcalldebugger invoked in process 6550, at 02/20/2012
| > | >> 04:38:18
| > | >> PM.681 UTC
| > | >> notifying stone of fatal error
| > | >>
| > | >> [Info]: Logging out at 02/20/2012 04:38:18 PM UTC
| > | >>
| > | >>
| > | >>
| > | >>>
| > | >>> ----- Original Message -----
| > | >>> | From: "Lawrence Kellogg" <[hidden email]>
| > | >>> | To: "GemStone Seaside beta discussion"
| > | >>> | <[hidden email]>
| > | >>> | Sent: Monday, February 20, 2012 8:48:22 AM
| > | >>> | Subject: Re: [GS/SS Beta] Object does not exist error -
| > | >>> | Worry
| > | >>> | about it?
| > | >>> |
| > | >>> | Hello Dale,
| > | >>> |   Well, my system has been up for days, running with no
| > | >>> |   problems, not
| > | >>> |   that it has been getting a lot of traffic, but still, no
| > | >>> |   crashes.
| > | >>> |   Today, I hit the Object does not exist error again. I
| > | >>> |   guess I
| > | >>> |   can
| > | >>> |   do another object audit but, other than that, I'm not
| > | >>> |   sure
| > | >>> |   how to
| > | >>> |   proceed. Do you think an upgrade to 2.4.5 will help me?
| > | >>> |
| > | >>> |   Here is the walkback:
| > | >>> |
| > | >>> | topaz 1> topaz 1> WAFastCGIAdaptor Server started on port
| > | >>> | 9001
| > | >>> | -----------------------------------------------------
| > | >>> | GemStone: Error         Nonfatal
| > | >>> | The object with object ID 76562293713797632 does not exist.
| > | >>> | Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1
| > | >>> | Context :
| > | >>> | 412915713
| > | >>> | Arg 1: [612498349710381058 sz:0 cls: 74241 SmallInteger]
| > | >>> | 76562293713797632
| > | >>> |
| > | >>> | Now executing the following command saved from "iferr 1":
| > | >>> |    where
| > | >>> | ==> 1 WAComponent >> decoration @3 line 1   [GsMethod
| > | >>> | 194749441]
| > | >>> | 2 WAComponent >> addDecoration: @2 line 6   [GsMethod
| > | >>> | 194748417]
| > | >>> | 3 WAComponent >> show:onAnswer:delegation: @10 line 8
| > | >>> |   [GsMethod
| > | >>> | 194749185]
| > | >>> | 4 WAComponent >> show:onAnswer: @5 line 5   [GsMethod
| > | >>> | 499699713]
| > | >>> | 5 WAComponent >> call:onAnswer: @5 line 8   [GsMethod
| > | >>> | 194750977]
| > | >>> | 6 ComplexBlock in WAComponent >> call: @3 line 4
| > | >>> |   [GsMethod
| > | >>> | 191317249]
| > | >>> | 7 ComplexBlock in WAComponent >> wait: @3 line 3
| > | >>> |   [GsMethod
| > | >>> | 191268353]
| > | >>> | 8 GRGemStonePlatform >> seasideSuspendFlowDo: @9 line 5
| > | >>> |   [GsMethod
| > | >>> | 499655937]
| > | >>> | 9 WAComponent >> wait: @4 line 3   [GsMethod 191268353]
| > | >>> | 10 WAComponent >> call: @4 line 4   [GsMethod 191317249]
| > | >>> | 11 PracticeJournalLoginTask >> go @14 line 9   [GsMethod
| > | >>> | 371393537]
| > | >>> |
| > | >>> |
| > | >>> | Larry
| > | >>> |
| > | >>> | On Feb 11, 2012, at 2:34 PM, Dale Henrichs wrote:
| > | >>> |
| > | >>> | > Larry,
| > | >>> | >
| > | >>> | > Yes, everything looks clean, I'm a little bit surprised
| > | >>> | > that
| > | >>> | > you
| > | >>> | > didn't find the original error in you first audit, but
| > | >>> | > the
| > | >>> | > implication is that the "corrupt object" never got
| > | >>> | > persisted
| > | >>> | > ...
| > | >>> | > indicating some other type of corruption ...
| > | >>> | >
| > | >>> | > A clean object audit means that your data base has no
| > | >>> | > corruption so
| > | >>> | > you're good to go ... I'll talk to some guys on Monday
| > | >>> | > and
| > | >>> | > see if
| > | >>> | > they have some ideas as to what might have
| > | >>> | > happened...there's
| > | >>> | > a
| > | >>> | > bug in there somewhere, but for now it looks like it is
| > | >>> | > isolated
| > | >>> | > to the local state in a gem ...
| > | >>> | >
| > | >>> | > Dale
| > | >>> | >
| > | >>> | > ----- Original Message -----
| > | >>> | > | From: "Lawrence Kellogg" <[hidden email]>
| > | >>> | > | To: "GemStone Seaside beta discussion"
| > | >>> | > | <[hidden email]>
| > | >>> | > | Sent: Saturday, February 11, 2012 4:18:06 AM
| > | >>> | > | Subject: Re: [GS/SS Beta] Object does not exist error -
| > | >>> | > | Worry
| > | >>> | > | about it?
| > | >>> | > |
| > | >>> | > |
| > | >>> | > | On Feb 10, 2012, at 7:04 PM, Dale Henrichs wrote:
| > | >>> | > |
| > | >>> | > | > Larry,
| > | >>> | > | >
| > | >>> | > | > Object does not exist errors are not good things ...
| > | >>> | > | > and
| > | >>> | > | > the
| > | >>> | > | > gem
| > | >>> | > | > coming down in this case is probably a good thing ...
| > | >>> | > | > The
| > | >>> | > | > fact
| > | >>> | > | > that the problem is showing up in a GsProcess means
| > | >>> | > | > that
| > | >>> | > | > the
| > | >>> | > | > Seaside session data structures are corrupted but not
| > | >>> | > | > your
| > | >>> | > | > model
| > | >>> | > | > data ...
| > | >>> | > | >
| > | >>> | > | > You can check for corruption in your data base by
| > | >>> | > | > running
| > | >>> | > | > an
| > | >>> | > | > object
| > | >>> | > | > audit (see section 8.2 of the System Administration
| > | >>> | > | > Guide[1]).
| > | >>> | > | > If
| > | >>> | > | > you follow these steps you own't need to run the
| > | >>> | > | > object
| > | >>> | > | > audit
| > | >>> | > | > as
| > | >>> | > | > single user (see the docs):
| > | >>> | > | >
| > | >>> | > | >  - expire sessions
| > | >>> | > | >  - mfc
| > | >>> | > | >  - reclaimAll
| > | >>> | > | >  - object audit
| > | >>> | > | >
| > | >>> | > |
| > | >>> | > | Hello Dale,
| > | >>> | > |   Ok, I ran:
| > | >>> | > |
| > | >>> | > | System stopUserSessions
| > | >>> | > | SystemRepository objectAudit
| > | >>> | > | SystemRepository markForCollection
| > | >>> | > | SystemRepository reclaimAll
| > | >>> | > | SystemRepository objectAudit
| > | >>> | > |
| > | >>> | > | I don't see any errors. Here is my log. What do you
| > | >>> | > | make of
| > | >>> | > | it?
| > | >>> | > |
| > | >>> | > | Larry
| > | >>> | > |
| > | >>> | > |
| > | >>> | > | [Info]: Login Time: 02/11/2012 12:06:22 PM.972 UTC
| > | >>> | > | [02/11/2012 12:06:23 PM.001 UTC] gci login: currSession
| > | >>> | > | 1
| > | >>> | > | rpc gem
| > | >>> | > | processId -1
| > | >>> | > | successful login
| > | >>> | > | topaz 1> printit
| > | >>> | > | System hasMissingGcGems
| > | >>> | > | %
| > | >>> | > | false
| > | >>> | > | topaz 1> printit
| > | >>> | > | System stopUserSessions
| > | >>> | > | %
| > | >>> | > | System class
| > | >>> | > |   superClass      Object class
| > | >>> | > |   format          32
| > | >>> | > |   instVars        0
| > | >>> | > |   instVarNames    an Array
| > | >>> | > |   constraints     an Array
| > | >>> | > |   classVars       a SymbolDictionary
| > | >>> | > |   methodDict      a GsMethodDictionary
| > | >>> | > |   poolDictionaries an Array
| > | >>> | > |   categories      a GsMethodDictionary
| > | >>> | > |   secondarySuperclasses nil
| > | >>> | > |   name            System
| > | >>> | > |   classHistory    a ClassHistory
| > | >>> | > |   description     a GsClassDocumentation
| > | >>> | > |   migrationDestination nil
| > | >>> | > |   timeStamp       a DateTime
| > | >>> | > |   userId          SystemUser
| > | >>> | > |   extraDict       a SymbolDictionary
| > | >>> | > |   classCategory   nil
| > | >>> | > |   subclasses      nil
| > | >>> | > |
| > | >>> | > | topaz 1> printit
| > | >>> | > | SystemRepository objectAudit
| > | >>> | > | %
| > | >>> | > | --reclaimAll: changed StnSignalAbortCrBacklog from 20
| > | >>> | > | to 3
| > | >>> | > | --setGcConfig: set reclaimMinPages to 1
| > | >>> | > | --reclaimAll: changed reclaimMinPages from 40 to 1
| > | >>> | > | --setGcConfig: set reclaimSleepTime to 1
| > | >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| > | >>> | > | --reclaimAll: using reclaimDeadEnabled true
| > | >>> | > | --reclaimAll: simpleCommit loopCount 10
| > | >>> | > | 02/11/2012 12:07:41 PM.070 UTC: Starting object table
| > | >>> | > | scan
| > | >>> | > | 02/11/2012 12:07:41 PM.698 UTC: Finished object table
| > | >>> | > | scan
| > | >>> | > |
| > | >>> | > | Object audit is proceeding in FullAudit mode:
| > | >>> | > | Scavenging completed (either single user mode or no
| > | >>> | > | pages
| > | >>> | > | to
| > | >>> | > | scavenge).
| > | >>> | > | All audit checks are enabled.
| > | >>> | > |
| > | >>> | > | Object audit as of 02/11/2012 12:07:41 PM UTC.
| > | >>> | > | Summary of objects whose sizes exceed 100000 Bytes or
| > | >>> | > | Oops:
| > | >>> | > |
| > | >>> | > |   ObjectID        Class     ClassName
| > | >>> | > |                                  LogicalSize
| > | >>> | > | --------------------------------------------------------------------------------------------------------------
| > | >>> | > |     305743617         74753 String
| > | >>> | > |                                          134740 Oops
| > | >>> | > |     149534721         74753 String
| > | >>> | > |                                          164661 Oops
| > | >>> | > |     173784833         74753 String
| > | >>> | > |                                          163312 Oops
| > | >>> | > |     196368897         74753 String
| > | >>> | > |                                          164661 Oops
| > | >>> | > |     305774593         74753 String
| > | >>> | > |                                          134740 Oops
| > | >>> | > |     175519489         74753 String
| > | >>> | > |                                          376305 Oops
| > | >>> | > |     196571393         74753 String
| > | >>> | > |                                          379399 Oops
| > | >>> | > |     175494145         74753 String
| > | >>> | > |                                          201874 Oops
| > | >>> | > |     197005569         74753 String
| > | >>> | > |                                          202074 Oops
| > | >>> | > |     149996289         74753 String
| > | >>> | > |                                          236426 Oops
| > | >>> | > |     151722753         74753 String
| > | >>> | > |                                          379399 Oops
| > | >>> | > |     151723777         74753 String
| > | >>> | > |                                          202074 Oops
| > | >>> | > |     274619393         74753 String
| > | >>> | > |                                         1170577 Oops
| > | >>> | > |     265139713         74753 String
| > | >>> | > |                                         1170577 Oops
| > | >>> | > |     215910913         66817 Array
| > | >>> | > |                                           331214 Oops
| > | >>> | > |     164965121         74753 String
| > | >>> | > |                                          236201 Oops
| > | >>> | > |     197155585         74753 String
| > | >>> | > |                                          236426 Oops
| > | >>> | > |     271373057         74753 String
| > | >>> | > |                                         1170577 Oops
| > | >>> | > |     268426753         74753 String
| > | >>> | > |                                          134740 Oops
| > | >>> | > |     264103681         74753 String
| > | >>> | > |                                         1170577 Oops
| > | >>> | > |
| > | >>> | > | ----------- Object Statistics Summary -----------------
| > | >>> | > |
| > | >>> | > | ----- Instances of invisible (private) classes ------
| > | >>> | > |    Number of instances:         1072
| > | >>> | > |             Total size:        15855 K Bytes
| > | >>> | > |           Average size:         14.8 Bytes
| > | >>> | > |
| > | >>> | > |           Class:       209153 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       209409 Instances:         1072
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                  15855 K Bytes
| > | >>> | > |           Class:       209665 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       209921 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       210177 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       210433 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       210689 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       210945 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       211201 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       211457 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       211713 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       211969 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       212225 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       212481 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       212737 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       212993 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       213249 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       213505 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       213761 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |
| > | >>> | > |
| > | >>> | > | ----- Instances of visible classes -----------------
| > | >>> | > |    Number of objects      :      1633432
| > | >>> | > |    Total Size             :       157861 K Bytes
| > | >>> | > |    size of Object Headers :        38283 K Bytes
| > | >>> | > |    size of Object Values  :       116978 K Bytes
| > | >>> | > |    size of Object Tags    :            0 K Bytes
| > | >>> | > |    average of Object Value:         73.3 Bytes
| > | >>> | > |
| > | >>> | > | Object Audit: Audit successfully completed; no errors
| > | >>> | > | were
| > | >>> | > | detected.
| > | >>> | > | --setGcConfig: set reclaimMinPages to 40
| > | >>> | > | --setGcConfig: set reclaimSleepTime to 10
| > | >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| > | >>> | > | --postReclaimAll: restored reclaimMinPages to 40
| > | >>> | > | true
| > | >>> | > | topaz 1> printit
| > | >>> | > | SystemRepository markForCollection
| > | >>> | > | %
| > | >>> | > | start MFC mark/sweep phase: 02/11/2012 12:08:56 PM UTC
| > | >>> | > | WARNING, unable to resolve either
| > | >>> | > | garMarkSweepPageBufSize
| > | >>> | > | or
| > | >>> | > | mfcGcPageBufSize, using default 320
| > | >>> | > | MarkSweepArgsSType::(): buffer size= 320 pages
| > | >>> | > | start MFC process dead phase: 02/11/2012 12:08:59 PM
| > | >>> | > | UTC
| > | >>> | > | end MFC: 02/11/2012 12:08:59 PM UTC
| > | >>> | > | Successful completion of markForCollection.
| > | >>> | > |     1613875 live objects found.
| > | >>> | > |     20629 possible dead objects, occupying
| > | >>> | > |     approximately
| > | >>> | > |     1856610
| > | >>> | > |     bytes, may be reclaimed.
| > | >>> | > | topaz 1> printit
| > | >>> | > | SystemRepository reclaimAll
| > | >>> | > | %
| > | >>> | > | --reclaimAll: changed StnSignalAbortCrBacklog from 20
| > | >>> | > | to 3
| > | >>> | > | --setGcConfig: set reclaimMinPages to 1
| > | >>> | > | --reclaimAll: changed reclaimMinPages from 40 to 1
| > | >>> | > | --setGcConfig: set reclaimSleepTime to 1
| > | >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| > | >>> | > | --reclaimAll: using reclaimDeadEnabled true
| > | >>> | > | --reclaimAll: simpleCommit loopCount 10
| > | >>> | > | an Array
| > | >>> | > |   #1 40
| > | >>> | > |   #2 10
| > | >>> | > |   #3 0
| > | >>> | > |
| > | >>> | > | topaz 1> printit
| > | >>> | > | SystemRepository objectAudit
| > | >>> | > | %
| > | >>> | > | --reclaimAll: changed StnSignalAbortCrBacklog from 20
| > | >>> | > | to 3
| > | >>> | > | --setGcConfig: set reclaimMinPages to 1
| > | >>> | > | --reclaimAll: changed reclaimMinPages from 1 to 1
| > | >>> | > | --setGcConfig: set reclaimSleepTime to 1
| > | >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| > | >>> | > | --reclaimAll: using reclaimDeadEnabled true
| > | >>> | > | 02/11/2012 12:11:27 PM.328 UTC: Starting object table
| > | >>> | > | scan
| > | >>> | > | 02/11/2012 12:11:27 PM.921 UTC: Finished object table
| > | >>> | > | scan
| > | >>> | > |
| > | >>> | > | Object audit is proceeding in FullAudit mode:
| > | >>> | > | Scavenging completed (either single user mode or no
| > | >>> | > | pages
| > | >>> | > | to
| > | >>> | > | scavenge).
| > | >>> | > | All audit checks are enabled.
| > | >>> | > |
| > | >>> | > | Object audit as of 02/11/2012 12:11:27 PM UTC.
| > | >>> | > | Summary of objects whose sizes exceed 100000 Bytes or
| > | >>> | > | Oops:
| > | >>> | > |
| > | >>> | > |   ObjectID        Class     ClassName
| > | >>> | > |                                  LogicalSize
| > | >>> | > | --------------------------------------------------------------------------------------------------------------
| > | >>> | > |     305743617         74753 String
| > | >>> | > |                                          134740 Oops
| > | >>> | > |     149534721         74753 String
| > | >>> | > |                                          164661 Oops
| > | >>> | > |     173784833         74753 String
| > | >>> | > |                                          163312 Oops
| > | >>> | > |     196368897         74753 String
| > | >>> | > |                                          164661 Oops
| > | >>> | > |     305774593         74753 String
| > | >>> | > |                                          134740 Oops
| > | >>> | > |     175519489         74753 String
| > | >>> | > |                                          376305 Oops
| > | >>> | > |     196571393         74753 String
| > | >>> | > |                                          379399 Oops
| > | >>> | > |     175494145         74753 String
| > | >>> | > |                                          201874 Oops
| > | >>> | > |     197005569         74753 String
| > | >>> | > |                                          202074 Oops
| > | >>> | > |     149996289         74753 String
| > | >>> | > |                                          236426 Oops
| > | >>> | > |     151722753         74753 String
| > | >>> | > |                                          379399 Oops
| > | >>> | > |     151723777         74753 String
| > | >>> | > |                                          202074 Oops
| > | >>> | > |     274619393         74753 String
| > | >>> | > |                                         1170577 Oops
| > | >>> | > |     265139713         74753 String
| > | >>> | > |                                         1170577 Oops
| > | >>> | > |     215910913         66817 Array
| > | >>> | > |                                           331214 Oops
| > | >>> | > |     164965121         74753 String
| > | >>> | > |                                          236201 Oops
| > | >>> | > |     197155585         74753 String
| > | >>> | > |                                          236426 Oops
| > | >>> | > |     271373057         74753 String
| > | >>> | > |                                         1170577 Oops
| > | >>> | > |     268426753         74753 String
| > | >>> | > |                                          134740 Oops
| > | >>> | > |     264103681         74753 String
| > | >>> | > |                                         1170577 Oops
| > | >>> | > |
| > | >>> | > | ----------- Object Statistics Summary -----------------
| > | >>> | > |
| > | >>> | > | ----- Instances of invisible (private) classes ------
| > | >>> | > |    Number of instances:         1072
| > | >>> | > |             Total size:        15855 K Bytes
| > | >>> | > |           Average size:         14.8 Bytes
| > | >>> | > |
| > | >>> | > |           Class:       209153 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       209409 Instances:         1072
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                  15855 K Bytes
| > | >>> | > |           Class:       209665 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       209921 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       210177 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       210433 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       210689 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       210945 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       211201 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       211457 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       211713 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       211969 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       212225 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       212481 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       212737 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       212993 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       213249 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       213505 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |           Class:       213761 Instances:            0
| > | >>> | > |           Total
| > | >>> | > |           Size:
| > | >>> | > |                      0 K Bytes
| > | >>> | > |
| > | >>> | > |
| > | >>> | > | ----- Instances of visible classes -----------------
| > | >>> | > |    Number of objects      :      1612803
| > | >>> | > |    Total Size             :       156912 K Bytes
| > | >>> | > |    size of Object Headers :        37800 K Bytes
| > | >>> | > |    size of Object Values  :       116516 K Bytes
| > | >>> | > |    size of Object Tags    :            0 K Bytes
| > | >>> | > |    average of Object Value:         74.0 Bytes
| > | >>> | > |
| > | >>> | > | Object Audit: Audit successfully completed; no errors
| > | >>> | > | were
| > | >>> | > | detected.
| > | >>> | > | --setGcConfig: set reclaimMinPages to 1
| > | >>> | > | --setGcConfig: set reclaimSleepTime to 1
| > | >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| > | >>> | > | --postReclaimAll: restored reclaimMinPages to 1
| > | >>> | > | true
| > | >>> | > | topaz 1>
| > | >>> | > | topaz 1>
| > | >>> | > |
| > | >>> | > |
| > | >>> | > | > If, as I suspect, you've got corruption in GsProcess
| > | >>> | > | > objects
| > | >>> | > | > they
| > | >>> | > | > only impact Seaside session state, and should have
| > | >>> | > | > disappeared
| > | >>> | > | > by
| > | >>> | > | > the time you run the object audit ...
| > | >>> | > | >
| > | >>> | > | > This problems seems to ring a bell, but it seems to
| > | >>> | > | > me
| > | >>> | > | > that the
| > | >>> | > | > problem I am thinking of showed up in GemStone 3.0
| > | >>> | > | > and I
| > | >>> | > | > think
| > | >>> | > | > it
| > | >>> | > | > was fixed in GemStone 3.0.1... so I'm curious what
| > | >>> | > | > version of
| > | >>> | > | > GemStone you are using.
| > | >>> | > | >
| > | >>> | > | > As I think about this, I seem to recall that the
| > | >>> | > | > problem
| > | >>> | > | > was
| > | >>> | > | > related to deeply nested block structure in a method
| > | >>> | > | > that
| > | >>> | > | > was
| > | >>> | > | > involved in partial continuations, so I am curious if
| > | >>> | > | > you
| > | >>> | > | > happen
| > | >>> | > | > to have some deeply nested block structures let's say
| > | >>> | > | > more than
| > | >>> | > | > 5
| > | >>> | > | > or 6 levels deep in your method? In fact even in
| > | >>> | > | > 3.0.1 I
| > | >>> | > | > think
| > | >>> | > | > that there might be an effective limit (the engineer
| > | >>> | > | > that
| > | >>> | > | > worked
| > | >>> | > | > on this will be back on Monday for exact details), so
| > | >>> | > | > if
| > | >>> | > | > you
| > | >>> | > | > are
| > | >>> | > | > running with 3.0.1, you should definitely be
| > | >>> | > | > suspicious
| > | >>> | > | > of deep
| > | >>> | > | > nesting of blocks...
| > | >>> | > | >
| > | >>> | > | > Dale
| > | >>> | > | >
| > | >>> | > | > [1]
| > | >>> | > | > http://community.gemstone.com/display/GSS64/GemStoneS+64+Documentation
| > | >>> | > | >
| > | >>> | > | > ----- Original Message -----
| > | >>> | > | > | From: "Lawrence Kellogg" <[hidden email]>
| > | >>> | > | > | To: "GemStone Seaside beta discussion"
| > | >>> | > | > | <[hidden email]>
| > | >>> | > | > | Sent: Friday, February 10, 2012 2:13:15 PM
| > | >>> | > | > | Subject: [GS/SS Beta] Object does not exist error -
| > | >>> | > | > | Worry
| > | >>> | > | > | about
| > | >>> | > | > | it?
| > | >>> | > | > |
| > | >>> | > | > |
| > | >>> | > | > |
| > | >>> | > | > | Hello,
| > | >>> | > | > | After a long series of calls and answers in
| > | >>> | > | > | Seaside, I
| > | >>> | > | > | got an
| > | >>> | > | > | Object
| > | >>> | > | > | does not exist error that brought down the fast cgi
| > | >>> | > | > | gateway.
| > | >>> | > | > | My
| > | >>> | > | > | production error handler was not triggered,
| > | >>> | > | > | although it
| > | >>> | > | > | was
| > | >>> | > | > | installed, as far as I could tell. Strange. My
| > | >>> | > | > | supervise
| > | >>> | > | > | fastcgi
| > | >>> | > | > | process also did not pick up my dead fastcgi
| > | >>> | > | > | process.
| > | >>> | > | > | Not a
| > | >>> | > | > | good
| > | >>> | > | > | day.
| > | >>> | > | > |
| > | >>> | > | > | Here is the walkback:
| > | >>> | > | > |
| > | >>> | > | > |
| > | >>> | > | > |
| > | >>> | > | > | USER IDS: REAL=seasideuser (500)
| > | >>> | > | > | EFFECTIVE=seasideuser
| > | >>> | > | > | (500)
| > | >>> | > | > | |
| > | >>> | > | > | |_____________________________________________________________________________|
| > | >>> | > | > | topaz> topaz> topaz> topaz> topaz> topaz> topaz>
| > | >>> | > | > | [Info]: LNK
| > | >>> | > | > | client/gem GCI levels = 844/844
| > | >>> | > | > | [Info]: User ID: DataCurator
| > | >>> | > | > | [Info]: Repository: seaside
| > | >>> | > | > | [Info]: Session ID: 5
| > | >>> | > | > | [Info]: GCI Client Host: <Linked>
| > | >>> | > | > | [Info]: Page server PID: -1
| > | >>> | > | > | [Info]: Login Time: 02/10/2012 09:27:56 PM.572 UTC
| > | >>> | > | > | [02/10/2012 09:27:56 PM.592 UTC] gci login:
| > | >>> | > | > | currSession
| > | >>> | > | > | 1 rpc
| > | >>> | > | > | gem
| > | >>> | > | > | processId -1
| > | >>> | > | > | successful login
| > | >>> | > | > | topaz 1> topaz 1> [20 sz:0 cls: 76289
| > | >>> | > | > | UndefinedObject]
| > | >>> | > | > | nil
| > | >>> | > | > | topaz 1> topaz 1> [76033 sz:19 cls: 801793 System
| > | >>> | > | > | class]
| > | >>> | > | > | System
| > | >>> | > | > | class
| > | >>> | > | > | superClass [72193 sz:19 cls: 206081 Object class]
| > | >>> | > | > | Object
| > | >>> | > | > | class
| > | >>> | > | > | format [258 sz:0 cls: 74241 SmallInteger] 32
| > | >>> | > | > | instVars [2 sz:0 cls: 74241 SmallInteger] 0
| > | >>> | > | > | instVarNames [422145 sz:0 cls: 66817 Array] an
| > | >>> | > | > | Array
| > | >>> | > | > | constraints [421889 sz:0 cls: 66817 Array] an Array
| > | >>> | > | > | classVars [421633 sz:26 cls: 111361
| > | >>> | > | > | SymbolDictionary] a
| > | >>> | > | > | SymbolDictionary
| > | >>> | > | > | methodDict [711937 sz:112 cls: 99073
| > | >>> | > | > | GsMethodDictionary] a
| > | >>> | > | > | GsMethodDictionary
| > | >>> | > | > | poolDictionaries [421377 sz:0 cls: 66817 Array] an
| > | >>> | > | > | Array
| > | >>> | > | > | categories [421121 sz:28 cls: 99073
| > | >>> | > | > | GsMethodDictionary]
| > | >>> | > | > | a
| > | >>> | > | > | GsMethodDictionary
| > | >>> | > | > | secondarySuperclasses [20 sz:0 cls: 76289
| > | >>> | > | > | UndefinedObject]
| > | >>> | > | > | nil
| > | >>> | > | > | name [801537 sz:6 cls: 110849 Symbol] System
| > | >>> | > | > | classHistory [420865 sz:3 cls: 82689 ClassHistory]
| > | >>> | > | > | a
| > | >>> | > | > | ClassHistory
| > | >>> | > | > | description [13498369 sz:10 cls: 95233
| > | >>> | > | > | GsClassDocumentation]
| > | >>> | > | > | a
| > | >>> | > | > | GsClassDocumentation
| > | >>> | > | > | migrationDestination [20 sz:0 cls: 76289
| > | >>> | > | > | UndefinedObject] nil
| > | >>> | > | > | timeStamp [14510593 sz:4 cls: 118785 DateTime] a
| > | >>> | > | > | DateTime
| > | >>> | > | > | userId [14508801 sz:10 cls: 74753 String]
| > | >>> | > | > | SystemUser
| > | >>> | > | > | extraDict [14524929 sz:14 cls: 111361
| > | >>> | > | > | SymbolDictionary]
| > | >>> | > | > | a
| > | >>> | > | > | SymbolDictionary
| > | >>> | > | > | classCategory [20 sz:0 cls: 76289 UndefinedObject]
| > | >>> | > | > | nil
| > | >>> | > | > | subclasses [20 sz:0 cls: 76289 UndefinedObject] nil
| > | >>> | > | > |
| > | >>> | > | > |
| > | >>> | > | > | topaz 1> topaz 1> WAFastCGIAdaptor Server started
| > | >>> | > | > | on
| > | >>> | > | > | port
| > | >>> | > | > | 9001
| > | >>> | > | > | -----------------------------------------------------
| > | >>> | > | > | GemStone: Error Nonfatal
| > | >>> | > | > | The object with object ID 81065894683350528 does
| > | >>> | > | > | not
| > | >>> | > | > | exist.
| > | >>> | > | > | Error Category: 231169 [GemStone] Number: 2101 Arg
| > | >>> | > | > | Count: 1
| > | >>> | > | > | Context :
| > | >>> | > | > | 526648321
| > | >>> | > | > | Arg 1: [648527157466804226 sz:0 cls: 74241
| > | >>> | > | > | SmallInteger]
| > | >>> | > | > | 81065894683350528
| > | >>> | > | > |
| > | >>> | > | > |
| > | >>> | > | > | Now executing the following command saved from
| > | >>> | > | > | "iferr
| > | >>> | > | > | 1":
| > | >>> | > | > | where
| > | >>> | > | > | ==> 1 GsProcess class >>
| > | >>> | > | > | installPartialContinuation:atLevel:value: @2
| > | >>> | > | > | line 1 [GsMethod 4487425]
| > | >>> | > | > | 2 WAPartialContinuation >> value: @13 line 11
| > | >>> | > | > | [GsMethod
| > | >>> | > | > | 212791041]
| > | >>> | > | > | 3 WAPartialContinuation >>
| > | >>> | > | > | valueWithPossibleArguments:
| > | >>> | > | > | @2
| > | >>> | > | > | line 2
| > | >>> | > | > | [GsMethod 218326273]
| > | >>> | > | > | 4 ComplexBlock in WAComponent >>
| > | >>> | > | > | show:onAnswer:delegation: @7
| > | >>> | > | > | line 7
| > | >>> | > | > | [GsMethod 194749185]
| > | >>> | > | > | 5 ComplexBlock in ExecutableBlock >>
| > | >>> | > | > | valueWithPossibleArguments:
| > | >>> | > | > | @12
| > | >>> | > | > | line 8 [GsMethod 116163585]
| > | >>> | > | > | 6 WAAnswerHandler >> handleAnswer:continueWith: @3
| > | >>> | > | > | line
| > | >>> | > | > | 2
| > | >>> | > | > | [GsMethod
| > | >>> | > | > | 194735873]
| > | >>> | > | > | 7 WADecoration >> handleAnswer: @6 line 3 [GsMethod
| > | >>> | > | > | 194731009]
| > | >>> | > | > | 8 WAComponent >> answer: @2 line 5 [GsMethod
| > | >>> | > | > | 194751745]
| > | >>> | > | > |
| > | >>> | > | > |
| > | >>> | > | > |
| > | >>> | > | > |
| > | >>> | > | > | I found this on the net:
| > | >>> | > | > |
| > | >>> | > | > |
| > | >>> | > | > |
| > | >>> | > | > | Object does not exist errors
| > | >>> | > | > | GBS applications may encounter object does not
| > | >>> | > | > | exist
| > | >>> | > | > | errors
| > | >>> | > | > | in
| > | >>> | > | > | non-persistent
| > | >>> | > | > | objects. This is due to a problem with the fix for
| > | >>> | > | > | bug
| > | >>> | > | > | #40703
| > | >>> | > | > | in
| > | >>> | > | > | version
| > | >>> | > | > | 2.4.4, which resulted in non-persistent objects not
| > | >>> | > | > | properly
| > | >>> | > | > | protected
| > | >>> | > | > | from garbage collection.
| > | >>> | > | > |
| > | >>> | > | > | Workaround:
| > | >>> | > | > |
| > | >>> | > | > | none/not applicable
| > | >>> | > | > | from:
| > | >>> | > | > |
| > | >>> | > | > |
| > | >>> | > | > |
| > | >>> | > | > |
| > | >>> | > | > |
| > | >>> | > | > |
| > | >>> | > | > | http://www.gemstone.com/docs/GemStoneS/bugnotes/bugnotes/40948.html
| > | >>> | > | > |
| > | >>> | > | > |
| > | >>> | > | > |
| > | >>> | > | > | So, should I worry about this? I implemented code
| > | >>> | > | > | that
| > | >>> | > | > | allowed a
| > | >>> | > | > | user
| > | >>> | > | > | to call an editor, switch out on the navigation
| > | >>> | > | > | menu,
| > | >>> | > | > | call
| > | >>> | > | > | another
| > | >>> | > | > | editor,
| > | >>> | > | > | switch out. With each switch, I send answer: false
| > | >>> | > | > | to
| > | >>> | > | > | the
| > | >>> | > | > | open
| > | >>> | > | > | editor
| > | >>> | > | > | to close it so that it is not hanging around open.
| > | >>> | > | > | My
| > | >>> | > | > | idea
| > | >>> | > | > | was to hide the section navigation when the editor
| > | >>> | > | > | came
| > | >>> | > | > | up
| > | >>> | > | > | but
| > | >>> | > | > | I'm
| > | >>> | > | > | getting push back from my user.
| > | >>> | > | > |
| > | >>> | > | > |
| > | >>> | > | > | What do you think?
| > | >>> | > | > |
| > | >>> | > | > |
| > | >>> | > | > | Larry
| > | >>> | > | > |
| > | >>> | > | > |
| > | >>> | > | > |
| > | >>> | > | > |
| > | >>> | > |
| > | >>> | > |
| > | >>> |
| > | >>> |
| > | >>
| > | >
| > |
| > |
|
|
Reply | Threaded
Open this post in threaded view
|

Re: Object does not exist error - Worry about it?

Larry Kellogg
 
On Feb 28, 2012, at 3:55 PM, Dale Henrichs wrote:

> Larry,
>
> The C stack dump will tell us where in the vm the error is occurring. If you are doing this in your Staging environment then you can attach the c process with gdb and get the stack dump ... with a live gdb we may want additional info ... the stack dump will be useful to start.
>
> With the smalltalk stack we'll get to look at the objects around the corrupt object and perhaps learn something ...
>
> Right now, I am curious whether the corrupt object is a WAValue or a WADelegation…
>

Dale,
  I've been banging on my Staging system all morning, and haven't made it crash yet. It's a strange bug. Sometimes, it pops up on the most innocent click when switching between views. In this case, I'm hitting call/answers many, many times, to try to make it fail. I thought we had seen it fail this way in the past, but now I'm not sure.

  I guess it is good news that the bug is difficult to reproduce. I'll keep trying.

  Where does the C stack get dumped when it gets dumped? To the console or a file?

  Larry



> Dale
>
> ----- Original Message -----
> | From: "Lawrence Kellogg" <[hidden email]>
> | To: "GemStone Seaside beta discussion" <[hidden email]>
> | Sent: Tuesday, February 28, 2012 12:19:33 PM
> | Subject: Re: [GS/SS Beta] Object does not exist error - Worry about it?
> |
> |
> | On Feb 28, 2012, at 2:41 PM, Dale Henrichs wrote:
> |
> | > Larry,
> | >
> | > Okay, here's the stack that covers the range of the partial
> | > continuation:
> | >
> | > ==> 1 WAComponent >> decoration @3 line 1   [GsMethod 194749441]
> | > 2 WAComponent >> addDecoration: @2 line 6   [GsMethod 194748417]
> | > 3 WAComponent >> show:onAnswerelegation: @10 line 8   [GsMethod
> | > 194749185]
> | > 4 WAComponent >> show:onAnswer: @5 line 5   [GsMethod 499699713]
> | > 5 WAComponent >> call:onAnswer: @5 line 8   [GsMethod 194750977]
> | > 6 ComplexBlock in WAComponent >> call: @3 line 4   [GsMethod
> | > 191317249]
> | > 7 ComplexBlock in WAComponent >> wait: @3 line 3   [GsMethod
> | > 191268353]
> | > 8 GRGemStonePlatform >> seasideSuspendFlowDo: @9 line 5   [GsMethod
> | > 499655937]
> | > 9 WAComponent >> wait: @4 line 3   [GsMethod 191268353]
> | > 10 WAComponent >> call: @4 line 4   [GsMethod 191317249]
> | > 11 PracticeJournalLoginTask >> go @14 line 9   [GsMethod 371393537]
> | > 12 WATask >> execute @1 line 7   [GsMethod 195261697]
> | > 13 ComplexBlock in WATaskVisitor >> visitTask: @6 line 4
> | >   [GsMethod 194755841]
> | >
> | > WAComponent >> decoration is the source of the error and it is
> | > sending #contents to a 'decoration' of the component ... it's not
> | > quite clear whether the decoration iv is the corrupt object or the
> | > result of the #contents message send ...
> | >
> | > To get a better picture of what's happening we need a C stack when
> | > the error occurs. If you set
> | >
> | >  GEM_HALT_ON_ERROR = 2101;
> | >
> | > in your system.conf file, then when the obj does not exist error
> | > occurs the gem will halt, dump a c stack, wait 60 seconds and then
> | > shutdown ... This is pretty intrusive, but it will get us a couple
> | > steps closer to understanding what's going on.
> | >
> | > If you (or Johan) can duplicate the error under controlled
> | > conditions then you would fire up a topaz manually to service
> | > requests and when the halt on error hits, you'll be dropped to the
> | > topaz prompt where you can view the smalltalk stack and inspect
> | > the objects involved …
> | >
> |
> |   Thanks, Dale. I think I can make it crash in my Staging environment
> |   by going through many call/answers invocations. I will try.
> | Unfortunately, I don't think I know enough about what Seaside is
> | doing at that level to fix the problem. I see that the
> | WADecoration is a WAValueHolder but that's about the end of my
> | knowledge.
> |
> |   I guess there is no way of knowing from this stack dump what kind
> |   of WADecoration we're talking about.
> |
> |   Regards,
> |
> |   Larry
> |  
> |
> | > Dale
> | >
> | > ----- Original Message -----
> | > | From: "Lawrence Kellogg" <[hidden email]>
> | > | To: "GemStone Seaside beta discussion"
> | > | <[hidden email]>
> | > | Sent: Monday, February 27, 2012 7:01:58 PM
> | > | Subject: Re: [GS/SS Beta] Object does not exist error - Worry
> | > | about it?
> | > |
> | > |
> | > | On Feb 21, 2012, at 2:40 PM, Johan Brichau wrote:
> | > |
> | > | > fyi, I have been observing occurrences of this bug as well,
> | > | > with
> | > | > exactly the same point of failure in the stack.
> | > | >
> | > | > No repository problems or audit warnings.
> | > | >
> | > | > Funnily, I've never seen this in any stone running Yesplan. The
> | > | > stone where we have this problem is also running a Seaside
> | > | > application but the only discriminating factor I can observe is
> | > | > that this application uses call/answer a lot more (while we
> | > | > almost
> | > | > never use that in Yesplan). It probably does not help a lot
> | > | > finding the error... but I will look up the stack traces and
> | > | > post
> | > | > them here if they might contain some clues.
> | > |
> | > | Hello Johan,
> | > |   Thanks for looking into this problem. I use call/answer quite a
> | > |   bit.
> | > |
> | > |   Dale, did you see the stack dump I posted?
> | > |
> | > |   Larry
> | > |
> | > |
> | > | >
> | > | > On 21 Feb 2012, at 20:13, Lawrence Kellogg wrote:
> | > | >
> | > | >>
> | > | >> On Feb 21, 2012, at 1:05 PM, Dale Henrichs wrote:
> | > | >>
> | > | >>> Larry,
> | > | >>>
> | > | >>> We should try to dig into this one some more.
> | > | >>>
> | > | >>> To start with what version of Gemstone are you using? If you
> | > | >>> are
> | > | >>> using 2.4.4.1, then I'm not aware of an issue that would
> | > | >>> warrant
> | > | >>> an upgrade to 2.4.5, but I will check around a bit...As I
> | > | >>> said
> | > | >>> before, the only place that I've seen "Obj does not exist
> | > | >>> errors" is in 3.0 and those bugs were fixed in 3.0.1.
> | > | >>>
> | > | >>
> | > | >> Dale,
> | > | >> Thanks for the help. I would like to get to the bottom of this
> | > | >> error. This crash takes down Fastcgi so it kills the service.
> | > | >>
> | > | >> According to the file in the directory, I'm on 2.4.[ component
> | > | >> notNil ]
> | > | >> whileTrue: [
> | > | >> self call: component.
> | > | >> component := component nextComponentToBeDisplayed ] ]4.1
> | > | >>
> | > | >> GemStone64Bit2.4.4.1-x86_64.Linux
> | > | >>
> | > | >>
> | > | >>
> | > | >>
> | > | >>> This time we are getting the error while creating the
> | > | >>> continuation ... the last episode occurred when you were
> | > | >>> trying
> | > | >>> to execute from a continuation.
> | > | >>>
> | > | >>> Could you share the source code for PracticeJournalLoginTask
> | > | >>> >>
> | > | >>> go? That's the first non-Seaside method on the stack below
> | > | >>> the
> | > | >>> error, so it's as good a place as any to start …
> | > | >>>
> | > | >>
> | > | >> Here is the complete source code for the go method:  ;-)
> | > | >>
> | > | >> go
> | > | >> | user component |
> | > | >> self call: self userLoginView.
> | > | >> (self userLoginView user) notNil
> | > | >> ifTrue: [
> | > | >> component := self firstComponentToDisplayForUser: self
> | > | >> userLoginView user.
> | > | >> [ component notNil ]
> | > | >> whileTrue: [
> | > | >> self call: component.
> | > | >> component := component nextComponentToBeDisplayed ] ]
> | > | >>
> | > | >> A component is called, and when another component is selected
> | > | >> the
> | > | >> current component is sent answer: false and
> | > | >> the new component to call is returned from that
> | > | >> nextComponentToBeDisplayed method.
> | > | >>
> | > | >> I used to have an implementation that would give me a huge
> | > | >> recursive nesting of continuations, as shown by
> | > | >> halo, but this shows everything on just a few levels, although
> | > | >> I
> | > | >> have to say that the walkback looks deep and gnarly.
> | > | >>
> | > | >>
> | > | >>> It would be useful to see the entire stack as well. The
> | > | >>> partial
> | > | >>> continuation copies the stack back to a marker method and it
> | > | >>> would be useful to examine the source for the methods that
> | > | >>> are
> | > | >>> on the stck for clues as to what might be going on...
> | > | >>>
> | > | >>> Dale
> | > | >>
> | > | >>
> | > | >> Here is the complete walk back:
> | > | >>
> | > | >> topaz 1> topaz 1> WAFastCGIAdaptor Server started on port 9001
> | > | >> -----------------------------------------------------
> | > | >> GemStone: Error         Nonfatal
> | > | >> The object with object ID 76562293713797632 does not exist.
> | > | >> Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1
> | > | >> Context : 412915713
> | > | >> Arg 1: [612498349710381058 sz:0 cls: 74241 SmallInteger]
> | > | >> 76562293713797632
> | > | >>
> | > | >> Now executing the following command saved from "iferr 1":
> | > | >>  where
> | > | >> ==> 1 WAComponent >> decoration @3 line 1   [GsMethod
> | > | >> 194749441]
> | > | >> 2 WAComponent >> addDecoration: @2 line 6   [GsMethod
> | > | >> 194748417]
> | > | >> 3 WAComponent >> show:onAnswer:delegation: @10 line 8
> | > | >>   [GsMethod
> | > | >> 194749185]
> | > | >> 4 WAComponent >> show:onAnswer: @5 line 5   [GsMethod
> | > | >> 499699713]
> | > | >> 5 WAComponent >> call:onAnswer: @5 line 8   [GsMethod
> | > | >> 194750977]
> | > | >> 6 ComplexBlock in WAComponent >> call: @3 line 4   [GsMethod
> | > | >> 191317249]
> | > | >> 7 ComplexBlock in WAComponent >> wait: @3 line 3   [GsMethod
> | > | >> 191268353]
> | > | >> 8 GRGemStonePlatform >> seasideSuspendFlowDo: @9 line 5
> | > | >>   [GsMethod 499655937]
> | > | >> 9 WAComponent >> wait: @4 line 3   [GsMethod 191268353]
> | > | >> 10 WAComponent >> call: @4 line 4   [GsMethod 191317249]
> | > | >> 11 PracticeJournalLoginTask >> go @14 line 9   [GsMethod
> | > | >> 371393537]
> | > | >> 12 WATask >> execute @1 line 7   [GsMethod 195261697]
> | > | >> 13 ComplexBlock in WATaskVisitor >> visitTask: @6 line 4
> | > | >>   [GsMethod 194755841]
> | > | >> 14 WACallback >> evaluateWithFieldValues: @5 line 2
> | > | >>   [GsMethod
> | > | >> 177495553]
> | > | >> 15 ComplexBlock in WACallbackRegistry >> handle: @16 line 10
> | > | >>   [GsMethod 177951489]
> | > | >> 16 Collection >> do: @5 line 10   [GsMethod 1547777]
> | > | >> 17 WACallbackRegistry >> handle: @17 line 9   [GsMethod
> | > | >> 177951489]
> | > | >> 18 ComplexBlock in WAActionPhaseContinuation >> runCallbacks
> | > | >> @7
> | > | >> line 4   [GsMethod 202613505]
> | > | >> 19 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
> | > | >> 10065409]
> | > | >> 20 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
> | > | >> 10062081]
> | > | >> 21 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
> | > | >>   [GsMethod
> | > | >> 9005057]
> | > | >> 22 WARenderLoopContinuation >> withNotificationHandlerDo: @3
> | > | >> line
> | > | >> 2   [GsMethod 202608385]
> | > | >> 23 ComplexVCBlock in WAActionPhaseContinuation >> runCallbacks
> | > | >> @8
> | > | >> line 3   [GsMethod 202613505]
> | > | >> 24 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
> | > | >>   [GsMethod 2304001]
> | > | >> 25 ComplexVCBlock in ExecutableBlock >> ensure: @6 line 11
> | > | >>   [GsMethod 2304001]
> | > | >> 26 WAActionPhaseContinuation >> runCallbacks @18 line 6
> | > | >>   [GsMethod 202613505]
> | > | >> 27 WAActionPhaseContinuation >> handleRequest @1 line 2
> | > | >>   [GsMethod 202614017]
> | > | >> 28 ComplexBlock in WASessionContinuation >> basicValue @3 line
> | > | >> 2
> | > | >>   [GsMethod 202625537]
> | > | >> 29 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
> | > | >> 10065409]
> | > | >> 30 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
> | > | >> 10062081]
> | > | >> 31 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
> | > | >>   [GsMethod
> | > | >> 9005057]
> | > | >> 32 WASessionContinuation >> withUnregisteredHandlerDo: @7 line
> | > | >> 3
> | > | >>   [GsMethod 202627073]
> | > | >> 33 WASessionContinuation >> basicValue @4 line 2   [GsMethod
> | > | >> 202625537]
> | > | >> 34 WASessionContinuation >> value @3 line 5   [GsMethod
> | > | >> 202623745]
> | > | >> 35 WASession >> handleFiltered: @14 line 10   [GsMethod
> | > | >> 202205441]
> | > | >> 36 WARequestFilter >> handleFiltered: @2 line 4   [GsMethod
> | > | >> 176192513]
> | > | >> 37 ComplexBlock in WADeprecatedToolFilter >> handleFiltered:
> | > | >> @3
> | > | >> line 2   [GsMethod 203213313]
> | > | >> 38 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
> | > | >> 10065409]
> | > | >> 39 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
> | > | >> 10062081]
> | > | >> 40 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
> | > | >>   [GsMethod
> | > | >> 9005057]
> | > | >> 41 WADeprecatedToolFilter >> handleFiltered: @6 line 3
> | > | >>   [GsMethod
> | > | >> 203213313]
> | > | >> 42 WARequestFilter >> handleFiltered: @2 line 4   [GsMethod
> | > | >> 176192513]
> | > | >> 43 ComplexBlock in WATimingToolFilter >> handleFiltered: @4
> | > | >> line 3
> | > | >>   [GsMethod 203208449]
> | > | >> 44 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
> | > | >>   [GsMethod 2304001]
> | > | >> 45 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
> | > | >>   [GsMethod 2304001]
> | > | >> 46 WATimingToolFilter >> handleFiltered: @8 line 4   [GsMethod
> | > | >> 203208449]
> | > | >> 47 ComplexBlock in WARequestHandler >> handle: @4 line 4
> | > | >>   [GsMethod 178568961]
> | > | >> 48 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
> | > | >> 10065409]
> | > | >> 49 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
> | > | >> 10062081]
> | > | >> 50 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
> | > | >>   [GsMethod
> | > | >> 9005057]
> | > | >> 51 WADynamicVariable class >> use:during: @4 line 4
> | > | >>   [GsMethod
> | > | >> 177805825]
> | > | >> 52 ComplexBlock in WARequestContext >> push:during: @4 line 5
> | > | >>   [GsMethod 176176129]
> | > | >> 53 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
> | > | >>   [GsMethod 2304001]
> | > | >> 54 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
> | > | >>   [GsMethod 2304001]
> | > | >> 55 WARequestContext >> push:during: @7 line 6   [GsMethod
> | > | >> 176176129]
> | > | >> 56 WARequestHandler >> handle: @5 line 4   [GsMethod
> | > | >> 178568961]
> | > | >> 57 WASession >> handle: @10 line 11   [GsMethod 202210561]
> | > | >> 58 WARegistry >> dispatch:to: @1 line 5   [GsMethod 176153857]
> | > | >> 59 WARegistry >> handleKeyed:with: @2 line 5   [GsMethod
> | > | >> 176155137]
> | > | >> 60 WARegistry >> handleFiltered: @33 line 19   [GsMethod
> | > | >> 176146945]
> | > | >> 61 WAApplication >> handleFiltered: @9 line 8   [GsMethod
> | > | >> 202644225]
> | > | >> 62 WARequestFilter >> handleFiltered: @2 line 4   [GsMethod
> | > | >> 176192513]
> | > | >> 63 ComplexBlock in WAExceptionFilter >> handleFiltered: @6
> | > | >> line 7
> | > | >>   [GsMethod 499529473]
> | > | >> 64 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
> | > | >> 10065409]
> | > | >> 65 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
> | > | >> 10062081]
> | > | >> 66 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
> | > | >>   [GsMethod
> | > | >> 9005057]
> | > | >> 67 WADynamicVariable class >> use:during: @4 line 4
> | > | >>   [GsMethod
> | > | >> 177805825]
> | > | >> 68 ComplexVCBlock in WAExceptionFilter >> handleFiltered: @7
> | > | >> line
> | > | >> 6   [GsMethod 499529473]
> | > | >> 69 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
> | > | >> 10065409]
> | > | >> 70 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
> | > | >> 10062081]
> | > | >> 71 ComplexVCBlock in ExecutableBlock >> on:do: @2 line 8
> | > | >>   [GsMethod 9005057]
> | > | >> 72 WAExceptionHandler >> handleExceptionsDuring: @8 line 3
> | > | >>   [GsMethod 177803521]
> | > | >> 73 WAExceptionFilter >> handleFiltered: @8 line 4   [GsMethod
> | > | >> 499529473]
> | > | >> 74 ComplexBlock in WARequestHandler >> handle: @4 line 4
> | > | >>   [GsMethod 178568961]
> | > | >> 75 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
> | > | >> 10065409]
> | > | >> 76 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
> | > | >> 10062081]
> | > | >> 77 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
> | > | >>   [GsMethod
> | > | >> 9005057]
> | > | >> 78 WADynamicVariable class >> use:during: @4 line 4
> | > | >>   [GsMethod
> | > | >> 177805825]
> | > | >> 79 ComplexBlock in WARequestContext >> push:during: @4 line 5
> | > | >>   [GsMethod 176176129]
> | > | >> 80 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
> | > | >>   [GsMethod 2304001]
> | > | >> 81 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
> | > | >>   [GsMethod 2304001]
> | > | >> 82 WARequestContext >> push:during: @7 line 6   [GsMethod
> | > | >> 176176129]
> | > | >> 83 WARequestHandler >> handle: @5 line 4   [GsMethod
> | > | >> 178568961]
> | > | >> 84 WADispatcher >> handleFiltered:named: @7 line 5   [GsMethod
> | > | >> 179090945]
> | > | >> 85 WADispatcher >> handleFiltered: @7 line 6   [GsMethod
> | > | >> 179087617]
> | > | >> 86 ComplexBlock in WARequestHandler >> handle: @4 line 4
> | > | >>   [GsMethod 178568961]
> | > | >> 87 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
> | > | >> 10065409]
> | > | >> 88 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
> | > | >> 10062081]
> | > | >> 89 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
> | > | >>   [GsMethod
> | > | >> 9005057]
> | > | >> 90 WADynamicVariable class >> use:during: @4 line 4
> | > | >>   [GsMethod
> | > | >> 177805825]
> | > | >> 91 ComplexBlock in WARequestContext >> push:during: @4 line 5
> | > | >>   [GsMethod 176176129]
> | > | >> 92 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
> | > | >>   [GsMethod 2304001]
> | > | >> 93 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
> | > | >>   [GsMethod 2304001]
> | > | >> 94 WARequestContext >> push:during: @7 line 6   [GsMethod
> | > | >> 176176129]
> | > | >> 95 WARequestHandler >> handle: @5 line 4   [GsMethod
> | > | >> 178568961]
> | > | >> 96 ComplexBlock in WAServerAdaptor >> handleRequest: @4 line 4
> | > | >>   [GsMethod 176816641]
> | > | >> 97 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
> | > | >> 10065409]
> | > | >> 98 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
> | > | >> 10062081]
> | > | >> 99 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
> | > | >>   [GsMethod
> | > | >> 9005057]
> | > | >> 100 WAServerAdaptor >> handleRequest: @6 line 5   [GsMethod
> | > | >> 176816641]
> | > | >> 101 WAServerAdaptor >> handle: @1 line 4   [GsMethod
> | > | >> 176817921]
> | > | >> 102 ComplexBlock in WAServerAdaptor >> process: @5 line 6
> | > | >>   [GsMethod 176817153]
> | > | >> 103 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
> | > | >>   [GsMethod 2304001]
> | > | >> 104 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
> | > | >>   [GsMethod 2304001]
> | > | >> 105 WAServerAdaptor >> process: @9 line 7   [GsMethod
> | > | >> 176817153]
> | > | >> 106 ComplexBlock in WAFastCGIAdaptor >> process: @3 line 6
> | > | >>   [GsMethod 212442369]
> | > | >> 107 ComplexBlock in GRGemStonePlatform >>
> | > | >> seasideProcessRequestWithRetry:resultBlock: @12 line 11
> | > | >>   [GsMethod 175179265]
> | > | >> 108 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
> | > | >> 10065409]
> | > | >> 109 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
> | > | >> 10062081]
> | > | >> 110 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
> | > | >>   [GsMethod 9005057]
> | > | >> 111 ComplexVCBlock in GRGemStonePlatform >>
> | > | >> seasideProcessRequestWithRetry:resultBlock: @18 line 12
> | > | >>   [GsMethod 175179265]
> | > | >> 112 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
> | > | >>   [GsMethod 2304001]
> | > | >> 113 ComplexVCBlock in ExecutableBlock >> ensure: @6 line 11
> | > | >>   [GsMethod 2304001]
> | > | >> 114 TransientRecursionLock >> critical: @15 line 8   [GsMethod
> | > | >> 21159937]
> | > | >> 115 GRGemStonePlatform >>
> | > | >> seasideProcessRequestWithRetry:resultBlock: @39 line 5
> | > | >>   [GsMethod 175179265]
> | > | >> 116 ComplexBlock in GRGemStonePlatform >>
> | > | >> seasideProcessRequest:adaptor:resultBlock: @7 line 9
> | > | >>   [GsMethod
> | > | >> 175179521]
> | > | >> 117 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
> | > | >> 10065409]
> | > | >> 118 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
> | > | >> 10062081]
> | > | >> 119 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
> | > | >>   [GsMethod 9005057]
> | > | >> 120 GRGemStonePlatform >>
> | > | >> seasideProcessRequest:adaptor:resultBlock: @32 line 17
> | > | >>   [GsMethod 175179521]
> | > | >> 121 WAFastCGIAdaptor >> process: @4 line 4   [GsMethod
> | > | >> 212442369]
> | > | >> 122 ComplexBlock in WAFastCGIAdaptor >> answerResponderRole:
> | > | >> @3
> | > | >> line 4   [GsMethod 212444161]
> | > | >> 123 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
> | > | >> 10065409]
> | > | >> 124 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
> | > | >> 10062081]
> | > | >> 125 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
> | > | >>   [GsMethod 9005057]
> | > | >> 126 WAFastCGIAdaptor >> answerResponderRole: @9 line 5
> | > | >>   [GsMethod
> | > | >> 212444161]
> | > | >> 127 FSResponderRole >> answer @2 line 4   [GsMethod 218695937]
> | > | >> 128 FSRole >> handleConnection @3 line 5   [GsMethod
> | > | >> 218705409]
> | > | >> 129 FSConnection >> unsafeServe @4 line 8   [GsMethod
> | > | >> 219646465]
> | > | >> 130 ComplexBlock in FSConnection >> safeServe @5 line 8
> | > | >>   [GsMethod 499288833]
> | > | >> 131 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
> | > | >> 10065409]
> | > | >> 132 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
> | > | >> 10062081]
> | > | >> 133 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
> | > | >>   [GsMethod 9005057]
> | > | >> 134 ComplexVCBlock in FSConnection >> safeServe @8 line 9
> | > | >>   [GsMethod 499288833]
> | > | >> 135 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
> | > | >> 10065409]
> | > | >> 136 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
> | > | >> 10062081]
> | > | >> 137 ComplexVCBlock in ExecutableBlock >> on:do: @2 line 8
> | > | >>   [GsMethod 9005057]
> | > | >> 138 ComplexVCBlock in FSConnection >> safeServe @11 line 12
> | > | >>   [GsMethod 499288833]
> | > | >> 139 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
> | > | >>   [GsMethod 2304001]
> | > | >> 140 ComplexVCBlock in ExecutableBlock >> ensure: @6 line 11
> | > | >>   [GsMethod 2304001]
> | > | >> 141 FSConnection >> safeServe @14 line 15   [GsMethod
> | > | >> 499288833]
> | > | >> 142 FSConnection >> serve @1 line 4   [GsMethod 219654145]
> | > | >> 143 ComplexBlock in FSSocketServer >> listen: @9 line 15
> | > | >>   [GsMethod 219292673]
> | > | >> 144 GsProcess >> _startPart2 @15 line 17   [GsMethod 4501249]
> | > | >> 145 GsProcess >> _start @1 line 9   [GsMethod 4501761]
> | > | >> [GsProcess 412915713]
> | > | >> topaz 1> [268 sz:0 cls: 68097 Boolean] true
> | > | >> topaz 1>
> | > | >> HostCallDebugger: invoked at: Mon Feb 20 16:38:18 UTC 2012
> | > | >>
> | > | >> UTL_GUARANTEE failed, File
> | > | >> /export/toronto3/users/buildgss/244x-1/src/omverify.c line 28
> | > | >>
> | > | >> Begin attempt to print C-level stack at: Mon Feb 20 16:38:18
> | > | >> UTC
> | > | >> 2012
> | > | >>
> | > | >>
> | > | >> End of C-level stack:
> | > | >>
> | > | >>
> | > | >> hostcalldebugger invoked in process 6550, at 02/20/2012
> | > | >> 04:38:18
> | > | >> PM.681 UTC
> | > | >> notifying stone of fatal error
> | > | >>
> | > | >> [Info]: Logging out at 02/20/2012 04:38:18 PM UTC
> | > | >>
> | > | >>
> | > | >>
> | > | >>>
> | > | >>> ----- Original Message -----
> | > | >>> | From: "Lawrence Kellogg" <[hidden email]>
> | > | >>> | To: "GemStone Seaside beta discussion"
> | > | >>> | <[hidden email]>
> | > | >>> | Sent: Monday, February 20, 2012 8:48:22 AM
> | > | >>> | Subject: Re: [GS/SS Beta] Object does not exist error -
> | > | >>> | Worry
> | > | >>> | about it?
> | > | >>> |
> | > | >>> | Hello Dale,
> | > | >>> |   Well, my system has been up for days, running with no
> | > | >>> |   problems, not
> | > | >>> |   that it has been getting a lot of traffic, but still, no
> | > | >>> |   crashes.
> | > | >>> |   Today, I hit the Object does not exist error again. I
> | > | >>> |   guess I
> | > | >>> |   can
> | > | >>> |   do another object audit but, other than that, I'm not
> | > | >>> |   sure
> | > | >>> |   how to
> | > | >>> |   proceed. Do you think an upgrade to 2.4.5 will help me?
> | > | >>> |
> | > | >>> |   Here is the walkback:
> | > | >>> |
> | > | >>> | topaz 1> topaz 1> WAFastCGIAdaptor Server started on port
> | > | >>> | 9001
> | > | >>> | -----------------------------------------------------
> | > | >>> | GemStone: Error         Nonfatal
> | > | >>> | The object with object ID 76562293713797632 does not exist.
> | > | >>> | Error Category: 231169 [GemStone] Number: 2101 Arg Count: 1
> | > | >>> | Context :
> | > | >>> | 412915713
> | > | >>> | Arg 1: [612498349710381058 sz:0 cls: 74241 SmallInteger]
> | > | >>> | 76562293713797632
> | > | >>> |
> | > | >>> | Now executing the following command saved from "iferr 1":
> | > | >>> |    where
> | > | >>> | ==> 1 WAComponent >> decoration @3 line 1   [GsMethod
> | > | >>> | 194749441]
> | > | >>> | 2 WAComponent >> addDecoration: @2 line 6   [GsMethod
> | > | >>> | 194748417]
> | > | >>> | 3 WAComponent >> show:onAnswer:delegation: @10 line 8
> | > | >>> |   [GsMethod
> | > | >>> | 194749185]
> | > | >>> | 4 WAComponent >> show:onAnswer: @5 line 5   [GsMethod
> | > | >>> | 499699713]
> | > | >>> | 5 WAComponent >> call:onAnswer: @5 line 8   [GsMethod
> | > | >>> | 194750977]
> | > | >>> | 6 ComplexBlock in WAComponent >> call: @3 line 4
> | > | >>> |   [GsMethod
> | > | >>> | 191317249]
> | > | >>> | 7 ComplexBlock in WAComponent >> wait: @3 line 3
> | > | >>> |   [GsMethod
> | > | >>> | 191268353]
> | > | >>> | 8 GRGemStonePlatform >> seasideSuspendFlowDo: @9 line 5
> | > | >>> |   [GsMethod
> | > | >>> | 499655937]
> | > | >>> | 9 WAComponent >> wait: @4 line 3   [GsMethod 191268353]
> | > | >>> | 10 WAComponent >> call: @4 line 4   [GsMethod 191317249]
> | > | >>> | 11 PracticeJournalLoginTask >> go @14 line 9   [GsMethod
> | > | >>> | 371393537]
> | > | >>> |
> | > | >>> |
> | > | >>> | Larry
> | > | >>> |
> | > | >>> | On Feb 11, 2012, at 2:34 PM, Dale Henrichs wrote:
> | > | >>> |
> | > | >>> | > Larry,
> | > | >>> | >
> | > | >>> | > Yes, everything looks clean, I'm a little bit surprised
> | > | >>> | > that
> | > | >>> | > you
> | > | >>> | > didn't find the original error in you first audit, but
> | > | >>> | > the
> | > | >>> | > implication is that the "corrupt object" never got
> | > | >>> | > persisted
> | > | >>> | > ...
> | > | >>> | > indicating some other type of corruption ...
> | > | >>> | >
> | > | >>> | > A clean object audit means that your data base has no
> | > | >>> | > corruption so
> | > | >>> | > you're good to go ... I'll talk to some guys on Monday
> | > | >>> | > and
> | > | >>> | > see if
> | > | >>> | > they have some ideas as to what might have
> | > | >>> | > happened...there's
> | > | >>> | > a
> | > | >>> | > bug in there somewhere, but for now it looks like it is
> | > | >>> | > isolated
> | > | >>> | > to the local state in a gem ...
> | > | >>> | >
> | > | >>> | > Dale
> | > | >>> | >
> | > | >>> | > ----- Original Message -----
> | > | >>> | > | From: "Lawrence Kellogg" <[hidden email]>
> | > | >>> | > | To: "GemStone Seaside beta discussion"
> | > | >>> | > | <[hidden email]>
> | > | >>> | > | Sent: Saturday, February 11, 2012 4:18:06 AM
> | > | >>> | > | Subject: Re: [GS/SS Beta] Object does not exist error -
> | > | >>> | > | Worry
> | > | >>> | > | about it?
> | > | >>> | > |
> | > | >>> | > |
> | > | >>> | > | On Feb 10, 2012, at 7:04 PM, Dale Henrichs wrote:
> | > | >>> | > |
> | > | >>> | > | > Larry,
> | > | >>> | > | >
> | > | >>> | > | > Object does not exist errors are not good things ...
> | > | >>> | > | > and
> | > | >>> | > | > the
> | > | >>> | > | > gem
> | > | >>> | > | > coming down in this case is probably a good thing ...
> | > | >>> | > | > The
> | > | >>> | > | > fact
> | > | >>> | > | > that the problem is showing up in a GsProcess means
> | > | >>> | > | > that
> | > | >>> | > | > the
> | > | >>> | > | > Seaside session data structures are corrupted but not
> | > | >>> | > | > your
> | > | >>> | > | > model
> | > | >>> | > | > data ...
> | > | >>> | > | >
> | > | >>> | > | > You can check for corruption in your data base by
> | > | >>> | > | > running
> | > | >>> | > | > an
> | > | >>> | > | > object
> | > | >>> | > | > audit (see section 8.2 of the System Administration
> | > | >>> | > | > Guide[1]).
> | > | >>> | > | > If
> | > | >>> | > | > you follow these steps you own't need to run the
> | > | >>> | > | > object
> | > | >>> | > | > audit
> | > | >>> | > | > as
> | > | >>> | > | > single user (see the docs):
> | > | >>> | > | >
> | > | >>> | > | >  - expire sessions
> | > | >>> | > | >  - mfc
> | > | >>> | > | >  - reclaimAll
> | > | >>> | > | >  - object audit
> | > | >>> | > | >
> | > | >>> | > |
> | > | >>> | > | Hello Dale,
> | > | >>> | > |   Ok, I ran:
> | > | >>> | > |
> | > | >>> | > | System stopUserSessions
> | > | >>> | > | SystemRepository objectAudit
> | > | >>> | > | SystemRepository markForCollection
> | > | >>> | > | SystemRepository reclaimAll
> | > | >>> | > | SystemRepository objectAudit
> | > | >>> | > |
> | > | >>> | > | I don't see any errors. Here is my log. What do you
> | > | >>> | > | make of
> | > | >>> | > | it?
> | > | >>> | > |
> | > | >>> | > | Larry
> | > | >>> | > |
> | > | >>> | > |
> | > | >>> | > | [Info]: Login Time: 02/11/2012 12:06:22 PM.972 UTC
> | > | >>> | > | [02/11/2012 12:06:23 PM.001 UTC] gci login: currSession
> | > | >>> | > | 1
> | > | >>> | > | rpc gem
> | > | >>> | > | processId -1
> | > | >>> | > | successful login
> | > | >>> | > | topaz 1> printit
> | > | >>> | > | System hasMissingGcGems
> | > | >>> | > | %
> | > | >>> | > | false
> | > | >>> | > | topaz 1> printit
> | > | >>> | > | System stopUserSessions
> | > | >>> | > | %
> | > | >>> | > | System class
> | > | >>> | > |   superClass      Object class
> | > | >>> | > |   format          32
> | > | >>> | > |   instVars        0
> | > | >>> | > |   instVarNames    an Array
> | > | >>> | > |   constraints     an Array
> | > | >>> | > |   classVars       a SymbolDictionary
> | > | >>> | > |   methodDict      a GsMethodDictionary
> | > | >>> | > |   poolDictionaries an Array
> | > | >>> | > |   categories      a GsMethodDictionary
> | > | >>> | > |   secondarySuperclasses nil
> | > | >>> | > |   name            System
> | > | >>> | > |   classHistory    a ClassHistory
> | > | >>> | > |   description     a GsClassDocumentation
> | > | >>> | > |   migrationDestination nil
> | > | >>> | > |   timeStamp       a DateTime
> | > | >>> | > |   userId          SystemUser
> | > | >>> | > |   extraDict       a SymbolDictionary
> | > | >>> | > |   classCategory   nil
> | > | >>> | > |   subclasses      nil
> | > | >>> | > |
> | > | >>> | > | topaz 1> printit
> | > | >>> | > | SystemRepository objectAudit
> | > | >>> | > | %
> | > | >>> | > | --reclaimAll: changed StnSignalAbortCrBacklog from 20
> | > | >>> | > | to 3
> | > | >>> | > | --setGcConfig: set reclaimMinPages to 1
> | > | >>> | > | --reclaimAll: changed reclaimMinPages from 40 to 1
> | > | >>> | > | --setGcConfig: set reclaimSleepTime to 1
> | > | >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
> | > | >>> | > | --reclaimAll: using reclaimDeadEnabled true
> | > | >>> | > | --reclaimAll: simpleCommit loopCount 10
> | > | >>> | > | 02/11/2012 12:07:41 PM.070 UTC: Starting object table
> | > | >>> | > | scan
> | > | >>> | > | 02/11/2012 12:07:41 PM.698 UTC: Finished object table
> | > | >>> | > | scan
> | > | >>> | > |
> | > | >>> | > | Object audit is proceeding in FullAudit mode:
> | > | >>> | > | Scavenging completed (either single user mode or no
> | > | >>> | > | pages
> | > | >>> | > | to
> | > | >>> | > | scavenge).
> | > | >>> | > | All audit checks are enabled.
> | > | >>> | > |
> | > | >>> | > | Object audit as of 02/11/2012 12:07:41 PM UTC.
> | > | >>> | > | Summary of objects whose sizes exceed 100000 Bytes or
> | > | >>> | > | Oops:
> | > | >>> | > |
> | > | >>> | > |   ObjectID        Class     ClassName
> | > | >>> | > |                                  LogicalSize
> | > | >>> | > | --------------------------------------------------------------------------------------------------------------
> | > | >>> | > |     305743617         74753 String
> | > | >>> | > |                                          134740 Oops
> | > | >>> | > |     149534721         74753 String
> | > | >>> | > |                                          164661 Oops
> | > | >>> | > |     173784833         74753 String
> | > | >>> | > |                                          163312 Oops
> | > | >>> | > |     196368897         74753 String
> | > | >>> | > |                                          164661 Oops
> | > | >>> | > |     305774593         74753 String
> | > | >>> | > |                                          134740 Oops
> | > | >>> | > |     175519489         74753 String
> | > | >>> | > |                                          376305 Oops
> | > | >>> | > |     196571393         74753 String
> | > | >>> | > |                                          379399 Oops
> | > | >>> | > |     175494145         74753 String
> | > | >>> | > |                                          201874 Oops
> | > | >>> | > |     197005569         74753 String
> | > | >>> | > |                                          202074 Oops
> | > | >>> | > |     149996289         74753 String
> | > | >>> | > |                                          236426 Oops
> | > | >>> | > |     151722753         74753 String
> | > | >>> | > |                                          379399 Oops
> | > | >>> | > |     151723777         74753 String
> | > | >>> | > |                                          202074 Oops
> | > | >>> | > |     274619393         74753 String
> | > | >>> | > |                                         1170577 Oops
> | > | >>> | > |     265139713         74753 String
> | > | >>> | > |                                         1170577 Oops
> | > | >>> | > |     215910913         66817 Array
> | > | >>> | > |                                           331214 Oops
> | > | >>> | > |     164965121         74753 String
> | > | >>> | > |                                          236201 Oops
> | > | >>> | > |     197155585         74753 String
> | > | >>> | > |                                          236426 Oops
> | > | >>> | > |     271373057         74753 String
> | > | >>> | > |                                         1170577 Oops
> | > | >>> | > |     268426753         74753 String
> | > | >>> | > |                                          134740 Oops
> | > | >>> | > |     264103681         74753 String
> | > | >>> | > |                                         1170577 Oops
> | > | >>> | > |
> | > | >>> | > | ----------- Object Statistics Summary -----------------
> | > | >>> | > |
> | > | >>> | > | ----- Instances of invisible (private) classes ------
> | > | >>> | > |    Number of instances:         1072
> | > | >>> | > |             Total size:        15855 K Bytes
> | > | >>> | > |           Average size:         14.8 Bytes
> | > | >>> | > |
> | > | >>> | > |           Class:       209153 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       209409 Instances:         1072
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                  15855 K Bytes
> | > | >>> | > |           Class:       209665 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       209921 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       210177 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       210433 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       210689 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       210945 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       211201 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       211457 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       211713 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       211969 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       212225 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       212481 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       212737 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       212993 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       213249 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       213505 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       213761 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |
> | > | >>> | > |
> | > | >>> | > | ----- Instances of visible classes -----------------
> | > | >>> | > |    Number of objects      :      1633432
> | > | >>> | > |    Total Size             :       157861 K Bytes
> | > | >>> | > |    size of Object Headers :        38283 K Bytes
> | > | >>> | > |    size of Object Values  :       116978 K Bytes
> | > | >>> | > |    size of Object Tags    :            0 K Bytes
> | > | >>> | > |    average of Object Value:         73.3 Bytes
> | > | >>> | > |
> | > | >>> | > | Object Audit: Audit successfully completed; no errors
> | > | >>> | > | were
> | > | >>> | > | detected.
> | > | >>> | > | --setGcConfig: set reclaimMinPages to 40
> | > | >>> | > | --setGcConfig: set reclaimSleepTime to 10
> | > | >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
> | > | >>> | > | --postReclaimAll: restored reclaimMinPages to 40
> | > | >>> | > | true
> | > | >>> | > | topaz 1> printit
> | > | >>> | > | SystemRepository markForCollection
> | > | >>> | > | %
> | > | >>> | > | start MFC mark/sweep phase: 02/11/2012 12:08:56 PM UTC
> | > | >>> | > | WARNING, unable to resolve either
> | > | >>> | > | garMarkSweepPageBufSize
> | > | >>> | > | or
> | > | >>> | > | mfcGcPageBufSize, using default 320
> | > | >>> | > | MarkSweepArgsSType::(): buffer size= 320 pages
> | > | >>> | > | start MFC process dead phase: 02/11/2012 12:08:59 PM
> | > | >>> | > | UTC
> | > | >>> | > | end MFC: 02/11/2012 12:08:59 PM UTC
> | > | >>> | > | Successful completion of markForCollection.
> | > | >>> | > |     1613875 live objects found.
> | > | >>> | > |     20629 possible dead objects, occupying
> | > | >>> | > |     approximately
> | > | >>> | > |     1856610
> | > | >>> | > |     bytes, may be reclaimed.
> | > | >>> | > | topaz 1> printit
> | > | >>> | > | SystemRepository reclaimAll
> | > | >>> | > | %
> | > | >>> | > | --reclaimAll: changed StnSignalAbortCrBacklog from 20
> | > | >>> | > | to 3
> | > | >>> | > | --setGcConfig: set reclaimMinPages to 1
> | > | >>> | > | --reclaimAll: changed reclaimMinPages from 40 to 1
> | > | >>> | > | --setGcConfig: set reclaimSleepTime to 1
> | > | >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
> | > | >>> | > | --reclaimAll: using reclaimDeadEnabled true
> | > | >>> | > | --reclaimAll: simpleCommit loopCount 10
> | > | >>> | > | an Array
> | > | >>> | > |   #1 40
> | > | >>> | > |   #2 10
> | > | >>> | > |   #3 0
> | > | >>> | > |
> | > | >>> | > | topaz 1> printit
> | > | >>> | > | SystemRepository objectAudit
> | > | >>> | > | %
> | > | >>> | > | --reclaimAll: changed StnSignalAbortCrBacklog from 20
> | > | >>> | > | to 3
> | > | >>> | > | --setGcConfig: set reclaimMinPages to 1
> | > | >>> | > | --reclaimAll: changed reclaimMinPages from 1 to 1
> | > | >>> | > | --setGcConfig: set reclaimSleepTime to 1
> | > | >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
> | > | >>> | > | --reclaimAll: using reclaimDeadEnabled true
> | > | >>> | > | 02/11/2012 12:11:27 PM.328 UTC: Starting object table
> | > | >>> | > | scan
> | > | >>> | > | 02/11/2012 12:11:27 PM.921 UTC: Finished object table
> | > | >>> | > | scan
> | > | >>> | > |
> | > | >>> | > | Object audit is proceeding in FullAudit mode:
> | > | >>> | > | Scavenging completed (either single user mode or no
> | > | >>> | > | pages
> | > | >>> | > | to
> | > | >>> | > | scavenge).
> | > | >>> | > | All audit checks are enabled.
> | > | >>> | > |
> | > | >>> | > | Object audit as of 02/11/2012 12:11:27 PM UTC.
> | > | >>> | > | Summary of objects whose sizes exceed 100000 Bytes or
> | > | >>> | > | Oops:
> | > | >>> | > |
> | > | >>> | > |   ObjectID        Class     ClassName
> | > | >>> | > |                                  LogicalSize
> | > | >>> | > | --------------------------------------------------------------------------------------------------------------
> | > | >>> | > |     305743617         74753 String
> | > | >>> | > |                                          134740 Oops
> | > | >>> | > |     149534721         74753 String
> | > | >>> | > |                                          164661 Oops
> | > | >>> | > |     173784833         74753 String
> | > | >>> | > |                                          163312 Oops
> | > | >>> | > |     196368897         74753 String
> | > | >>> | > |                                          164661 Oops
> | > | >>> | > |     305774593         74753 String
> | > | >>> | > |                                          134740 Oops
> | > | >>> | > |     175519489         74753 String
> | > | >>> | > |                                          376305 Oops
> | > | >>> | > |     196571393         74753 String
> | > | >>> | > |                                          379399 Oops
> | > | >>> | > |     175494145         74753 String
> | > | >>> | > |                                          201874 Oops
> | > | >>> | > |     197005569         74753 String
> | > | >>> | > |                                          202074 Oops
> | > | >>> | > |     149996289         74753 String
> | > | >>> | > |                                          236426 Oops
> | > | >>> | > |     151722753         74753 String
> | > | >>> | > |                                          379399 Oops
> | > | >>> | > |     151723777         74753 String
> | > | >>> | > |                                          202074 Oops
> | > | >>> | > |     274619393         74753 String
> | > | >>> | > |                                         1170577 Oops
> | > | >>> | > |     265139713         74753 String
> | > | >>> | > |                                         1170577 Oops
> | > | >>> | > |     215910913         66817 Array
> | > | >>> | > |                                           331214 Oops
> | > | >>> | > |     164965121         74753 String
> | > | >>> | > |                                          236201 Oops
> | > | >>> | > |     197155585         74753 String
> | > | >>> | > |                                          236426 Oops
> | > | >>> | > |     271373057         74753 String
> | > | >>> | > |                                         1170577 Oops
> | > | >>> | > |     268426753         74753 String
> | > | >>> | > |                                          134740 Oops
> | > | >>> | > |     264103681         74753 String
> | > | >>> | > |                                         1170577 Oops
> | > | >>> | > |
> | > | >>> | > | ----------- Object Statistics Summary -----------------
> | > | >>> | > |
> | > | >>> | > | ----- Instances of invisible (private) classes ------
> | > | >>> | > |    Number of instances:         1072
> | > | >>> | > |             Total size:        15855 K Bytes
> | > | >>> | > |           Average size:         14.8 Bytes
> | > | >>> | > |
> | > | >>> | > |           Class:       209153 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       209409 Instances:         1072
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                  15855 K Bytes
> | > | >>> | > |           Class:       209665 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       209921 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       210177 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       210433 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       210689 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       210945 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       211201 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       211457 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       211713 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       211969 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       212225 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       212481 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       212737 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       212993 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       213249 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       213505 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |           Class:       213761 Instances:            0
> | > | >>> | > |           Total
> | > | >>> | > |           Size:
> | > | >>> | > |                      0 K Bytes
> | > | >>> | > |
> | > | >>> | > |
> | > | >>> | > | ----- Instances of visible classes -----------------
> | > | >>> | > |    Number of objects      :      1612803
> | > | >>> | > |    Total Size             :       156912 K Bytes
> | > | >>> | > |    size of Object Headers :        37800 K Bytes
> | > | >>> | > |    size of Object Values  :       116516 K Bytes
> | > | >>> | > |    size of Object Tags    :            0 K Bytes
> | > | >>> | > |    average of Object Value:         74.0 Bytes
> | > | >>> | > |
> | > | >>> | > | Object Audit: Audit successfully completed; no errors
> | > | >>> | > | were
> | > | >>> | > | detected.
> | > | >>> | > | --setGcConfig: set reclaimMinPages to 1
> | > | >>> | > | --setGcConfig: set reclaimSleepTime to 1
> | > | >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
> | > | >>> | > | --postReclaimAll: restored reclaimMinPages to 1
> | > | >>> | > | true
> | > | >>> | > | topaz 1>
> | > | >>> | > | topaz 1>
> | > | >>> | > |
> | > | >>> | > |
> | > | >>> | > | > If, as I suspect, you've got corruption in GsProcess
> | > | >>> | > | > objects
> | > | >>> | > | > they
> | > | >>> | > | > only impact Seaside session state, and should have
> | > | >>> | > | > disappeared
> | > | >>> | > | > by
> | > | >>> | > | > the time you run the object audit ...
> | > | >>> | > | >
> | > | >>> | > | > This problems seems to ring a bell, but it seems to
> | > | >>> | > | > me
> | > | >>> | > | > that the
> | > | >>> | > | > problem I am thinking of showed up in GemStone 3.0
> | > | >>> | > | > and I
> | > | >>> | > | > think
> | > | >>> | > | > it
> | > | >>> | > | > was fixed in GemStone 3.0.1... so I'm curious what
> | > | >>> | > | > version of
> | > | >>> | > | > GemStone you are using.
> | > | >>> | > | >
> | > | >>> | > | > As I think about this, I seem to recall that the
> | > | >>> | > | > problem
> | > | >>> | > | > was
> | > | >>> | > | > related to deeply nested block structure in a method
> | > | >>> | > | > that
> | > | >>> | > | > was
> | > | >>> | > | > involved in partial continuations, so I am curious if
> | > | >>> | > | > you
> | > | >>> | > | > happen
> | > | >>> | > | > to have some deeply nested block structures let's say
> | > | >>> | > | > more than
> | > | >>> | > | > 5
> | > | >>> | > | > or 6 levels deep in your method? In fact even in
> | > | >>> | > | > 3.0.1 I
> | > | >>> | > | > think
> | > | >>> | > | > that there might be an effective limit (the engineer
> | > | >>> | > | > that
> | > | >>> | > | > worked
> | > | >>> | > | > on this will be back on Monday for exact details), so
> | > | >>> | > | > if
> | > | >>> | > | > you
> | > | >>> | > | > are
> | > | >>> | > | > running with 3.0.1, you should definitely be
> | > | >>> | > | > suspicious
> | > | >>> | > | > of deep
> | > | >>> | > | > nesting of blocks...
> | > | >>> | > | >
> | > | >>> | > | > Dale
> | > | >>> | > | >
> | > | >>> | > | > [1]
> | > | >>> | > | > http://community.gemstone.com/display/GSS64/GemStoneS+64+Documentation
> | > | >>> | > | >
> | > | >>> | > | > ----- Original Message -----
> | > | >>> | > | > | From: "Lawrence Kellogg" <[hidden email]>
> | > | >>> | > | > | To: "GemStone Seaside beta discussion"
> | > | >>> | > | > | <[hidden email]>
> | > | >>> | > | > | Sent: Friday, February 10, 2012 2:13:15 PM
> | > | >>> | > | > | Subject: [GS/SS Beta] Object does not exist error -
> | > | >>> | > | > | Worry
> | > | >>> | > | > | about
> | > | >>> | > | > | it?
> | > | >>> | > | > |
> | > | >>> | > | > |
> | > | >>> | > | > |
> | > | >>> | > | > | Hello,
> | > | >>> | > | > | After a long series of calls and answers in
> | > | >>> | > | > | Seaside, I
> | > | >>> | > | > | got an
> | > | >>> | > | > | Object
> | > | >>> | > | > | does not exist error that brought down the fast cgi
> | > | >>> | > | > | gateway.
> | > | >>> | > | > | My
> | > | >>> | > | > | production error handler was not triggered,
> | > | >>> | > | > | although it
> | > | >>> | > | > | was
> | > | >>> | > | > | installed, as far as I could tell. Strange. My
> | > | >>> | > | > | supervise
> | > | >>> | > | > | fastcgi
> | > | >>> | > | > | process also did not pick up my dead fastcgi
> | > | >>> | > | > | process.
> | > | >>> | > | > | Not a
> | > | >>> | > | > | good
> | > | >>> | > | > | day.
> | > | >>> | > | > |
> | > | >>> | > | > | Here is the walkback:
> | > | >>> | > | > |
> | > | >>> | > | > |
> | > | >>> | > | > |
> | > | >>> | > | > | USER IDS: REAL=seasideuser (500)
> | > | >>> | > | > | EFFECTIVE=seasideuser
> | > | >>> | > | > | (500)
> | > | >>> | > | > | |
> | > | >>> | > | > | |_____________________________________________________________________________|
> | > | >>> | > | > | topaz> topaz> topaz> topaz> topaz> topaz> topaz>
> | > | >>> | > | > | [Info]: LNK
> | > | >>> | > | > | client/gem GCI levels = 844/844
> | > | >>> | > | > | [Info]: User ID: DataCurator
> | > | >>> | > | > | [Info]: Repository: seaside
> | > | >>> | > | > | [Info]: Session ID: 5
> | > | >>> | > | > | [Info]: GCI Client Host: <Linked>
> | > | >>> | > | > | [Info]: Page server PID: -1
> | > | >>> | > | > | [Info]: Login Time: 02/10/2012 09:27:56 PM.572 UTC
> | > | >>> | > | > | [02/10/2012 09:27:56 PM.592 UTC] gci login:
> | > | >>> | > | > | currSession
> | > | >>> | > | > | 1 rpc
> | > | >>> | > | > | gem
> | > | >>> | > | > | processId -1
> | > | >>> | > | > | successful login
> | > | >>> | > | > | topaz 1> topaz 1> [20 sz:0 cls: 76289
> | > | >>> | > | > | UndefinedObject]
> | > | >>> | > | > | nil
> | > | >>> | > | > | topaz 1> topaz 1> [76033 sz:19 cls: 801793 System
> | > | >>> | > | > | class]
> | > | >>> | > | > | System
> | > | >>> | > | > | class
> | > | >>> | > | > | superClass [72193 sz:19 cls: 206081 Object class]
> | > | >>> | > | > | Object
> | > | >>> | > | > | class
> | > | >>> | > | > | format [258 sz:0 cls: 74241 SmallInteger] 32
> | > | >>> | > | > | instVars [2 sz:0 cls: 74241 SmallInteger] 0
> | > | >>> | > | > | instVarNames [422145 sz:0 cls: 66817 Array] an
> | > | >>> | > | > | Array
> | > | >>> | > | > | constraints [421889 sz:0 cls: 66817 Array] an Array
> | > | >>> | > | > | classVars [421633 sz:26 cls: 111361
> | > | >>> | > | > | SymbolDictionary] a
> | > | >>> | > | > | SymbolDictionary
> | > | >>> | > | > | methodDict [711937 sz:112 cls: 99073
> | > | >>> | > | > | GsMethodDictionary] a
> | > | >>> | > | > | GsMethodDictionary
> | > | >>> | > | > | poolDictionaries [421377 sz:0 cls: 66817 Array] an
> | > | >>> | > | > | Array
> | > | >>> | > | > | categories [421121 sz:28 cls: 99073
> | > | >>> | > | > | GsMethodDictionary]
> | > | >>> | > | > | a
> | > | >>> | > | > | GsMethodDictionary
> | > | >>> | > | > | secondarySuperclasses [20 sz:0 cls: 76289
> | > | >>> | > | > | UndefinedObject]
> | > | >>> | > | > | nil
> | > | >>> | > | > | name [801537 sz:6 cls: 110849 Symbol] System
> | > | >>> | > | > | classHistory [420865 sz:3 cls: 82689 ClassHistory]
> | > | >>> | > | > | a
> | > | >>> | > | > | ClassHistory
> | > | >>> | > | > | description [13498369 sz:10 cls: 95233
> | > | >>> | > | > | GsClassDocumentation]
> | > | >>> | > | > | a
> | > | >>> | > | > | GsClassDocumentation
> | > | >>> | > | > | migrationDestination [20 sz:0 cls: 76289
> | > | >>> | > | > | UndefinedObject] nil
> | > | >>> | > | > | timeStamp [14510593 sz:4 cls: 118785 DateTime] a
> | > | >>> | > | > | DateTime
> | > | >>> | > | > | userId [14508801 sz:10 cls: 74753 String]
> | > | >>> | > | > | SystemUser
> | > | >>> | > | > | extraDict [14524929 sz:14 cls: 111361
> | > | >>> | > | > | SymbolDictionary]
> | > | >>> | > | > | a
> | > | >>> | > | > | SymbolDictionary
> | > | >>> | > | > | classCategory [20 sz:0 cls: 76289 UndefinedObject]
> | > | >>> | > | > | nil
> | > | >>> | > | > | subclasses [20 sz:0 cls: 76289 UndefinedObject] nil
> | > | >>> | > | > |
> | > | >>> | > | > |
> | > | >>> | > | > | topaz 1> topaz 1> WAFastCGIAdaptor Server started
> | > | >>> | > | > | on
> | > | >>> | > | > | port
> | > | >>> | > | > | 9001
> | > | >>> | > | > | -----------------------------------------------------
> | > | >>> | > | > | GemStone: Error Nonfatal
> | > | >>> | > | > | The object with object ID 81065894683350528 does
> | > | >>> | > | > | not
> | > | >>> | > | > | exist.
> | > | >>> | > | > | Error Category: 231169 [GemStone] Number: 2101 Arg
> | > | >>> | > | > | Count: 1
> | > | >>> | > | > | Context :
> | > | >>> | > | > | 526648321
> | > | >>> | > | > | Arg 1: [648527157466804226 sz:0 cls: 74241
> | > | >>> | > | > | SmallInteger]
> | > | >>> | > | > | 81065894683350528
> | > | >>> | > | > |
> | > | >>> | > | > |
> | > | >>> | > | > | Now executing the following command saved from
> | > | >>> | > | > | "iferr
> | > | >>> | > | > | 1":
> | > | >>> | > | > | where
> | > | >>> | > | > | ==> 1 GsProcess class >>
> | > | >>> | > | > | installPartialContinuation:atLevel:value: @2
> | > | >>> | > | > | line 1 [GsMethod 4487425]
> | > | >>> | > | > | 2 WAPartialContinuation >> value: @13 line 11
> | > | >>> | > | > | [GsMethod
> | > | >>> | > | > | 212791041]
> | > | >>> | > | > | 3 WAPartialContinuation >>
> | > | >>> | > | > | valueWithPossibleArguments:
> | > | >>> | > | > | @2
> | > | >>> | > | > | line 2
> | > | >>> | > | > | [GsMethod 218326273]
> | > | >>> | > | > | 4 ComplexBlock in WAComponent >>
> | > | >>> | > | > | show:onAnswer:delegation: @7
> | > | >>> | > | > | line 7
> | > | >>> | > | > | [GsMethod 194749185]
> | > | >>> | > | > | 5 ComplexBlock in ExecutableBlock >>
> | > | >>> | > | > | valueWithPossibleArguments:
> | > | >>> | > | > | @12
> | > | >>> | > | > | line 8 [GsMethod 116163585]
> | > | >>> | > | > | 6 WAAnswerHandler >> handleAnswer:continueWith: @3
> | > | >>> | > | > | line
> | > | >>> | > | > | 2
> | > | >>> | > | > | [GsMethod
> | > | >>> | > | > | 194735873]
> | > | >>> | > | > | 7 WADecoration >> handleAnswer: @6 line 3 [GsMethod
> | > | >>> | > | > | 194731009]
> | > | >>> | > | > | 8 WAComponent >> answer: @2 line 5 [GsMethod
> | > | >>> | > | > | 194751745]
> | > | >>> | > | > |
> | > | >>> | > | > |
> | > | >>> | > | > |
> | > | >>> | > | > |
> | > | >>> | > | > | I found this on the net:
> | > | >>> | > | > |
> | > | >>> | > | > |
> | > | >>> | > | > |
> | > | >>> | > | > | Object does not exist errors
> | > | >>> | > | > | GBS applications may encounter object does not
> | > | >>> | > | > | exist
> | > | >>> | > | > | errors
> | > | >>> | > | > | in
> | > | >>> | > | > | non-persistent
> | > | >>> | > | > | objects. This is due to a problem with the fix for
> | > | >>> | > | > | bug
> | > | >>> | > | > | #40703
> | > | >>> | > | > | in
> | > | >>> | > | > | version
> | > | >>> | > | > | 2.4.4, which resulted in non-persistent objects not
> | > | >>> | > | > | properly
> | > | >>> | > | > | protected
> | > | >>> | > | > | from garbage collection.
> | > | >>> | > | > |
> | > | >>> | > | > | Workaround:
> | > | >>> | > | > |
> | > | >>> | > | > | none/not applicable
> | > | >>> | > | > | from:
> | > | >>> | > | > |
> | > | >>> | > | > |
> | > | >>> | > | > |
> | > | >>> | > | > |
> | > | >>> | > | > |
> | > | >>> | > | > |
> | > | >>> | > | > | http://www.gemstone.com/docs/GemStoneS/bugnotes/bugnotes/40948.html
> | > | >>> | > | > |
> | > | >>> | > | > |
> | > | >>> | > | > |
> | > | >>> | > | > | So, should I worry about this? I implemented code
> | > | >>> | > | > | that
> | > | >>> | > | > | allowed a
> | > | >>> | > | > | user
> | > | >>> | > | > | to call an editor, switch out on the navigation
> | > | >>> | > | > | menu,
> | > | >>> | > | > | call
> | > | >>> | > | > | another
> | > | >>> | > | > | editor,
> | > | >>> | > | > | switch out. With each switch, I send answer: false
> | > | >>> | > | > | to
> | > | >>> | > | > | the
> | > | >>> | > | > | open
> | > | >>> | > | > | editor
> | > | >>> | > | > | to close it so that it is not hanging around open.
> | > | >>> | > | > | My
> | > | >>> | > | > | idea
> | > | >>> | > | > | was to hide the section navigation when the editor
> | > | >>> | > | > | came
> | > | >>> | > | > | up
> | > | >>> | > | > | but
> | > | >>> | > | > | I'm
> | > | >>> | > | > | getting push back from my user.
> | > | >>> | > | > |
> | > | >>> | > | > |
> | > | >>> | > | > | What do you think?
> | > | >>> | > | > |
> | > | >>> | > | > |
> | > | >>> | > | > | Larry
> | > | >>> | > | > |
> | > | >>> | > | > |
> | > | >>> | > | > |
> | > | >>> | > | > |
> | > | >>> | > |
> | > | >>> | > |
> | > | >>> |
> | > | >>> |
> | > | >>
> | > | >
> | > |
> | > |
> |
> |

Reply | Threaded
Open this post in threaded view
|

Re: Object does not exist error - Worry about it?

Dale Henrichs
Larry,

It should be dumped to the log file ... One time I stalked a bug for 9 months:)

Dale

----- Original Message -----
| From: "Lawrence Kellogg" <[hidden email]>
| To: "GemStone Seaside beta discussion" <[hidden email]>
| Sent: Wednesday, February 29, 2012 6:01:59 AM
| Subject: Re: [GS/SS Beta] Object does not exist error - Worry about it?
|
|
| On Feb 28, 2012, at 3:55 PM, Dale Henrichs wrote:
|
| > Larry,
| >
| > The C stack dump will tell us where in the vm the error is
| > occurring. If you are doing this in your Staging environment then
| > you can attach the c process with gdb and get the stack dump ...
| > with a live gdb we may want additional info ... the stack dump
| > will be useful to start.
| >
| > With the smalltalk stack we'll get to look at the objects around
| > the corrupt object and perhaps learn something ...
| >
| > Right now, I am curious whether the corrupt object is a WAValue or
| > a WADelegation…
| >
|
| Dale,
|   I've been banging on my Staging system all morning, and haven't
|   made it crash yet. It's a strange bug. Sometimes, it pops up on
|   the most innocent click when switching between views. In this
|   case, I'm hitting call/answers many, many times, to try to make it
|   fail. I thought we had seen it fail this way in the past, but now
|   I'm not sure.
|
|   I guess it is good news that the bug is difficult to reproduce.
|   I'll keep trying.
|
|   Where does the C stack get dumped when it gets dumped? To the
|   console or a file?
|
|   Larry
|
|
|
| > Dale
| >
| > ----- Original Message -----
| > | From: "Lawrence Kellogg" <[hidden email]>
| > | To: "GemStone Seaside beta discussion"
| > | <[hidden email]>
| > | Sent: Tuesday, February 28, 2012 12:19:33 PM
| > | Subject: Re: [GS/SS Beta] Object does not exist error - Worry
| > | about it?
| > |
| > |
| > | On Feb 28, 2012, at 2:41 PM, Dale Henrichs wrote:
| > |
| > | > Larry,
| > | >
| > | > Okay, here's the stack that covers the range of the partial
| > | > continuation:
| > | >
| > | > ==> 1 WAComponent >> decoration @3 line 1   [GsMethod
| > | > 194749441]
| > | > 2 WAComponent >> addDecoration: @2 line 6   [GsMethod
| > | > 194748417]
| > | > 3 WAComponent >> show:onAnswerelegation: @10 line 8   [GsMethod
| > | > 194749185]
| > | > 4 WAComponent >> show:onAnswer: @5 line 5   [GsMethod
| > | > 499699713]
| > | > 5 WAComponent >> call:onAnswer: @5 line 8   [GsMethod
| > | > 194750977]
| > | > 6 ComplexBlock in WAComponent >> call: @3 line 4   [GsMethod
| > | > 191317249]
| > | > 7 ComplexBlock in WAComponent >> wait: @3 line 3   [GsMethod
| > | > 191268353]
| > | > 8 GRGemStonePlatform >> seasideSuspendFlowDo: @9 line 5
| > | >   [GsMethod
| > | > 499655937]
| > | > 9 WAComponent >> wait: @4 line 3   [GsMethod 191268353]
| > | > 10 WAComponent >> call: @4 line 4   [GsMethod 191317249]
| > | > 11 PracticeJournalLoginTask >> go @14 line 9   [GsMethod
| > | > 371393537]
| > | > 12 WATask >> execute @1 line 7   [GsMethod 195261697]
| > | > 13 ComplexBlock in WATaskVisitor >> visitTask: @6 line 4
| > | >   [GsMethod 194755841]
| > | >
| > | > WAComponent >> decoration is the source of the error and it is
| > | > sending #contents to a 'decoration' of the component ... it's
| > | > not
| > | > quite clear whether the decoration iv is the corrupt object or
| > | > the
| > | > result of the #contents message send ...
| > | >
| > | > To get a better picture of what's happening we need a C stack
| > | > when
| > | > the error occurs. If you set
| > | >
| > | >  GEM_HALT_ON_ERROR = 2101;
| > | >
| > | > in your system.conf file, then when the obj does not exist
| > | > error
| > | > occurs the gem will halt, dump a c stack, wait 60 seconds and
| > | > then
| > | > shutdown ... This is pretty intrusive, but it will get us a
| > | > couple
| > | > steps closer to understanding what's going on.
| > | >
| > | > If you (or Johan) can duplicate the error under controlled
| > | > conditions then you would fire up a topaz manually to service
| > | > requests and when the halt on error hits, you'll be dropped to
| > | > the
| > | > topaz prompt where you can view the smalltalk stack and inspect
| > | > the objects involved …
| > | >
| > |
| > |   Thanks, Dale. I think I can make it crash in my Staging
| > |   environment
| > |   by going through many call/answers invocations. I will try.
| > | Unfortunately, I don't think I know enough about what Seaside is
| > | doing at that level to fix the problem. I see that the
| > | WADecoration is a WAValueHolder but that's about the end of my
| > | knowledge.
| > |
| > |   I guess there is no way of knowing from this stack dump what
| > |   kind
| > |   of WADecoration we're talking about.
| > |
| > |   Regards,
| > |
| > |   Larry
| > |  
| > |
| > | > Dale
| > | >
| > | > ----- Original Message -----
| > | > | From: "Lawrence Kellogg" <[hidden email]>
| > | > | To: "GemStone Seaside beta discussion"
| > | > | <[hidden email]>
| > | > | Sent: Monday, February 27, 2012 7:01:58 PM
| > | > | Subject: Re: [GS/SS Beta] Object does not exist error - Worry
| > | > | about it?
| > | > |
| > | > |
| > | > | On Feb 21, 2012, at 2:40 PM, Johan Brichau wrote:
| > | > |
| > | > | > fyi, I have been observing occurrences of this bug as well,
| > | > | > with
| > | > | > exactly the same point of failure in the stack.
| > | > | >
| > | > | > No repository problems or audit warnings.
| > | > | >
| > | > | > Funnily, I've never seen this in any stone running Yesplan.
| > | > | > The
| > | > | > stone where we have this problem is also running a Seaside
| > | > | > application but the only discriminating factor I can
| > | > | > observe is
| > | > | > that this application uses call/answer a lot more (while we
| > | > | > almost
| > | > | > never use that in Yesplan). It probably does not help a lot
| > | > | > finding the error... but I will look up the stack traces
| > | > | > and
| > | > | > post
| > | > | > them here if they might contain some clues.
| > | > |
| > | > | Hello Johan,
| > | > |   Thanks for looking into this problem. I use call/answer
| > | > |   quite a
| > | > |   bit.
| > | > |
| > | > |   Dale, did you see the stack dump I posted?
| > | > |
| > | > |   Larry
| > | > |
| > | > |
| > | > | >
| > | > | > On 21 Feb 2012, at 20:13, Lawrence Kellogg wrote:
| > | > | >
| > | > | >>
| > | > | >> On Feb 21, 2012, at 1:05 PM, Dale Henrichs wrote:
| > | > | >>
| > | > | >>> Larry,
| > | > | >>>
| > | > | >>> We should try to dig into this one some more.
| > | > | >>>
| > | > | >>> To start with what version of Gemstone are you using? If
| > | > | >>> you
| > | > | >>> are
| > | > | >>> using 2.4.4.1, then I'm not aware of an issue that would
| > | > | >>> warrant
| > | > | >>> an upgrade to 2.4.5, but I will check around a bit...As I
| > | > | >>> said
| > | > | >>> before, the only place that I've seen "Obj does not exist
| > | > | >>> errors" is in 3.0 and those bugs were fixed in 3.0.1.
| > | > | >>>
| > | > | >>
| > | > | >> Dale,
| > | > | >> Thanks for the help. I would like to get to the bottom of
| > | > | >> this
| > | > | >> error. This crash takes down Fastcgi so it kills the
| > | > | >> service.
| > | > | >>
| > | > | >> According to the file in the directory, I'm on 2.4.[
| > | > | >> component
| > | > | >> notNil ]
| > | > | >> whileTrue: [
| > | > | >> self call: component.
| > | > | >> component := component nextComponentToBeDisplayed ]
| > | > | >> ]4.1
| > | > | >>
| > | > | >> GemStone64Bit2.4.4.1-x86_64.Linux
| > | > | >>
| > | > | >>
| > | > | >>
| > | > | >>
| > | > | >>> This time we are getting the error while creating the
| > | > | >>> continuation ... the last episode occurred when you were
| > | > | >>> trying
| > | > | >>> to execute from a continuation.
| > | > | >>>
| > | > | >>> Could you share the source code for
| > | > | >>> PracticeJournalLoginTask
| > | > | >>> >>
| > | > | >>> go? That's the first non-Seaside method on the stack
| > | > | >>> below
| > | > | >>> the
| > | > | >>> error, so it's as good a place as any to start …
| > | > | >>>
| > | > | >>
| > | > | >> Here is the complete source code for the go method:  ;-)
| > | > | >>
| > | > | >> go
| > | > | >> | user component |
| > | > | >> self call: self userLoginView.
| > | > | >> (self userLoginView user) notNil
| > | > | >> ifTrue: [
| > | > | >> component := self firstComponentToDisplayForUser: self
| > | > | >> userLoginView user.
| > | > | >> [ component notNil ]
| > | > | >> whileTrue: [
| > | > | >> self call: component.
| > | > | >> component := component nextComponentToBeDisplayed ] ]
| > | > | >>
| > | > | >> A component is called, and when another component is
| > | > | >> selected
| > | > | >> the
| > | > | >> current component is sent answer: false and
| > | > | >> the new component to call is returned from that
| > | > | >> nextComponentToBeDisplayed method.
| > | > | >>
| > | > | >> I used to have an implementation that would give me a huge
| > | > | >> recursive nesting of continuations, as shown by
| > | > | >> halo, but this shows everything on just a few levels,
| > | > | >> although
| > | > | >> I
| > | > | >> have to say that the walkback looks deep and gnarly.
| > | > | >>
| > | > | >>
| > | > | >>> It would be useful to see the entire stack as well. The
| > | > | >>> partial
| > | > | >>> continuation copies the stack back to a marker method and
| > | > | >>> it
| > | > | >>> would be useful to examine the source for the methods
| > | > | >>> that
| > | > | >>> are
| > | > | >>> on the stck for clues as to what might be going on...
| > | > | >>>
| > | > | >>> Dale
| > | > | >>
| > | > | >>
| > | > | >> Here is the complete walk back:
| > | > | >>
| > | > | >> topaz 1> topaz 1> WAFastCGIAdaptor Server started on port
| > | > | >> 9001
| > | > | >> -----------------------------------------------------
| > | > | >> GemStone: Error         Nonfatal
| > | > | >> The object with object ID 76562293713797632 does not
| > | > | >> exist.
| > | > | >> Error Category: 231169 [GemStone] Number: 2101 Arg Count:
| > | > | >> 1
| > | > | >> Context : 412915713
| > | > | >> Arg 1: [612498349710381058 sz:0 cls: 74241 SmallInteger]
| > | > | >> 76562293713797632
| > | > | >>
| > | > | >> Now executing the following command saved from "iferr 1":
| > | > | >>  where
| > | > | >> ==> 1 WAComponent >> decoration @3 line 1   [GsMethod
| > | > | >> 194749441]
| > | > | >> 2 WAComponent >> addDecoration: @2 line 6   [GsMethod
| > | > | >> 194748417]
| > | > | >> 3 WAComponent >> show:onAnswer:delegation: @10 line 8
| > | > | >>   [GsMethod
| > | > | >> 194749185]
| > | > | >> 4 WAComponent >> show:onAnswer: @5 line 5   [GsMethod
| > | > | >> 499699713]
| > | > | >> 5 WAComponent >> call:onAnswer: @5 line 8   [GsMethod
| > | > | >> 194750977]
| > | > | >> 6 ComplexBlock in WAComponent >> call: @3 line 4
| > | > | >>   [GsMethod
| > | > | >> 191317249]
| > | > | >> 7 ComplexBlock in WAComponent >> wait: @3 line 3
| > | > | >>   [GsMethod
| > | > | >> 191268353]
| > | > | >> 8 GRGemStonePlatform >> seasideSuspendFlowDo: @9 line 5
| > | > | >>   [GsMethod 499655937]
| > | > | >> 9 WAComponent >> wait: @4 line 3   [GsMethod 191268353]
| > | > | >> 10 WAComponent >> call: @4 line 4   [GsMethod 191317249]
| > | > | >> 11 PracticeJournalLoginTask >> go @14 line 9   [GsMethod
| > | > | >> 371393537]
| > | > | >> 12 WATask >> execute @1 line 7   [GsMethod 195261697]
| > | > | >> 13 ComplexBlock in WATaskVisitor >> visitTask: @6 line 4
| > | > | >>   [GsMethod 194755841]
| > | > | >> 14 WACallback >> evaluateWithFieldValues: @5 line 2
| > | > | >>   [GsMethod
| > | > | >> 177495553]
| > | > | >> 15 ComplexBlock in WACallbackRegistry >> handle: @16 line
| > | > | >> 10
| > | > | >>   [GsMethod 177951489]
| > | > | >> 16 Collection >> do: @5 line 10   [GsMethod 1547777]
| > | > | >> 17 WACallbackRegistry >> handle: @17 line 9   [GsMethod
| > | > | >> 177951489]
| > | > | >> 18 ComplexBlock in WAActionPhaseContinuation >>
| > | > | >> runCallbacks
| > | > | >> @7
| > | > | >> line 4   [GsMethod 202613505]
| > | > | >> 19 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| > | > | >> 10065409]
| > | > | >> 20 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| > | > | >> 10062081]
| > | > | >> 21 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| > | > | >>   [GsMethod
| > | > | >> 9005057]
| > | > | >> 22 WARenderLoopContinuation >> withNotificationHandlerDo:
| > | > | >> @3
| > | > | >> line
| > | > | >> 2   [GsMethod 202608385]
| > | > | >> 23 ComplexVCBlock in WAActionPhaseContinuation >>
| > | > | >> runCallbacks
| > | > | >> @8
| > | > | >> line 3   [GsMethod 202613505]
| > | > | >> 24 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| > | > | >>   [GsMethod 2304001]
| > | > | >> 25 ComplexVCBlock in ExecutableBlock >> ensure: @6 line 11
| > | > | >>   [GsMethod 2304001]
| > | > | >> 26 WAActionPhaseContinuation >> runCallbacks @18 line 6
| > | > | >>   [GsMethod 202613505]
| > | > | >> 27 WAActionPhaseContinuation >> handleRequest @1 line 2
| > | > | >>   [GsMethod 202614017]
| > | > | >> 28 ComplexBlock in WASessionContinuation >> basicValue @3
| > | > | >> line
| > | > | >> 2
| > | > | >>   [GsMethod 202625537]
| > | > | >> 29 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| > | > | >> 10065409]
| > | > | >> 30 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| > | > | >> 10062081]
| > | > | >> 31 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| > | > | >>   [GsMethod
| > | > | >> 9005057]
| > | > | >> 32 WASessionContinuation >> withUnregisteredHandlerDo: @7
| > | > | >> line
| > | > | >> 3
| > | > | >>   [GsMethod 202627073]
| > | > | >> 33 WASessionContinuation >> basicValue @4 line 2
| > | > | >>   [GsMethod
| > | > | >> 202625537]
| > | > | >> 34 WASessionContinuation >> value @3 line 5   [GsMethod
| > | > | >> 202623745]
| > | > | >> 35 WASession >> handleFiltered: @14 line 10   [GsMethod
| > | > | >> 202205441]
| > | > | >> 36 WARequestFilter >> handleFiltered: @2 line 4
| > | > | >>   [GsMethod
| > | > | >> 176192513]
| > | > | >> 37 ComplexBlock in WADeprecatedToolFilter >>
| > | > | >> handleFiltered:
| > | > | >> @3
| > | > | >> line 2   [GsMethod 203213313]
| > | > | >> 38 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| > | > | >> 10065409]
| > | > | >> 39 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| > | > | >> 10062081]
| > | > | >> 40 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| > | > | >>   [GsMethod
| > | > | >> 9005057]
| > | > | >> 41 WADeprecatedToolFilter >> handleFiltered: @6 line 3
| > | > | >>   [GsMethod
| > | > | >> 203213313]
| > | > | >> 42 WARequestFilter >> handleFiltered: @2 line 4
| > | > | >>   [GsMethod
| > | > | >> 176192513]
| > | > | >> 43 ComplexBlock in WATimingToolFilter >> handleFiltered:
| > | > | >> @4
| > | > | >> line 3
| > | > | >>   [GsMethod 203208449]
| > | > | >> 44 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| > | > | >>   [GsMethod 2304001]
| > | > | >> 45 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
| > | > | >>   [GsMethod 2304001]
| > | > | >> 46 WATimingToolFilter >> handleFiltered: @8 line 4
| > | > | >>   [GsMethod
| > | > | >> 203208449]
| > | > | >> 47 ComplexBlock in WARequestHandler >> handle: @4 line 4
| > | > | >>   [GsMethod 178568961]
| > | > | >> 48 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| > | > | >> 10065409]
| > | > | >> 49 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| > | > | >> 10062081]
| > | > | >> 50 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| > | > | >>   [GsMethod
| > | > | >> 9005057]
| > | > | >> 51 WADynamicVariable class >> use:during: @4 line 4
| > | > | >>   [GsMethod
| > | > | >> 177805825]
| > | > | >> 52 ComplexBlock in WARequestContext >> push:during: @4
| > | > | >> line 5
| > | > | >>   [GsMethod 176176129]
| > | > | >> 53 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| > | > | >>   [GsMethod 2304001]
| > | > | >> 54 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
| > | > | >>   [GsMethod 2304001]
| > | > | >> 55 WARequestContext >> push:during: @7 line 6   [GsMethod
| > | > | >> 176176129]
| > | > | >> 56 WARequestHandler >> handle: @5 line 4   [GsMethod
| > | > | >> 178568961]
| > | > | >> 57 WASession >> handle: @10 line 11   [GsMethod 202210561]
| > | > | >> 58 WARegistry >> dispatch:to: @1 line 5   [GsMethod
| > | > | >> 176153857]
| > | > | >> 59 WARegistry >> handleKeyed:with: @2 line 5   [GsMethod
| > | > | >> 176155137]
| > | > | >> 60 WARegistry >> handleFiltered: @33 line 19   [GsMethod
| > | > | >> 176146945]
| > | > | >> 61 WAApplication >> handleFiltered: @9 line 8   [GsMethod
| > | > | >> 202644225]
| > | > | >> 62 WARequestFilter >> handleFiltered: @2 line 4
| > | > | >>   [GsMethod
| > | > | >> 176192513]
| > | > | >> 63 ComplexBlock in WAExceptionFilter >> handleFiltered: @6
| > | > | >> line 7
| > | > | >>   [GsMethod 499529473]
| > | > | >> 64 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| > | > | >> 10065409]
| > | > | >> 65 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| > | > | >> 10062081]
| > | > | >> 66 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| > | > | >>   [GsMethod
| > | > | >> 9005057]
| > | > | >> 67 WADynamicVariable class >> use:during: @4 line 4
| > | > | >>   [GsMethod
| > | > | >> 177805825]
| > | > | >> 68 ComplexVCBlock in WAExceptionFilter >> handleFiltered:
| > | > | >> @7
| > | > | >> line
| > | > | >> 6   [GsMethod 499529473]
| > | > | >> 69 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| > | > | >> 10065409]
| > | > | >> 70 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| > | > | >> 10062081]
| > | > | >> 71 ComplexVCBlock in ExecutableBlock >> on:do: @2 line 8
| > | > | >>   [GsMethod 9005057]
| > | > | >> 72 WAExceptionHandler >> handleExceptionsDuring: @8 line 3
| > | > | >>   [GsMethod 177803521]
| > | > | >> 73 WAExceptionFilter >> handleFiltered: @8 line 4
| > | > | >>   [GsMethod
| > | > | >> 499529473]
| > | > | >> 74 ComplexBlock in WARequestHandler >> handle: @4 line 4
| > | > | >>   [GsMethod 178568961]
| > | > | >> 75 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| > | > | >> 10065409]
| > | > | >> 76 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| > | > | >> 10062081]
| > | > | >> 77 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| > | > | >>   [GsMethod
| > | > | >> 9005057]
| > | > | >> 78 WADynamicVariable class >> use:during: @4 line 4
| > | > | >>   [GsMethod
| > | > | >> 177805825]
| > | > | >> 79 ComplexBlock in WARequestContext >> push:during: @4
| > | > | >> line 5
| > | > | >>   [GsMethod 176176129]
| > | > | >> 80 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| > | > | >>   [GsMethod 2304001]
| > | > | >> 81 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
| > | > | >>   [GsMethod 2304001]
| > | > | >> 82 WARequestContext >> push:during: @7 line 6   [GsMethod
| > | > | >> 176176129]
| > | > | >> 83 WARequestHandler >> handle: @5 line 4   [GsMethod
| > | > | >> 178568961]
| > | > | >> 84 WADispatcher >> handleFiltered:named: @7 line 5
| > | > | >>   [GsMethod
| > | > | >> 179090945]
| > | > | >> 85 WADispatcher >> handleFiltered: @7 line 6   [GsMethod
| > | > | >> 179087617]
| > | > | >> 86 ComplexBlock in WARequestHandler >> handle: @4 line 4
| > | > | >>   [GsMethod 178568961]
| > | > | >> 87 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| > | > | >> 10065409]
| > | > | >> 88 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| > | > | >> 10062081]
| > | > | >> 89 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| > | > | >>   [GsMethod
| > | > | >> 9005057]
| > | > | >> 90 WADynamicVariable class >> use:during: @4 line 4
| > | > | >>   [GsMethod
| > | > | >> 177805825]
| > | > | >> 91 ComplexBlock in WARequestContext >> push:during: @4
| > | > | >> line 5
| > | > | >>   [GsMethod 176176129]
| > | > | >> 92 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| > | > | >>   [GsMethod 2304001]
| > | > | >> 93 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
| > | > | >>   [GsMethod 2304001]
| > | > | >> 94 WARequestContext >> push:during: @7 line 6   [GsMethod
| > | > | >> 176176129]
| > | > | >> 95 WARequestHandler >> handle: @5 line 4   [GsMethod
| > | > | >> 178568961]
| > | > | >> 96 ComplexBlock in WAServerAdaptor >> handleRequest: @4
| > | > | >> line 4
| > | > | >>   [GsMethod 176816641]
| > | > | >> 97 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| > | > | >> 10065409]
| > | > | >> 98 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| > | > | >> 10062081]
| > | > | >> 99 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| > | > | >>   [GsMethod
| > | > | >> 9005057]
| > | > | >> 100 WAServerAdaptor >> handleRequest: @6 line 5
| > | > | >>   [GsMethod
| > | > | >> 176816641]
| > | > | >> 101 WAServerAdaptor >> handle: @1 line 4   [GsMethod
| > | > | >> 176817921]
| > | > | >> 102 ComplexBlock in WAServerAdaptor >> process: @5 line 6
| > | > | >>   [GsMethod 176817153]
| > | > | >> 103 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| > | > | >>   [GsMethod 2304001]
| > | > | >> 104 ComplexBlock in ExecutableBlock >> ensure: @6 line 11
| > | > | >>   [GsMethod 2304001]
| > | > | >> 105 WAServerAdaptor >> process: @9 line 7   [GsMethod
| > | > | >> 176817153]
| > | > | >> 106 ComplexBlock in WAFastCGIAdaptor >> process: @3 line 6
| > | > | >>   [GsMethod 212442369]
| > | > | >> 107 ComplexBlock in GRGemStonePlatform >>
| > | > | >> seasideProcessRequestWithRetry:resultBlock: @12 line 11
| > | > | >>   [GsMethod 175179265]
| > | > | >> 108 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| > | > | >> 10065409]
| > | > | >> 109 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| > | > | >> 10062081]
| > | > | >> 110 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| > | > | >>   [GsMethod 9005057]
| > | > | >> 111 ComplexVCBlock in GRGemStonePlatform >>
| > | > | >> seasideProcessRequestWithRetry:resultBlock: @18 line 12
| > | > | >>   [GsMethod 175179265]
| > | > | >> 112 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| > | > | >>   [GsMethod 2304001]
| > | > | >> 113 ComplexVCBlock in ExecutableBlock >> ensure: @6 line
| > | > | >> 11
| > | > | >>   [GsMethod 2304001]
| > | > | >> 114 TransientRecursionLock >> critical: @15 line 8
| > | > | >>   [GsMethod
| > | > | >> 21159937]
| > | > | >> 115 GRGemStonePlatform >>
| > | > | >> seasideProcessRequestWithRetry:resultBlock: @39 line 5
| > | > | >>   [GsMethod 175179265]
| > | > | >> 116 ComplexBlock in GRGemStonePlatform >>
| > | > | >> seasideProcessRequest:adaptor:resultBlock: @7 line 9
| > | > | >>   [GsMethod
| > | > | >> 175179521]
| > | > | >> 117 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| > | > | >> 10065409]
| > | > | >> 118 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| > | > | >> 10062081]
| > | > | >> 119 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| > | > | >>   [GsMethod 9005057]
| > | > | >> 120 GRGemStonePlatform >>
| > | > | >> seasideProcessRequest:adaptor:resultBlock: @32 line 17
| > | > | >>   [GsMethod 175179521]
| > | > | >> 121 WAFastCGIAdaptor >> process: @4 line 4   [GsMethod
| > | > | >> 212442369]
| > | > | >> 122 ComplexBlock in WAFastCGIAdaptor >>
| > | > | >> answerResponderRole:
| > | > | >> @3
| > | > | >> line 4   [GsMethod 212444161]
| > | > | >> 123 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| > | > | >> 10065409]
| > | > | >> 124 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| > | > | >> 10062081]
| > | > | >> 125 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| > | > | >>   [GsMethod 9005057]
| > | > | >> 126 WAFastCGIAdaptor >> answerResponderRole: @9 line 5
| > | > | >>   [GsMethod
| > | > | >> 212444161]
| > | > | >> 127 FSResponderRole >> answer @2 line 4   [GsMethod
| > | > | >> 218695937]
| > | > | >> 128 FSRole >> handleConnection @3 line 5   [GsMethod
| > | > | >> 218705409]
| > | > | >> 129 FSConnection >> unsafeServe @4 line 8   [GsMethod
| > | > | >> 219646465]
| > | > | >> 130 ComplexBlock in FSConnection >> safeServe @5 line 8
| > | > | >>   [GsMethod 499288833]
| > | > | >> 131 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| > | > | >> 10065409]
| > | > | >> 132 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| > | > | >> 10062081]
| > | > | >> 133 ComplexBlock in ExecutableBlock >> on:do: @2 line 8
| > | > | >>   [GsMethod 9005057]
| > | > | >> 134 ComplexVCBlock in FSConnection >> safeServe @8 line 9
| > | > | >>   [GsMethod 499288833]
| > | > | >> 135 ExceptionHandler >> doTryBlock: @9 line 7   [GsMethod
| > | > | >> 10065409]
| > | > | >> 136 ExceptionHandler >> try:on:do: @15 line 18   [GsMethod
| > | > | >> 10062081]
| > | > | >> 137 ComplexVCBlock in ExecutableBlock >> on:do: @2 line 8
| > | > | >>   [GsMethod 9005057]
| > | > | >> 138 ComplexVCBlock in FSConnection >> safeServe @11 line
| > | > | >> 12
| > | > | >>   [GsMethod 499288833]
| > | > | >> 139 ComplexBlock in ExecutableBlock >> ensure: @4 line 11
| > | > | >>   [GsMethod 2304001]
| > | > | >> 140 ComplexVCBlock in ExecutableBlock >> ensure: @6 line
| > | > | >> 11
| > | > | >>   [GsMethod 2304001]
| > | > | >> 141 FSConnection >> safeServe @14 line 15   [GsMethod
| > | > | >> 499288833]
| > | > | >> 142 FSConnection >> serve @1 line 4   [GsMethod 219654145]
| > | > | >> 143 ComplexBlock in FSSocketServer >> listen: @9 line 15
| > | > | >>   [GsMethod 219292673]
| > | > | >> 144 GsProcess >> _startPart2 @15 line 17   [GsMethod
| > | > | >> 4501249]
| > | > | >> 145 GsProcess >> _start @1 line 9   [GsMethod 4501761]
| > | > | >> [GsProcess 412915713]
| > | > | >> topaz 1> [268 sz:0 cls: 68097 Boolean] true
| > | > | >> topaz 1>
| > | > | >> HostCallDebugger: invoked at: Mon Feb 20 16:38:18 UTC 2012
| > | > | >>
| > | > | >> UTL_GUARANTEE failed, File
| > | > | >> /export/toronto3/users/buildgss/244x-1/src/omverify.c line
| > | > | >> 28
| > | > | >>
| > | > | >> Begin attempt to print C-level stack at: Mon Feb 20
| > | > | >> 16:38:18
| > | > | >> UTC
| > | > | >> 2012
| > | > | >>
| > | > | >>
| > | > | >> End of C-level stack:
| > | > | >>
| > | > | >>
| > | > | >> hostcalldebugger invoked in process 6550, at 02/20/2012
| > | > | >> 04:38:18
| > | > | >> PM.681 UTC
| > | > | >> notifying stone of fatal error
| > | > | >>
| > | > | >> [Info]: Logging out at 02/20/2012 04:38:18 PM UTC
| > | > | >>
| > | > | >>
| > | > | >>
| > | > | >>>
| > | > | >>> ----- Original Message -----
| > | > | >>> | From: "Lawrence Kellogg" <[hidden email]>
| > | > | >>> | To: "GemStone Seaside beta discussion"
| > | > | >>> | <[hidden email]>
| > | > | >>> | Sent: Monday, February 20, 2012 8:48:22 AM
| > | > | >>> | Subject: Re: [GS/SS Beta] Object does not exist error -
| > | > | >>> | Worry
| > | > | >>> | about it?
| > | > | >>> |
| > | > | >>> | Hello Dale,
| > | > | >>> |   Well, my system has been up for days, running with no
| > | > | >>> |   problems, not
| > | > | >>> |   that it has been getting a lot of traffic, but still,
| > | > | >>> |   no
| > | > | >>> |   crashes.
| > | > | >>> |   Today, I hit the Object does not exist error again. I
| > | > | >>> |   guess I
| > | > | >>> |   can
| > | > | >>> |   do another object audit but, other than that, I'm not
| > | > | >>> |   sure
| > | > | >>> |   how to
| > | > | >>> |   proceed. Do you think an upgrade to 2.4.5 will help
| > | > | >>> |   me?
| > | > | >>> |
| > | > | >>> |   Here is the walkback:
| > | > | >>> |
| > | > | >>> | topaz 1> topaz 1> WAFastCGIAdaptor Server started on
| > | > | >>> | port
| > | > | >>> | 9001
| > | > | >>> | -----------------------------------------------------
| > | > | >>> | GemStone: Error         Nonfatal
| > | > | >>> | The object with object ID 76562293713797632 does not
| > | > | >>> | exist.
| > | > | >>> | Error Category: 231169 [GemStone] Number: 2101 Arg
| > | > | >>> | Count: 1
| > | > | >>> | Context :
| > | > | >>> | 412915713
| > | > | >>> | Arg 1: [612498349710381058 sz:0 cls: 74241
| > | > | >>> | SmallInteger]
| > | > | >>> | 76562293713797632
| > | > | >>> |
| > | > | >>> | Now executing the following command saved from "iferr
| > | > | >>> | 1":
| > | > | >>> |    where
| > | > | >>> | ==> 1 WAComponent >> decoration @3 line 1   [GsMethod
| > | > | >>> | 194749441]
| > | > | >>> | 2 WAComponent >> addDecoration: @2 line 6   [GsMethod
| > | > | >>> | 194748417]
| > | > | >>> | 3 WAComponent >> show:onAnswer:delegation: @10 line 8
| > | > | >>> |   [GsMethod
| > | > | >>> | 194749185]
| > | > | >>> | 4 WAComponent >> show:onAnswer: @5 line 5   [GsMethod
| > | > | >>> | 499699713]
| > | > | >>> | 5 WAComponent >> call:onAnswer: @5 line 8   [GsMethod
| > | > | >>> | 194750977]
| > | > | >>> | 6 ComplexBlock in WAComponent >> call: @3 line 4
| > | > | >>> |   [GsMethod
| > | > | >>> | 191317249]
| > | > | >>> | 7 ComplexBlock in WAComponent >> wait: @3 line 3
| > | > | >>> |   [GsMethod
| > | > | >>> | 191268353]
| > | > | >>> | 8 GRGemStonePlatform >> seasideSuspendFlowDo: @9 line 5
| > | > | >>> |   [GsMethod
| > | > | >>> | 499655937]
| > | > | >>> | 9 WAComponent >> wait: @4 line 3   [GsMethod 191268353]
| > | > | >>> | 10 WAComponent >> call: @4 line 4   [GsMethod
| > | > | >>> | 191317249]
| > | > | >>> | 11 PracticeJournalLoginTask >> go @14 line 9
| > | > | >>> |   [GsMethod
| > | > | >>> | 371393537]
| > | > | >>> |
| > | > | >>> |
| > | > | >>> | Larry
| > | > | >>> |
| > | > | >>> | On Feb 11, 2012, at 2:34 PM, Dale Henrichs wrote:
| > | > | >>> |
| > | > | >>> | > Larry,
| > | > | >>> | >
| > | > | >>> | > Yes, everything looks clean, I'm a little bit
| > | > | >>> | > surprised
| > | > | >>> | > that
| > | > | >>> | > you
| > | > | >>> | > didn't find the original error in you first audit,
| > | > | >>> | > but
| > | > | >>> | > the
| > | > | >>> | > implication is that the "corrupt object" never got
| > | > | >>> | > persisted
| > | > | >>> | > ...
| > | > | >>> | > indicating some other type of corruption ...
| > | > | >>> | >
| > | > | >>> | > A clean object audit means that your data base has no
| > | > | >>> | > corruption so
| > | > | >>> | > you're good to go ... I'll talk to some guys on
| > | > | >>> | > Monday
| > | > | >>> | > and
| > | > | >>> | > see if
| > | > | >>> | > they have some ideas as to what might have
| > | > | >>> | > happened...there's
| > | > | >>> | > a
| > | > | >>> | > bug in there somewhere, but for now it looks like it
| > | > | >>> | > is
| > | > | >>> | > isolated
| > | > | >>> | > to the local state in a gem ...
| > | > | >>> | >
| > | > | >>> | > Dale
| > | > | >>> | >
| > | > | >>> | > ----- Original Message -----
| > | > | >>> | > | From: "Lawrence Kellogg" <[hidden email]>
| > | > | >>> | > | To: "GemStone Seaside beta discussion"
| > | > | >>> | > | <[hidden email]>
| > | > | >>> | > | Sent: Saturday, February 11, 2012 4:18:06 AM
| > | > | >>> | > | Subject: Re: [GS/SS Beta] Object does not exist
| > | > | >>> | > | error -
| > | > | >>> | > | Worry
| > | > | >>> | > | about it?
| > | > | >>> | > |
| > | > | >>> | > |
| > | > | >>> | > | On Feb 10, 2012, at 7:04 PM, Dale Henrichs wrote:
| > | > | >>> | > |
| > | > | >>> | > | > Larry,
| > | > | >>> | > | >
| > | > | >>> | > | > Object does not exist errors are not good things
| > | > | >>> | > | > ...
| > | > | >>> | > | > and
| > | > | >>> | > | > the
| > | > | >>> | > | > gem
| > | > | >>> | > | > coming down in this case is probably a good thing
| > | > | >>> | > | > ...
| > | > | >>> | > | > The
| > | > | >>> | > | > fact
| > | > | >>> | > | > that the problem is showing up in a GsProcess
| > | > | >>> | > | > means
| > | > | >>> | > | > that
| > | > | >>> | > | > the
| > | > | >>> | > | > Seaside session data structures are corrupted but
| > | > | >>> | > | > not
| > | > | >>> | > | > your
| > | > | >>> | > | > model
| > | > | >>> | > | > data ...
| > | > | >>> | > | >
| > | > | >>> | > | > You can check for corruption in your data base by
| > | > | >>> | > | > running
| > | > | >>> | > | > an
| > | > | >>> | > | > object
| > | > | >>> | > | > audit (see section 8.2 of the System
| > | > | >>> | > | > Administration
| > | > | >>> | > | > Guide[1]).
| > | > | >>> | > | > If
| > | > | >>> | > | > you follow these steps you own't need to run the
| > | > | >>> | > | > object
| > | > | >>> | > | > audit
| > | > | >>> | > | > as
| > | > | >>> | > | > single user (see the docs):
| > | > | >>> | > | >
| > | > | >>> | > | >  - expire sessions
| > | > | >>> | > | >  - mfc
| > | > | >>> | > | >  - reclaimAll
| > | > | >>> | > | >  - object audit
| > | > | >>> | > | >
| > | > | >>> | > |
| > | > | >>> | > | Hello Dale,
| > | > | >>> | > |   Ok, I ran:
| > | > | >>> | > |
| > | > | >>> | > | System stopUserSessions
| > | > | >>> | > | SystemRepository objectAudit
| > | > | >>> | > | SystemRepository markForCollection
| > | > | >>> | > | SystemRepository reclaimAll
| > | > | >>> | > | SystemRepository objectAudit
| > | > | >>> | > |
| > | > | >>> | > | I don't see any errors. Here is my log. What do you
| > | > | >>> | > | make of
| > | > | >>> | > | it?
| > | > | >>> | > |
| > | > | >>> | > | Larry
| > | > | >>> | > |
| > | > | >>> | > |
| > | > | >>> | > | [Info]: Login Time: 02/11/2012 12:06:22 PM.972 UTC
| > | > | >>> | > | [02/11/2012 12:06:23 PM.001 UTC] gci login:
| > | > | >>> | > | currSession
| > | > | >>> | > | 1
| > | > | >>> | > | rpc gem
| > | > | >>> | > | processId -1
| > | > | >>> | > | successful login
| > | > | >>> | > | topaz 1> printit
| > | > | >>> | > | System hasMissingGcGems
| > | > | >>> | > | %
| > | > | >>> | > | false
| > | > | >>> | > | topaz 1> printit
| > | > | >>> | > | System stopUserSessions
| > | > | >>> | > | %
| > | > | >>> | > | System class
| > | > | >>> | > |   superClass      Object class
| > | > | >>> | > |   format          32
| > | > | >>> | > |   instVars        0
| > | > | >>> | > |   instVarNames    an Array
| > | > | >>> | > |   constraints     an Array
| > | > | >>> | > |   classVars       a SymbolDictionary
| > | > | >>> | > |   methodDict      a GsMethodDictionary
| > | > | >>> | > |   poolDictionaries an Array
| > | > | >>> | > |   categories      a GsMethodDictionary
| > | > | >>> | > |   secondarySuperclasses nil
| > | > | >>> | > |   name            System
| > | > | >>> | > |   classHistory    a ClassHistory
| > | > | >>> | > |   description     a GsClassDocumentation
| > | > | >>> | > |   migrationDestination nil
| > | > | >>> | > |   timeStamp       a DateTime
| > | > | >>> | > |   userId          SystemUser
| > | > | >>> | > |   extraDict       a SymbolDictionary
| > | > | >>> | > |   classCategory   nil
| > | > | >>> | > |   subclasses      nil
| > | > | >>> | > |
| > | > | >>> | > | topaz 1> printit
| > | > | >>> | > | SystemRepository objectAudit
| > | > | >>> | > | %
| > | > | >>> | > | --reclaimAll: changed StnSignalAbortCrBacklog from
| > | > | >>> | > | 20
| > | > | >>> | > | to 3
| > | > | >>> | > | --setGcConfig: set reclaimMinPages to 1
| > | > | >>> | > | --reclaimAll: changed reclaimMinPages from 40 to 1
| > | > | >>> | > | --setGcConfig: set reclaimSleepTime to 1
| > | > | >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| > | > | >>> | > | --reclaimAll: using reclaimDeadEnabled true
| > | > | >>> | > | --reclaimAll: simpleCommit loopCount 10
| > | > | >>> | > | 02/11/2012 12:07:41 PM.070 UTC: Starting object
| > | > | >>> | > | table
| > | > | >>> | > | scan
| > | > | >>> | > | 02/11/2012 12:07:41 PM.698 UTC: Finished object
| > | > | >>> | > | table
| > | > | >>> | > | scan
| > | > | >>> | > |
| > | > | >>> | > | Object audit is proceeding in FullAudit mode:
| > | > | >>> | > | Scavenging completed (either single user mode or no
| > | > | >>> | > | pages
| > | > | >>> | > | to
| > | > | >>> | > | scavenge).
| > | > | >>> | > | All audit checks are enabled.
| > | > | >>> | > |
| > | > | >>> | > | Object audit as of 02/11/2012 12:07:41 PM UTC.
| > | > | >>> | > | Summary of objects whose sizes exceed 100000 Bytes
| > | > | >>> | > | or
| > | > | >>> | > | Oops:
| > | > | >>> | > |
| > | > | >>> | > |   ObjectID        Class     ClassName
| > | > | >>> | > |                                  LogicalSize
| > | > | >>> | > | --------------------------------------------------------------------------------------------------------------
| > | > | >>> | > |     305743617         74753 String
| > | > | >>> | > |                                          134740
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     149534721         74753 String
| > | > | >>> | > |                                          164661
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     173784833         74753 String
| > | > | >>> | > |                                          163312
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     196368897         74753 String
| > | > | >>> | > |                                          164661
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     305774593         74753 String
| > | > | >>> | > |                                          134740
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     175519489         74753 String
| > | > | >>> | > |                                          376305
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     196571393         74753 String
| > | > | >>> | > |                                          379399
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     175494145         74753 String
| > | > | >>> | > |                                          201874
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     197005569         74753 String
| > | > | >>> | > |                                          202074
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     149996289         74753 String
| > | > | >>> | > |                                          236426
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     151722753         74753 String
| > | > | >>> | > |                                          379399
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     151723777         74753 String
| > | > | >>> | > |                                          202074
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     274619393         74753 String
| > | > | >>> | > |                                         1170577
| > | > | >>> | > |                                         Oops
| > | > | >>> | > |     265139713         74753 String
| > | > | >>> | > |                                         1170577
| > | > | >>> | > |                                         Oops
| > | > | >>> | > |     215910913         66817 Array
| > | > | >>> | > |                                           331214
| > | > | >>> | > |                                           Oops
| > | > | >>> | > |     164965121         74753 String
| > | > | >>> | > |                                          236201
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     197155585         74753 String
| > | > | >>> | > |                                          236426
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     271373057         74753 String
| > | > | >>> | > |                                         1170577
| > | > | >>> | > |                                         Oops
| > | > | >>> | > |     268426753         74753 String
| > | > | >>> | > |                                          134740
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     264103681         74753 String
| > | > | >>> | > |                                         1170577
| > | > | >>> | > |                                         Oops
| > | > | >>> | > |
| > | > | >>> | > | ----------- Object Statistics Summary
| > | > | >>> | > | -----------------
| > | > | >>> | > |
| > | > | >>> | > | ----- Instances of invisible (private) classes
| > | > | >>> | > | ------
| > | > | >>> | > |    Number of instances:         1072
| > | > | >>> | > |             Total size:        15855 K Bytes
| > | > | >>> | > |           Average size:         14.8 Bytes
| > | > | >>> | > |
| > | > | >>> | > |           Class:       209153 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       209409 Instances:
| > | > | >>> | > |                   1072
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                  15855 K Bytes
| > | > | >>> | > |           Class:       209665 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       209921 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       210177 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       210433 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       210689 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       210945 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       211201 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       211457 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       211713 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       211969 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       212225 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       212481 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       212737 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       212993 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       213249 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       213505 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       213761 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |
| > | > | >>> | > |
| > | > | >>> | > | ----- Instances of visible classes
| > | > | >>> | > | -----------------
| > | > | >>> | > |    Number of objects      :      1633432
| > | > | >>> | > |    Total Size             :       157861 K Bytes
| > | > | >>> | > |    size of Object Headers :        38283 K Bytes
| > | > | >>> | > |    size of Object Values  :       116978 K Bytes
| > | > | >>> | > |    size of Object Tags    :            0 K Bytes
| > | > | >>> | > |    average of Object Value:         73.3 Bytes
| > | > | >>> | > |
| > | > | >>> | > | Object Audit: Audit successfully completed; no
| > | > | >>> | > | errors
| > | > | >>> | > | were
| > | > | >>> | > | detected.
| > | > | >>> | > | --setGcConfig: set reclaimMinPages to 40
| > | > | >>> | > | --setGcConfig: set reclaimSleepTime to 10
| > | > | >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| > | > | >>> | > | --postReclaimAll: restored reclaimMinPages to 40
| > | > | >>> | > | true
| > | > | >>> | > | topaz 1> printit
| > | > | >>> | > | SystemRepository markForCollection
| > | > | >>> | > | %
| > | > | >>> | > | start MFC mark/sweep phase: 02/11/2012 12:08:56 PM
| > | > | >>> | > | UTC
| > | > | >>> | > | WARNING, unable to resolve either
| > | > | >>> | > | garMarkSweepPageBufSize
| > | > | >>> | > | or
| > | > | >>> | > | mfcGcPageBufSize, using default 320
| > | > | >>> | > | MarkSweepArgsSType::(): buffer size= 320 pages
| > | > | >>> | > | start MFC process dead phase: 02/11/2012 12:08:59
| > | > | >>> | > | PM
| > | > | >>> | > | UTC
| > | > | >>> | > | end MFC: 02/11/2012 12:08:59 PM UTC
| > | > | >>> | > | Successful completion of markForCollection.
| > | > | >>> | > |     1613875 live objects found.
| > | > | >>> | > |     20629 possible dead objects, occupying
| > | > | >>> | > |     approximately
| > | > | >>> | > |     1856610
| > | > | >>> | > |     bytes, may be reclaimed.
| > | > | >>> | > | topaz 1> printit
| > | > | >>> | > | SystemRepository reclaimAll
| > | > | >>> | > | %
| > | > | >>> | > | --reclaimAll: changed StnSignalAbortCrBacklog from
| > | > | >>> | > | 20
| > | > | >>> | > | to 3
| > | > | >>> | > | --setGcConfig: set reclaimMinPages to 1
| > | > | >>> | > | --reclaimAll: changed reclaimMinPages from 40 to 1
| > | > | >>> | > | --setGcConfig: set reclaimSleepTime to 1
| > | > | >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| > | > | >>> | > | --reclaimAll: using reclaimDeadEnabled true
| > | > | >>> | > | --reclaimAll: simpleCommit loopCount 10
| > | > | >>> | > | an Array
| > | > | >>> | > |   #1 40
| > | > | >>> | > |   #2 10
| > | > | >>> | > |   #3 0
| > | > | >>> | > |
| > | > | >>> | > | topaz 1> printit
| > | > | >>> | > | SystemRepository objectAudit
| > | > | >>> | > | %
| > | > | >>> | > | --reclaimAll: changed StnSignalAbortCrBacklog from
| > | > | >>> | > | 20
| > | > | >>> | > | to 3
| > | > | >>> | > | --setGcConfig: set reclaimMinPages to 1
| > | > | >>> | > | --reclaimAll: changed reclaimMinPages from 1 to 1
| > | > | >>> | > | --setGcConfig: set reclaimSleepTime to 1
| > | > | >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| > | > | >>> | > | --reclaimAll: using reclaimDeadEnabled true
| > | > | >>> | > | 02/11/2012 12:11:27 PM.328 UTC: Starting object
| > | > | >>> | > | table
| > | > | >>> | > | scan
| > | > | >>> | > | 02/11/2012 12:11:27 PM.921 UTC: Finished object
| > | > | >>> | > | table
| > | > | >>> | > | scan
| > | > | >>> | > |
| > | > | >>> | > | Object audit is proceeding in FullAudit mode:
| > | > | >>> | > | Scavenging completed (either single user mode or no
| > | > | >>> | > | pages
| > | > | >>> | > | to
| > | > | >>> | > | scavenge).
| > | > | >>> | > | All audit checks are enabled.
| > | > | >>> | > |
| > | > | >>> | > | Object audit as of 02/11/2012 12:11:27 PM UTC.
| > | > | >>> | > | Summary of objects whose sizes exceed 100000 Bytes
| > | > | >>> | > | or
| > | > | >>> | > | Oops:
| > | > | >>> | > |
| > | > | >>> | > |   ObjectID        Class     ClassName
| > | > | >>> | > |                                  LogicalSize
| > | > | >>> | > | --------------------------------------------------------------------------------------------------------------
| > | > | >>> | > |     305743617         74753 String
| > | > | >>> | > |                                          134740
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     149534721         74753 String
| > | > | >>> | > |                                          164661
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     173784833         74753 String
| > | > | >>> | > |                                          163312
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     196368897         74753 String
| > | > | >>> | > |                                          164661
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     305774593         74753 String
| > | > | >>> | > |                                          134740
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     175519489         74753 String
| > | > | >>> | > |                                          376305
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     196571393         74753 String
| > | > | >>> | > |                                          379399
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     175494145         74753 String
| > | > | >>> | > |                                          201874
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     197005569         74753 String
| > | > | >>> | > |                                          202074
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     149996289         74753 String
| > | > | >>> | > |                                          236426
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     151722753         74753 String
| > | > | >>> | > |                                          379399
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     151723777         74753 String
| > | > | >>> | > |                                          202074
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     274619393         74753 String
| > | > | >>> | > |                                         1170577
| > | > | >>> | > |                                         Oops
| > | > | >>> | > |     265139713         74753 String
| > | > | >>> | > |                                         1170577
| > | > | >>> | > |                                         Oops
| > | > | >>> | > |     215910913         66817 Array
| > | > | >>> | > |                                           331214
| > | > | >>> | > |                                           Oops
| > | > | >>> | > |     164965121         74753 String
| > | > | >>> | > |                                          236201
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     197155585         74753 String
| > | > | >>> | > |                                          236426
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     271373057         74753 String
| > | > | >>> | > |                                         1170577
| > | > | >>> | > |                                         Oops
| > | > | >>> | > |     268426753         74753 String
| > | > | >>> | > |                                          134740
| > | > | >>> | > |                                          Oops
| > | > | >>> | > |     264103681         74753 String
| > | > | >>> | > |                                         1170577
| > | > | >>> | > |                                         Oops
| > | > | >>> | > |
| > | > | >>> | > | ----------- Object Statistics Summary
| > | > | >>> | > | -----------------
| > | > | >>> | > |
| > | > | >>> | > | ----- Instances of invisible (private) classes
| > | > | >>> | > | ------
| > | > | >>> | > |    Number of instances:         1072
| > | > | >>> | > |             Total size:        15855 K Bytes
| > | > | >>> | > |           Average size:         14.8 Bytes
| > | > | >>> | > |
| > | > | >>> | > |           Class:       209153 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       209409 Instances:
| > | > | >>> | > |                   1072
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                  15855 K Bytes
| > | > | >>> | > |           Class:       209665 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       209921 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       210177 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       210433 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       210689 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       210945 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       211201 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       211457 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       211713 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       211969 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       212225 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       212481 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       212737 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       212993 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       213249 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       213505 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |           Class:       213761 Instances:
| > | > | >>> | > |                      0
| > | > | >>> | > |           Total
| > | > | >>> | > |           Size:
| > | > | >>> | > |                      0 K Bytes
| > | > | >>> | > |
| > | > | >>> | > |
| > | > | >>> | > | ----- Instances of visible classes
| > | > | >>> | > | -----------------
| > | > | >>> | > |    Number of objects      :      1612803
| > | > | >>> | > |    Total Size             :       156912 K Bytes
| > | > | >>> | > |    size of Object Headers :        37800 K Bytes
| > | > | >>> | > |    size of Object Values  :       116516 K Bytes
| > | > | >>> | > |    size of Object Tags    :            0 K Bytes
| > | > | >>> | > |    average of Object Value:         74.0 Bytes
| > | > | >>> | > |
| > | > | >>> | > | Object Audit: Audit successfully completed; no
| > | > | >>> | > | errors
| > | > | >>> | > | were
| > | > | >>> | > | detected.
| > | > | >>> | > | --setGcConfig: set reclaimMinPages to 1
| > | > | >>> | > | --setGcConfig: set reclaimSleepTime to 1
| > | > | >>> | > | --setGcConfig: set sleepTimeBetweenReclaimMs to 0
| > | > | >>> | > | --postReclaimAll: restored reclaimMinPages to 1
| > | > | >>> | > | true
| > | > | >>> | > | topaz 1>
| > | > | >>> | > | topaz 1>
| > | > | >>> | > |
| > | > | >>> | > |
| > | > | >>> | > | > If, as I suspect, you've got corruption in
| > | > | >>> | > | > GsProcess
| > | > | >>> | > | > objects
| > | > | >>> | > | > they
| > | > | >>> | > | > only impact Seaside session state, and should
| > | > | >>> | > | > have
| > | > | >>> | > | > disappeared
| > | > | >>> | > | > by
| > | > | >>> | > | > the time you run the object audit ...
| > | > | >>> | > | >
| > | > | >>> | > | > This problems seems to ring a bell, but it seems
| > | > | >>> | > | > to
| > | > | >>> | > | > me
| > | > | >>> | > | > that the
| > | > | >>> | > | > problem I am thinking of showed up in GemStone
| > | > | >>> | > | > 3.0
| > | > | >>> | > | > and I
| > | > | >>> | > | > think
| > | > | >>> | > | > it
| > | > | >>> | > | > was fixed in GemStone 3.0.1... so I'm curious
| > | > | >>> | > | > what
| > | > | >>> | > | > version of
| > | > | >>> | > | > GemStone you are using.
| > | > | >>> | > | >
| > | > | >>> | > | > As I think about this, I seem to recall that the
| > | > | >>> | > | > problem
| > | > | >>> | > | > was
| > | > | >>> | > | > related to deeply nested block structure in a
| > | > | >>> | > | > method
| > | > | >>> | > | > that
| > | > | >>> | > | > was
| > | > | >>> | > | > involved in partial continuations, so I am
| > | > | >>> | > | > curious if
| > | > | >>> | > | > you
| > | > | >>> | > | > happen
| > | > | >>> | > | > to have some deeply nested block structures let's
| > | > | >>> | > | > say
| > | > | >>> | > | > more than
| > | > | >>> | > | > 5
| > | > | >>> | > | > or 6 levels deep in your method? In fact even in
| > | > | >>> | > | > 3.0.1 I
| > | > | >>> | > | > think
| > | > | >>> | > | > that there might be an effective limit (the
| > | > | >>> | > | > engineer
| > | > | >>> | > | > that
| > | > | >>> | > | > worked
| > | > | >>> | > | > on this will be back on Monday for exact
| > | > | >>> | > | > details), so
| > | > | >>> | > | > if
| > | > | >>> | > | > you
| > | > | >>> | > | > are
| > | > | >>> | > | > running with 3.0.1, you should definitely be
| > | > | >>> | > | > suspicious
| > | > | >>> | > | > of deep
| > | > | >>> | > | > nesting of blocks...
| > | > | >>> | > | >
| > | > | >>> | > | > Dale
| > | > | >>> | > | >
| > | > | >>> | > | > [1]
| > | > | >>> | > | > http://community.gemstone.com/display/GSS64/GemStoneS+64+Documentation
| > | > | >>> | > | >
| > | > | >>> | > | > ----- Original Message -----
| > | > | >>> | > | > | From: "Lawrence Kellogg" <[hidden email]>
| > | > | >>> | > | > | To: "GemStone Seaside beta discussion"
| > | > | >>> | > | > | <[hidden email]>
| > | > | >>> | > | > | Sent: Friday, February 10, 2012 2:13:15 PM
| > | > | >>> | > | > | Subject: [GS/SS Beta] Object does not exist
| > | > | >>> | > | > | error -
| > | > | >>> | > | > | Worry
| > | > | >>> | > | > | about
| > | > | >>> | > | > | it?
| > | > | >>> | > | > |
| > | > | >>> | > | > |
| > | > | >>> | > | > |
| > | > | >>> | > | > | Hello,
| > | > | >>> | > | > | After a long series of calls and answers in
| > | > | >>> | > | > | Seaside, I
| > | > | >>> | > | > | got an
| > | > | >>> | > | > | Object
| > | > | >>> | > | > | does not exist error that brought down the fast
| > | > | >>> | > | > | cgi
| > | > | >>> | > | > | gateway.
| > | > | >>> | > | > | My
| > | > | >>> | > | > | production error handler was not triggered,
| > | > | >>> | > | > | although it
| > | > | >>> | > | > | was
| > | > | >>> | > | > | installed, as far as I could tell. Strange. My
| > | > | >>> | > | > | supervise
| > | > | >>> | > | > | fastcgi
| > | > | >>> | > | > | process also did not pick up my dead fastcgi
| > | > | >>> | > | > | process.
| > | > | >>> | > | > | Not a
| > | > | >>> | > | > | good
| > | > | >>> | > | > | day.
| > | > | >>> | > | > |
| > | > | >>> | > | > | Here is the walkback:
| > | > | >>> | > | > |
| > | > | >>> | > | > |
| > | > | >>> | > | > |
| > | > | >>> | > | > | USER IDS: REAL=seasideuser (500)
| > | > | >>> | > | > | EFFECTIVE=seasideuser
| > | > | >>> | > | > | (500)
| > | > | >>> | > | > | |
| > | > | >>> | > | > | |_____________________________________________________________________________|
| > | > | >>> | > | > | topaz> topaz> topaz> topaz> topaz> topaz>
| > | > | >>> | > | > | topaz>
| > | > | >>> | > | > | [Info]: LNK
| > | > | >>> | > | > | client/gem GCI levels = 844/844
| > | > | >>> | > | > | [Info]: User ID: DataCurator
| > | > | >>> | > | > | [Info]: Repository: seaside
| > | > | >>> | > | > | [Info]: Session ID: 5
| > | > | >>> | > | > | [Info]: GCI Client Host: <Linked>
| > | > | >>> | > | > | [Info]: Page server PID: -1
| > | > | >>> | > | > | [Info]: Login Time: 02/10/2012 09:27:56 PM.572
| > | > | >>> | > | > | UTC
| > | > | >>> | > | > | [02/10/2012 09:27:56 PM.592 UTC] gci login:
| > | > | >>> | > | > | currSession
| > | > | >>> | > | > | 1 rpc
| > | > | >>> | > | > | gem
| > | > | >>> | > | > | processId -1
| > | > | >>> | > | > | successful login
| > | > | >>> | > | > | topaz 1> topaz 1> [20 sz:0 cls: 76289
| > | > | >>> | > | > | UndefinedObject]
| > | > | >>> | > | > | nil
| > | > | >>> | > | > | topaz 1> topaz 1> [76033 sz:19 cls: 801793
| > | > | >>> | > | > | System
| > | > | >>> | > | > | class]
| > | > | >>> | > | > | System
| > | > | >>> | > | > | class
| > | > | >>> | > | > | superClass [72193 sz:19 cls: 206081 Object
| > | > | >>> | > | > | class]
| > | > | >>> | > | > | Object
| > | > | >>> | > | > | class
| > | > | >>> | > | > | format [258 sz:0 cls: 74241 SmallInteger] 32
| > | > | >>> | > | > | instVars [2 sz:0 cls: 74241 SmallInteger] 0
| > | > | >>> | > | > | instVarNames [422145 sz:0 cls: 66817 Array] an
| > | > | >>> | > | > | Array
| > | > | >>> | > | > | constraints [421889 sz:0 cls: 66817 Array] an
| > | > | >>> | > | > | Array
| > | > | >>> | > | > | classVars [421633 sz:26 cls: 111361
| > | > | >>> | > | > | SymbolDictionary] a
| > | > | >>> | > | > | SymbolDictionary
| > | > | >>> | > | > | methodDict [711937 sz:112 cls: 99073
| > | > | >>> | > | > | GsMethodDictionary] a
| > | > | >>> | > | > | GsMethodDictionary
| > | > | >>> | > | > | poolDictionaries [421377 sz:0 cls: 66817 Array]
| > | > | >>> | > | > | an
| > | > | >>> | > | > | Array
| > | > | >>> | > | > | categories [421121 sz:28 cls: 99073
| > | > | >>> | > | > | GsMethodDictionary]
| > | > | >>> | > | > | a
| > | > | >>> | > | > | GsMethodDictionary
| > | > | >>> | > | > | secondarySuperclasses [20 sz:0 cls: 76289
| > | > | >>> | > | > | UndefinedObject]
| > | > | >>> | > | > | nil
| > | > | >>> | > | > | name [801537 sz:6 cls: 110849 Symbol] System
| > | > | >>> | > | > | classHistory [420865 sz:3 cls: 82689
| > | > | >>> | > | > | ClassHistory]
| > | > | >>> | > | > | a
| > | > | >>> | > | > | ClassHistory
| > | > | >>> | > | > | description [13498369 sz:10 cls: 95233
| > | > | >>> | > | > | GsClassDocumentation]
| > | > | >>> | > | > | a
| > | > | >>> | > | > | GsClassDocumentation
| > | > | >>> | > | > | migrationDestination [20 sz:0 cls: 76289
| > | > | >>> | > | > | UndefinedObject] nil
| > | > | >>> | > | > | timeStamp [14510593 sz:4 cls: 118785 DateTime]
| > | > | >>> | > | > | a
| > | > | >>> | > | > | DateTime
| > | > | >>> | > | > | userId [14508801 sz:10 cls: 74753 String]
| > | > | >>> | > | > | SystemUser
| > | > | >>> | > | > | extraDict [14524929 sz:14 cls: 111361
| > | > | >>> | > | > | SymbolDictionary]
| > | > | >>> | > | > | a
| > | > | >>> | > | > | SymbolDictionary
| > | > | >>> | > | > | classCategory [20 sz:0 cls: 76289
| > | > | >>> | > | > | UndefinedObject]
| > | > | >>> | > | > | nil
| > | > | >>> | > | > | subclasses [20 sz:0 cls: 76289 UndefinedObject]
| > | > | >>> | > | > | nil
| > | > | >>> | > | > |
| > | > | >>> | > | > |
| > | > | >>> | > | > | topaz 1> topaz 1> WAFastCGIAdaptor Server
| > | > | >>> | > | > | started
| > | > | >>> | > | > | on
| > | > | >>> | > | > | port
| > | > | >>> | > | > | 9001
| > | > | >>> | > | > | -----------------------------------------------------
| > | > | >>> | > | > | GemStone: Error Nonfatal
| > | > | >>> | > | > | The object with object ID 81065894683350528
| > | > | >>> | > | > | does
| > | > | >>> | > | > | not
| > | > | >>> | > | > | exist.
| > | > | >>> | > | > | Error Category: 231169 [GemStone] Number: 2101
| > | > | >>> | > | > | Arg
| > | > | >>> | > | > | Count: 1
| > | > | >>> | > | > | Context :
| > | > | >>> | > | > | 526648321
| > | > | >>> | > | > | Arg 1: [648527157466804226 sz:0 cls: 74241
| > | > | >>> | > | > | SmallInteger]
| > | > | >>> | > | > | 81065894683350528
| > | > | >>> | > | > |
| > | > | >>> | > | > |
| > | > | >>> | > | > | Now executing the following command saved from
| > | > | >>> | > | > | "iferr
| > | > | >>> | > | > | 1":
| > | > | >>> | > | > | where
| > | > | >>> | > | > | ==> 1 GsProcess class >>
| > | > | >>> | > | > | installPartialContinuation:atLevel:value: @2
| > | > | >>> | > | > | line 1 [GsMethod 4487425]
| > | > | >>> | > | > | 2 WAPartialContinuation >> value: @13 line 11
| > | > | >>> | > | > | [GsMethod
| > | > | >>> | > | > | 212791041]
| > | > | >>> | > | > | 3 WAPartialContinuation >>
| > | > | >>> | > | > | valueWithPossibleArguments:
| > | > | >>> | > | > | @2
| > | > | >>> | > | > | line 2
| > | > | >>> | > | > | [GsMethod 218326273]
| > | > | >>> | > | > | 4 ComplexBlock in WAComponent >>
| > | > | >>> | > | > | show:onAnswer:delegation: @7
| > | > | >>> | > | > | line 7
| > | > | >>> | > | > | [GsMethod 194749185]
| > | > | >>> | > | > | 5 ComplexBlock in ExecutableBlock >>
| > | > | >>> | > | > | valueWithPossibleArguments:
| > | > | >>> | > | > | @12
| > | > | >>> | > | > | line 8 [GsMethod 116163585]
| > | > | >>> | > | > | 6 WAAnswerHandler >> handleAnswer:continueWith:
| > | > | >>> | > | > | @3
| > | > | >>> | > | > | line
| > | > | >>> | > | > | 2
| > | > | >>> | > | > | [GsMethod
| > | > | >>> | > | > | 194735873]
| > | > | >>> | > | > | 7 WADecoration >> handleAnswer: @6 line 3
| > | > | >>> | > | > | [GsMethod
| > | > | >>> | > | > | 194731009]
| > | > | >>> | > | > | 8 WAComponent >> answer: @2 line 5 [GsMethod
| > | > | >>> | > | > | 194751745]
| > | > | >>> | > | > |
| > | > | >>> | > | > |
| > | > | >>> | > | > |
| > | > | >>> | > | > |
| > | > | >>> | > | > | I found this on the net:
| > | > | >>> | > | > |
| > | > | >>> | > | > |
| > | > | >>> | > | > |
| > | > | >>> | > | > | Object does not exist errors
| > | > | >>> | > | > | GBS applications may encounter object does not
| > | > | >>> | > | > | exist
| > | > | >>> | > | > | errors
| > | > | >>> | > | > | in
| > | > | >>> | > | > | non-persistent
| > | > | >>> | > | > | objects. This is due to a problem with the fix
| > | > | >>> | > | > | for
| > | > | >>> | > | > | bug
| > | > | >>> | > | > | #40703
| > | > | >>> | > | > | in
| > | > | >>> | > | > | version
| > | > | >>> | > | > | 2.4.4, which resulted in non-persistent objects
| > | > | >>> | > | > | not
| > | > | >>> | > | > | properly
| > | > | >>> | > | > | protected
| > | > | >>> | > | > | from garbage collection.
| > | > | >>> | > | > |
| > | > | >>> | > | > | Workaround:
| > | > | >>> | > | > |
| > | > | >>> | > | > | none/not applicable
| > | > | >>> | > | > | from:
| > | > | >>> | > | > |
| > | > | >>> | > | > |
| > | > | >>> | > | > |
| > | > | >>> | > | > |
| > | > | >>> | > | > |
| > | > | >>> | > | > |
| > | > | >>> | > | > | http://www.gemstone.com/docs/GemStoneS/bugnotes/bugnotes/40948.html
| > | > | >>> | > | > |
| > | > | >>> | > | > |
| > | > | >>> | > | > |
| > | > | >>> | > | > | So, should I worry about this? I implemented
| > | > | >>> | > | > | code
| > | > | >>> | > | > | that
| > | > | >>> | > | > | allowed a
| > | > | >>> | > | > | user
| > | > | >>> | > | > | to call an editor, switch out on the navigation
| > | > | >>> | > | > | menu,
| > | > | >>> | > | > | call
| > | > | >>> | > | > | another
| > | > | >>> | > | > | editor,
| > | > | >>> | > | > | switch out. With each switch, I send answer:
| > | > | >>> | > | > | false
| > | > | >>> | > | > | to
| > | > | >>> | > | > | the
| > | > | >>> | > | > | open
| > | > | >>> | > | > | editor
| > | > | >>> | > | > | to close it so that it is not hanging around
| > | > | >>> | > | > | open.
| > | > | >>> | > | > | My
| > | > | >>> | > | > | idea
| > | > | >>> | > | > | was to hide the section navigation when the
| > | > | >>> | > | > | editor
| > | > | >>> | > | > | came
| > | > | >>> | > | > | up
| > | > | >>> | > | > | but
| > | > | >>> | > | > | I'm
| > | > | >>> | > | > | getting push back from my user.
| > | > | >>> | > | > |
| > | > | >>> | > | > |
| > | > | >>> | > | > | What do you think?
| > | > | >>> | > | > |
| > | > | >>> | > | > |
| > | > | >>> | > | > | Larry
| > | > | >>> | > | > |
| > | > | >>> | > | > |
| > | > | >>> | > | > |
| > | > | >>> | > | > |
| > | > | >>> | > |
| > | > | >>> | > |
| > | > | >>> |
| > | > | >>> |
| > | > | >>
| > | > | >
| > | > |
| > | > |
| > |
| > |
|
|
123