VMTRAP.LOG location

71 views
Skip to first unread message

Steven LaFavor

unread,
Jan 17, 2013, 1:15:08 PM1/17/13
to va-sma...@googlegroups.com
Here's my problem:

I've got a production application written in what I believe is version 4.5 or 5.0 of VAST.
It is run by the users off of a corporate network drive that is read only, and the application is started using a windows command file that changes directory to the network location, and invokes nodialog.exe with the -i parameter.

Now under Windows 7, we are seeing that the app terminates unexpectedly on rare occasions.

The first thing that I would look for is the VMTRAP.LOG file to see what was going on, but since that directory is read only, it would not be generated there.  

Does anyone know where the VMTRAP.LOG file would be created in this instance (if at all)?

And for the followup, is there a way to set where the VMTRAP.LOG file would be created via a command line switch?  Does it work off of the -l switch?

*Steve*


John O'Keefe

unread,
Jan 17, 2013, 2:39:22 PM1/17/13
to va-sma...@googlegroups.com
Steve -
 
The VMTRAP.LOG is written to the 'current directory'. This is usually the directory where the image (.icx) file is located, but can be somewhere else depending on how your startup script works.
 
John

Wayne Johnston

unread,
Jan 17, 2013, 3:25:58 PM1/17/13
to va-sma...@googlegroups.com
One of the headaches with Windows 7 is the "VirtualStore" which is a mystery to me.  It sure would be nice if writing a file either succeeded or failed.  With Windows 7, there is this other alternative result - "writing succeeds but the file went somewhere else".  My virtual store directory is
C:\Users\userID\AppData\Local\VirtualStore
and I sometimes go there to see if something has been written there, which is pretty much a sign of a problem.
Message has been deleted

Steven LaFavor

unread,
Jan 17, 2013, 5:16:22 PM1/17/13
to va-sma...@googlegroups.com
The batch script that runs this goes something like this:
@echo off
G:
CD \
CD \myapp
START G:\myapp\myapp.exe -iG:\myapp\myapp.img
EXIT

Now the G: drive is read only, and this drive is where this script is.  Where would the VMTRAP.LOG file be written in this scenario?  Would it be written at all?  Is there a way to modify where the VMTRAP.LOG file gets created?

Steven LaFavor

unread,
Jan 17, 2013, 5:18:52 PM1/17/13
to va-sma...@googlegroups.com
Hmm.  Checked there as well, and looked up what the VirtualStore directory is - seems to be the place where stuff gets written if you try to write something in a location that UAC won't let you.

Wasn't there :(

Steven LaFavor

unread,
Jan 23, 2013, 10:44:01 AM1/23/13
to va-sma...@googlegroups.com

Does anyone have the answers to these questions?

John O'Keefe

unread,
Jan 23, 2013, 3:00:45 PM1/23/13
to va-sma...@googlegroups.com
Steven -
 
If the current directory cannot be written to, the code that writes the vmtrap.log and vmtrap.img gives up and write nothing. So you need to set the current directory to a writeable location in your Smalltalk code using something like CfsDirectoryDescriptor chdir: 'C:\myWriteableDir'.
 
I'm not going to attempt to explain why VirtualStore does/doesn't work since I've never seen an understandable description of it -- all I know is that sometimes (seems random to me) Windows will decide to write something there.
 
John
Reply all
Reply to author
Forward
0 new messages