VMTrap caused by ObjectDumper

VA Smalltalk is a "100% VisualAge compatible" IDE that includes the original VisualAge technology and the popular VA Assist and WidgetKit add-ons.

Moderators: Eric Clayberg, wembley, tc, Diane Engles, solveig

VMTrap caused by ObjectDumper

Postby PhotonDemon » Thu Aug 05, 2010 12:01 pm

Hi All,

I have a bunch of VAST 5.5.2 programs that run as windows NT services. They all use ObjectDumper to serialize what I call a status object. The object is saved to disk and with #unload:intoFile: and to a stream with unload:intoStream: and the stream is later sent as a string through a socket. All these programs have slightly different status objects (sub-classes) and have been doing this for years.

I recently changed one of the status objects by adding some things to it and now it gets a VMTrap when trying to dump it (see below). The trap doesn't help me much. There is also there is also a large VMTrap.img file that might help if I could read (understand) it. Is there a tool for reading the VMTrap.img file? I assume one of the objects I added to the status object is causing the problem but can't figure out which one. Any help or pointer are greatly appreciated.

Thanks, Lou

-Platform Information-------------------
VM Timestamp: 4.0,(NC) 4/23/2001
CPU Architecture: i386
OS Type: WIN32_NT
OS Version: 6.1 build 7600
-State Information----------------------
Handler=0x10059000
vmState=0x00000000
vmError=0x00000035
ExceptionCode=0xc0000005
ExceptionAddress=0x1002131b
ContextFlags=0x0001003f
Module=C:\Program
Files\Common
Files\Keystone
Software
Corp\bin\ESVM40.dll
Module_base_address=0x10000000
Offset_in_DLL=0x0002131b
EDI=0x0021108c
ESI=0x04a69d24
EAX=0x0000000e
EBX=0x00007ec6
ECX=0x00000001
EDX=0x00000001
EBP=0x001f6ca0
ESP=0x00c3fd1c
EIP=0x1002131b
-----------------------------------------
Image snapshot: vmtrap.img
-Walkback--------------------------------
EswDumpingStrategy>>dumpingReplacementFor:for:
EswClassBasedReplacer>>dumpingReplacementFor:
[] in ObjectDumper>>processAndReturnReplacementInDumpSegmentFor:
EswInstVarBasedReplacer>>processInstVar:of:
ObjectDumper>>handleSegmentOverflow
ObjectDumper>>handleFailReason:
ObjectDumper>>runWithPrimitive
ObjectDumper>>run
ObjectDumper>>dumpNonSpecialRoot:withReplacement:
[] in <optimized block> ObjectDumper>>dumpAllFrom:
ObjectDumper>>unload:
[] in Block>>valueWithErrorHandler:oldHandler:onReturnDo:
[] in <optimized block> Block>>when:do:exitWith:retryReturn:
[] in <optimized block> Block>>when:do:
[] in ObjectDumper>>unload:
[] in <optimized block> ObjectDumper>>unload:intoStream:
PivotServerTcpCommandData>>unload:
PivotBaseServer>>answerStatus:
PivotBaseServer>>initialSetUp
[] in <optimized block> PivotBaseServer>>tcpCommandReadLoop:
[] in Block>>valueWithErrorHandler:oldHandler:onReturnDo:
[] in <optimized block> Block>>when:do:exitWith:retryReturn:
[] in <optimized block> Block>>when:do:
[] in PivotBaseServer>>tcpCommandReadLoop:
[] in <optimized block> PivotBaseServer>>startTcpServer
[] in <optimized block> TobSocketsAbstractStreamServer>>basicStart:
[] in Block>>valueWithErrorHandler:oldHandler:onReturnDo:
[] in <optimized block> Block>>atEndOrWhenExceptionDo:
[] in <optimized block> TobSocketsAbstractStreamServer>>basicStart:
[] in Process>>executeBlock:withArguments:
[] in Process>>executeBlock:withArguments:
[] in <optimized block> Process>>newProcessOn:stackSize:withArguments:named:

Louis LaBrunda
Keystone Software Corp.
SkypeMe callto://PhotonDemon
mailto:Lou@Keystone-Software.com http://www.Keystone-Software.com
PhotonDemon
[|]
 
Posts: 176
Joined: Thu Dec 20, 2007 1:45 pm

Re: VMTrap caused by ObjectDumper

Postby PhotonDemon » Tue Aug 10, 2010 8:26 am

Hi,

I have determined that the addition of an instance variable that holds an instance of AbtError causes the VMTrap when dumping the object. Any ideas as to why this happens would help a lot. Thanks.

Lou
Louis LaBrunda
Keystone Software Corp.
SkypeMe callto://PhotonDemon
mailto:Lou@Keystone-Software.com http://www.Keystone-Software.com
PhotonDemon
[|]
 
Posts: 176
Joined: Thu Dec 20, 2007 1:45 pm

Re: VMTrap caused by ObjectDumper

Postby PhotonDemon » Tue Aug 10, 2010 11:33 am

Hi,

It seems the ABtError contains an instances of #AbtOdbc30DatabaseConnection in its origin and the ObjectDumper (and the VM) don't like it and that causes the VMTrap. As it turns out I really don't need to have the AbtError in the object being dumped, so removing it solves the problem.

Lou
Louis LaBrunda
Keystone Software Corp.
SkypeMe callto://PhotonDemon
mailto:Lou@Keystone-Software.com http://www.Keystone-Software.com
PhotonDemon
[|]
 
Posts: 176
Joined: Thu Dec 20, 2007 1:45 pm


Return to VA Smalltalk 7.0, 7.5 & 8.0

Who is online

Users browsing this forum: No registered users and 1 guest

cron