VM temporary object memory is full

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

VM temporary object memory is full

BrunoBB
Hi All,

I think i mess up with GemStone. After having some problems with Seaside. Now every time i log into GemStine and after evaluate:
WAGsZincAdaptor startOn: 8888.

I get (even if a stop the stone and start it again):
----------------------------------------------------
GemStone: Error         Fatal
VM temporary object memory is full
, old space overflow
Error Category: 231169 [GemStone] Number: 4067  Arg Count: 1 Context : 20 exception : 20
Arg 1:   20

[Info]: Logging out at 08/27/2015 18:15:23 PDT (1440724523)

*****************************************************
****** GemStone Abnormal Shutdown at 08/27/2015 18:15:24 PDT
*****************************************************
-----------------------------------------------------
GemStone: Error         Fatal
VM temporary object memory is full
, old space overflow
Error Category: 231169 [GemStone] Number: 4067  Arg Count: 1 Context : 20 exception : 20
Arg 1:   20

Regards,
bruno
Reply | Threaded
Open this post in threaded view
|

Re: VM temporary object memory is full

GLASS mailing list
We’ve had some interesting discussions about out-of-memory situations recently.

First, I’d suggest that you wrap your code in a handler:

[WAGsZincAdaptor startOn: 8888]
  on: AlmostOutOfMemory enable
  do: [:ex | ex error: ex description].

If that leaves you logged in you should be able to do a bit of analysis to see the stack and some of the objects.

James

> On Aug 27, 2015, at 6:18 PM, BrunoBB via Glass <[hidden email]> wrote:
>
> Hi All,
>
> I think i mess up with GemStone. After having some problems with Seaside.
> Now every time i log into GemStine and after evaluate:
> WAGsZincAdaptor startOn: 8888.
>
> I get (even if a stop the stone and start it again):
> ----------------------------------------------------
> GemStone: Error         Fatal
> VM temporary object memory is full
> , old space overflow
> Error Category: 231169 [GemStone] Number: 4067  Arg Count: 1 Context : 20
> exception : 20
> Arg 1:   20
>
> [Info]: Logging out at 08/27/2015 18:15:23 PDT (1440724523)
>
> *****************************************************
> ****** GemStone Abnormal Shutdown at 08/27/2015 18:15:24 PDT
> *****************************************************
> -----------------------------------------------------
> GemStone: Error         Fatal
> VM temporary object memory is full
> , old space overflow
> Error Category: 231169 [GemStone] Number: 4067  Arg Count: 1 Context : 20
> exception : 20
> Arg 1:   20
>
> Regards,
> bruno
>
>
>
> --
> View this message in context: http://forum.world.st/VM-temporary-object-memory-is-full-tp4846466.html
> Sent from the GLASS mailing list archive at Nabble.com.
> _______________________________________________
> Glass mailing list
> [hidden email]
> http://lists.gemtalksystems.com/mailman/listinfo/glass

_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: VM temporary object memory is full

BrunoBB
James,

I think all my problems comes from Seaside and it is possible that i broke Seaside (trying to find out how to restore or initialize Seaside again).
I thought that the following did the try but ..:
WAEnvironment configureApplicationDefaults;
   configureApplicationExceptionHandlingDefaults;
   registerDefaultComponents;
   registerDefaultRequestHandlers.

Searching how to initialize everything again :)

After:
[WAGsZincAdaptor startOn: 8888]
  on: AlmostOutOfMemory enable
  do: [:ex | ex error: ex description].

I got the following stacj error (after this i got the VM TOM is full):
InternalError (AbstractException) >> _signalFromPrimitive: @5 line 15
ProcessorScheduler >> _addDelay:to: @1 line 1
ProcessorScheduler >> _waitForSocket:timeout: @8 line 18
GsSocket >> readWillNotBlockWithin: @22 line 37
SocketStreamSocket (SpSocket) >> waitForNonBlockingReadActivityUpToMs: @3 line 6
SocketStreamSocket >> waitForDataFor:ifClosed:ifTimedOut: @20 line 14
SocketStreamSocket >> waitForDataFor: @2 line 6
SocketStreamSocket >> receiveDataSignallingTimeout:into:startingAt: @2 line 8
SocketStream >> receiveData @5 line 12
SocketStream >> next @7 line 9
ZnLineReader >> processNext @5 line 4
ZnLineReader >> nextLine @3 line 3
ZnRequestLine >> readFrom: @3 line 3
ZnRequestLine class >> readFrom: @3 line 3
ZnRequest >> readHeaderFrom: @2 line 2
ZnRequest (ZnMessage) >> readBinaryFrom: @2 line 3
ZnRequest class (ZnMessage class) >> readBinaryFrom: @3 line 3
[] in  ExecBlock1 (ZnZincServerAdaptor) >> configureServerForBinaryReading @2 line 4
[] in  ExecBlock0 (ZnSingleThreadedServer) >> readRequest: @3 line 6
[] in  ExecBlock0 (ZnSingleThreadedServer) >> withMaximumEntitySizeDo: @2 line 6
[] in  ExecBlock0 (DynamicVariable class) >> value:during: @3 line 9
ExecBlock0 (ExecBlock) >> ensure: @2 line 12
ZnMaximumEntitySize class (DynamicVariable class) >> value:during: @6 line 10
ZnManagingMultiThreadedServer (ZnSingleThreadedServer) >> withMaximumEntitySizeDo: @5 line 5
ZnManagingMultiThreadedServer (ZnSingleThreadedServer) >> readRequest: @2 line 6
[] in  ExecBlock0 (ZnMultiThreadedServer) >> readRequestSafely: @2 line 5
ExecBlock0 (ExecBlock) >> on:do: @3 line 42
[] in  ExecBlock0 (ZnMultiThreadedServer) >> readRequestSafely: @3 line 6
ExecBlock0 (ExecBlock) >> on:do: @3 line 42
ZnManagingMultiThreadedServer (ZnMultiThreadedServer) >> readRequestSafely: @3 line 13
ZnManagingMultiThreadedServer (ZnMultiThreadedServer) >> executeOneRequestResponseOn: @2 line 7
[] in  ExecBlock0 (ZnMultiThreadedServer) >> executeRequestResponseLoopOn: @2 line 10
[] in  ExecBlock0 (DynamicVariable class) >> value:during: @3 line 9
ExecBlock0 (ExecBlock) >> ensure: @2 line 12
ZnCurrentServer class (DynamicVariable class) >> value:during: @6 line 10
ZnManagingMultiThreadedServer (ZnMultiThreadedServer) >> executeRequestResponseLoopOn: @4 line 8
[] in  ExecBlock0 (ZnMultiThreadedServer) >> serveConnectionsOn: @2 line 12
ExecBlock0 (ExecBlock) >> on:do: @3 line 42
[] in  ExecBlock0 (ZnMultiThreadedServer) >> serveConnectionsOn: @2 line 13
ExecBlock0 (ExecBlock) >> ensure: @2 line 12
[] in  ExecBlock0 (ZnMultiThreadedServer) >> serveConnectionsOn: @2 line 15
[] in  ExecBlock0 (ExecBlock) >> ifCurtailed: @2 line 6
ExecBlock0 (ExecBlock) >> ensure: @2 line 12
ExecBlock0 (ExecBlock) >> ifCurtailed: @3 line 8
[] in  ExecBlock (ZnMultiThreadedServer) >> serveConnectionsOn: @2 line 18
GsProcess >> _start @7 line 16
UndefinedObject (GsNMethod class) >> _gsReturnToC @1 line 1

Regards,
Bruno
Reply | Threaded
Open this post in threaded view
|

Re: VM temporary object memory is full

GLASS mailing list
Bruno,

I have a few spare minutes...

Okay, so this error was dumped to the gem log before running out of memory?

The static handler approach might get better information for the exact
point that you are running out of memory, but it would be interesting to
understand the InternalError ... there are some ProcessorScheduler
issues in older versions of GemStone, depending upon version, so I'm
sorta curious what version of GemStone ... also depending upon what
version of Zinc you are using an infinite loop (under error conditions)
is possible as I recall addressing that particular problem  ...

Buuuut, if you hadn't seen this problem prior to the re-initialize event
it is likely that this is a side-effect as well ...

What version of Seaside are you using? I will go back to your original
message (if you already told us) and try to track down what gets cleared
by the expressions used and work backwards from there (as I find the time:)

Dale


On 8/28/15 7:01 AM, BrunoBB via Glass wrote:

> James,
>
> I think all my problems comes from Seaside and it is possible that i broke
> Seaside (trying to find out how to restore or initialize Seaside again).
> I thought that the following did the try but ..:
> WAEnvironment configureApplicationDefaults;
>     configureApplicationExceptionHandlingDefaults;
>     registerDefaultComponents;
>     registerDefaultRequestHandlers.
>
> Searching how to initialize everything again :)
>
> After:
> [WAGsZincAdaptor startOn: 8888]
>    on: AlmostOutOfMemory enable
>    do: [:ex | ex error: ex description].
>
> I got the following stacj error (after this i got the VM TOM is full):
> InternalError (AbstractException) >> _signalFromPrimitive: @5 line 15
> ProcessorScheduler >> _addDelay:to: @1 line 1
> ProcessorScheduler >> _waitForSocket:timeout: @8 line 18
> GsSocket >> readWillNotBlockWithin: @22 line 37
> SocketStreamSocket (SpSocket) >> waitForNonBlockingReadActivityUpToMs: @3
> line 6
> SocketStreamSocket >> waitForDataFor:ifClosed:ifTimedOut: @20 line 14
> SocketStreamSocket >> waitForDataFor: @2 line 6
> SocketStreamSocket >> receiveDataSignallingTimeout:into:startingAt: @2 line
> 8
> SocketStream >> receiveData @5 line 12
> SocketStream >> next @7 line 9
> ZnLineReader >> processNext @5 line 4
> ZnLineReader >> nextLine @3 line 3
> ZnRequestLine >> readFrom: @3 line 3
> ZnRequestLine class >> readFrom: @3 line 3
> ZnRequest >> readHeaderFrom: @2 line 2
> ZnRequest (ZnMessage) >> readBinaryFrom: @2 line 3
> ZnRequest class (ZnMessage class) >> readBinaryFrom: @3 line 3
> [] in  ExecBlock1 (ZnZincServerAdaptor) >> configureServerForBinaryReading
> @2 line 4
> [] in  ExecBlock0 (ZnSingleThreadedServer) >> readRequest: @3 line 6
> [] in  ExecBlock0 (ZnSingleThreadedServer) >> withMaximumEntitySizeDo: @2
> line 6
> [] in  ExecBlock0 (DynamicVariable class) >> value:during: @3 line 9
> ExecBlock0 (ExecBlock) >> ensure: @2 line 12
> ZnMaximumEntitySize class (DynamicVariable class) >> value:during: @6 line
> 10
> ZnManagingMultiThreadedServer (ZnSingleThreadedServer) >>
> withMaximumEntitySizeDo: @5 line 5
> ZnManagingMultiThreadedServer (ZnSingleThreadedServer) >> readRequest: @2
> line 6
> [] in  ExecBlock0 (ZnMultiThreadedServer) >> readRequestSafely: @2 line 5
> ExecBlock0 (ExecBlock) >> on:do: @3 line 42
> [] in  ExecBlock0 (ZnMultiThreadedServer) >> readRequestSafely: @3 line 6
> ExecBlock0 (ExecBlock) >> on:do: @3 line 42
> ZnManagingMultiThreadedServer (ZnMultiThreadedServer) >> readRequestSafely:
> @3 line 13
> ZnManagingMultiThreadedServer (ZnMultiThreadedServer) >>
> executeOneRequestResponseOn: @2 line 7
> [] in  ExecBlock0 (ZnMultiThreadedServer) >> executeRequestResponseLoopOn:
> @2 line 10
> [] in  ExecBlock0 (DynamicVariable class) >> value:during: @3 line 9
> ExecBlock0 (ExecBlock) >> ensure: @2 line 12
> ZnCurrentServer class (DynamicVariable class) >> value:during: @6 line 10
> ZnManagingMultiThreadedServer (ZnMultiThreadedServer) >>
> executeRequestResponseLoopOn: @4 line 8
> [] in  ExecBlock0 (ZnMultiThreadedServer) >> serveConnectionsOn: @2 line 12
> ExecBlock0 (ExecBlock) >> on:do: @3 line 42
> [] in  ExecBlock0 (ZnMultiThreadedServer) >> serveConnectionsOn: @2 line 13
> ExecBlock0 (ExecBlock) >> ensure: @2 line 12
> [] in  ExecBlock0 (ZnMultiThreadedServer) >> serveConnectionsOn: @2 line 15
> [] in  ExecBlock0 (ExecBlock) >> ifCurtailed: @2 line 6
> ExecBlock0 (ExecBlock) >> ensure: @2 line 12
> ExecBlock0 (ExecBlock) >> ifCurtailed: @3 line 8
> [] in  ExecBlock (ZnMultiThreadedServer) >> serveConnectionsOn: @2 line 18
> GsProcess >> _start @7 line 16
> UndefinedObject (GsNMethod class) >> _gsReturnToC @1 line 1
>
> Regards,
> Bruno
>
>
>
> --
> View this message in context: http://forum.world.st/VM-temporary-object-memory-is-full-tp4846466p4846658.html
> Sent from the GLASS mailing list archive at Nabble.com.
> _______________________________________________
> Glass mailing list
> [hidden email]
> http://lists.gemtalksystems.com/mailman/listinfo/glass

_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: VM temporary object memory is full

GLASS mailing list
Bruno,

Looking at what happened when you clear things I would say that the
following should reinitialize correctly:

[
   WADispatcher default.
   WASystemConfiguration allSubclasses
     do: [ :each | each instance buildDescription ] ]
     ensure: [ System commitTransaction ]

If there are going to be problems, you get to see it during this step
instead of during lazy initialization ... Then re-register your
applications and you should be in shape ...

As I write this I go ... okay what state related to
WASystemConfiguration gets changed by initializers being run during the
load ... this might be the place where you are having the trouble ...
when gemstone loads initalizers are run that may change some of the
critical defaults  ...
oh and I haven't tried the above code myself yet ...

Let me know if you've already done the above and/or the above runs
without error ... while I try to destroy my own seaside state:)

Dale

On 8/28/15 9:47 AM, Dale Henrichs wrote:

> Bruno,
>
> I have a few spare minutes...
>
> Okay, so this error was dumped to the gem log before running out of
> memory?
>
> The static handler approach might get better information for the exact
> point that you are running out of memory, but it would be interesting
> to understand the InternalError ... there are some ProcessorScheduler
> issues in older versions of GemStone, depending upon version, so I'm
> sorta curious what version of GemStone ... also depending upon what
> version of Zinc you are using an infinite loop (under error
> conditions) is possible as I recall addressing that particular
> problem  ...
>
> Buuuut, if you hadn't seen this problem prior to the re-initialize
> event it is likely that this is a side-effect as well ...
>
> What version of Seaside are you using? I will go back to your original
> message (if you already told us) and try to track down what gets
> cleared by the expressions used and work backwards from there (as I
> find the time:)
>
> Dale
>
>
> On 8/28/15 7:01 AM, BrunoBB via Glass wrote:
>> James,
>>
>> I think all my problems comes from Seaside and it is possible that i
>> broke
>> Seaside (trying to find out how to restore or initialize Seaside again).
>> I thought that the following did the try but ..:
>> WAEnvironment configureApplicationDefaults;
>>     configureApplicationExceptionHandlingDefaults;
>>     registerDefaultComponents;
>>     registerDefaultRequestHandlers.
>>
>> Searching how to initialize everything again :)
>>
>> After:
>> [WAGsZincAdaptor startOn: 8888]
>>    on: AlmostOutOfMemory enable
>>    do: [:ex | ex error: ex description].
>>
>> I got the following stacj error (after this i got the VM TOM is full):
>> InternalError (AbstractException) >> _signalFromPrimitive: @5 line 15
>> ProcessorScheduler >> _addDelay:to: @1 line 1
>> ProcessorScheduler >> _waitForSocket:timeout: @8 line 18
>> GsSocket >> readWillNotBlockWithin: @22 line 37
>> SocketStreamSocket (SpSocket) >>
>> waitForNonBlockingReadActivityUpToMs: @3
>> line 6
>> SocketStreamSocket >> waitForDataFor:ifClosed:ifTimedOut: @20 line 14
>> SocketStreamSocket >> waitForDataFor: @2 line 6
>> SocketStreamSocket >> receiveDataSignallingTimeout:into:startingAt:
>> @2 line
>> 8
>> SocketStream >> receiveData @5 line 12
>> SocketStream >> next @7 line 9
>> ZnLineReader >> processNext @5 line 4
>> ZnLineReader >> nextLine @3 line 3
>> ZnRequestLine >> readFrom: @3 line 3
>> ZnRequestLine class >> readFrom: @3 line 3
>> ZnRequest >> readHeaderFrom: @2 line 2
>> ZnRequest (ZnMessage) >> readBinaryFrom: @2 line 3
>> ZnRequest class (ZnMessage class) >> readBinaryFrom: @3 line 3
>> [] in  ExecBlock1 (ZnZincServerAdaptor) >>
>> configureServerForBinaryReading
>> @2 line 4
>> [] in  ExecBlock0 (ZnSingleThreadedServer) >> readRequest: @3 line 6
>> [] in  ExecBlock0 (ZnSingleThreadedServer) >>
>> withMaximumEntitySizeDo: @2
>> line 6
>> [] in  ExecBlock0 (DynamicVariable class) >> value:during: @3 line 9
>> ExecBlock0 (ExecBlock) >> ensure: @2 line 12
>> ZnMaximumEntitySize class (DynamicVariable class) >> value:during: @6
>> line
>> 10
>> ZnManagingMultiThreadedServer (ZnSingleThreadedServer) >>
>> withMaximumEntitySizeDo: @5 line 5
>> ZnManagingMultiThreadedServer (ZnSingleThreadedServer) >>
>> readRequest: @2
>> line 6
>> [] in  ExecBlock0 (ZnMultiThreadedServer) >> readRequestSafely: @2
>> line 5
>> ExecBlock0 (ExecBlock) >> on:do: @3 line 42
>> [] in  ExecBlock0 (ZnMultiThreadedServer) >> readRequestSafely: @3
>> line 6
>> ExecBlock0 (ExecBlock) >> on:do: @3 line 42
>> ZnManagingMultiThreadedServer (ZnMultiThreadedServer) >>
>> readRequestSafely:
>> @3 line 13
>> ZnManagingMultiThreadedServer (ZnMultiThreadedServer) >>
>> executeOneRequestResponseOn: @2 line 7
>> [] in  ExecBlock0 (ZnMultiThreadedServer) >>
>> executeRequestResponseLoopOn:
>> @2 line 10
>> [] in  ExecBlock0 (DynamicVariable class) >> value:during: @3 line 9
>> ExecBlock0 (ExecBlock) >> ensure: @2 line 12
>> ZnCurrentServer class (DynamicVariable class) >> value:during: @6
>> line 10
>> ZnManagingMultiThreadedServer (ZnMultiThreadedServer) >>
>> executeRequestResponseLoopOn: @4 line 8
>> [] in  ExecBlock0 (ZnMultiThreadedServer) >> serveConnectionsOn: @2
>> line 12
>> ExecBlock0 (ExecBlock) >> on:do: @3 line 42
>> [] in  ExecBlock0 (ZnMultiThreadedServer) >> serveConnectionsOn: @2
>> line 13
>> ExecBlock0 (ExecBlock) >> ensure: @2 line 12
>> [] in  ExecBlock0 (ZnMultiThreadedServer) >> serveConnectionsOn: @2
>> line 15
>> [] in  ExecBlock0 (ExecBlock) >> ifCurtailed: @2 line 6
>> ExecBlock0 (ExecBlock) >> ensure: @2 line 12
>> ExecBlock0 (ExecBlock) >> ifCurtailed: @3 line 8
>> [] in  ExecBlock (ZnMultiThreadedServer) >> serveConnectionsOn: @2
>> line 18
>> GsProcess >> _start @7 line 16
>> UndefinedObject (GsNMethod class) >> _gsReturnToC @1 line 1
>>
>> Regards,
>> Bruno
>>
>>
>>
>> --
>> View this message in context:
>> http://forum.world.st/VM-temporary-object-memory-is-full-tp4846466p4846658.html
>> Sent from the GLASS mailing list archive at Nabble.com.
>> _______________________________________________
>> Glass mailing list
>> [hidden email]
>> http://lists.gemtalksystems.com/mailman/listinfo/glass
>

_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: VM temporary object memory is full

BrunoBB
Dale,

thanks for the detailed answer.
[
   WADispatcher default.
   WASystemConfiguration allSubclasses
     do: [ :each | each instance buildDescription ] ]
     ensure: [ System commitTransaction ]

This run without problems :)

I going to start testing again...

I'm using GemStone 3.2.1.
Seaside version:
ConfigurationOfSeaside3-JohanBrichau.226
Seaside-Core.gemstone-JohanBrichau.818
Seaside-GemStone-Core-dkh.67

Regards,
Bruno
Reply | Threaded
Open this post in threaded view
|

Re: VM temporary object memory is full

GLASS mailing list
Don't forget to initialize the proper GemStone error handler ---

Dale

On 8/28/15 11:33 AM, BrunoBB via Glass wrote:

> Dale,
>
> thanks for the detailed answer.
> [
>     WADispatcher default.
>     WASystemConfiguration allSubclasses
>       do: [ :each | each instance buildDescription ] ]
>       ensure: [ System commitTransaction ]
>
> This run without problems :)
>
> I going to start testing again...
>
> I'm using GemStone 3.2.1.
> Seaside version:
> ConfigurationOfSeaside3-JohanBrichau.226
> Seaside-Core.gemstone-JohanBrichau.818
> Seaside-GemStone-Core-dkh.67
>
> Regards,
> Bruno
>
>
>
> --
> View this message in context: http://forum.world.st/VM-temporary-object-memory-is-full-tp4846466p4846714.html
> Sent from the GLASS mailing list archive at Nabble.com.
> _______________________________________________
> Glass mailing list
> [hidden email]
> http://lists.gemtalksystems.com/mailman/listinfo/glass

_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass