Unexplained VM crash

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

Unexplained VM crash

Nicolas Bryant

Guys,

 

On one specific customer machine our VisualSmalltalk applications refuses to start – you get an immediate non-continuable protection violation the second the application launches (and before it has a chance to start dynamically binding any of the SLLs that contain the application code).

 

There are usually two things that produce this symptom. The first is if the machine in question has DEP switched on and the application isn’t listed as an exception; the second is if there’s some DLL or device driver occupying an absolute memory address which conflicts with the range of addresses the VM requests when it launches. However, in this case, we’ve checked that DEP is not the problem; and although the standard version of the application requests a 700MB range of addresses at launch, we’ve tried substituting an image .exe which requests only the 100MB default range – and that crashes too.

 

It could be that there’s an absolute memory blockage even in  the 100MB range, I suppose, but I wondered if anyone had any other suggestions for something else might cause this kind of VM crash.

 

We’re still using VSW version 3.1.2d. In case it’s any help, the register values from the error.log are as follows:

 

The registers were:

EIP = 0x00b8020d

ESP = 0x0012fee0

EBP =  0x00000000

EAX = 0x00df4444

EBX = 0xffffe001

ECX = 0x7c8285ec

EDX = 0x00000001

ESI = 0x00df4444

CS = 0x0000001b

DS = 0x00000023

ES = 0x00000023

SS = 0x00000023

End Registers

 

 

 

A particularly odd aspect of this is that the application used to run on that box successfully. Our implementation guy reckons that the failures started after .NET 4.0 was installed on the machine – but other  machines with .NET 4.0 installed seem to be unaffected.

 

Any suggestions?

 

 

Rgds,

 

Nicolas.

*** this signature added by listserv *** *** Visit http://www.listserv.dfn.de/archives/vswe-l.html *** *** for archive browsing and VSWE-L membership management ***
Reply | Threaded
Open this post in threaded view
|

Re: Unexplained VM crash

Todor Todorov

Can you check at what address the VM is loaded? Usually it loads at 0x10000000. But the error you get is in 0x00B8020D. Is this due to the VM being loaded at that address, or is it due to execution of JIT compiled code or execution in some 3rd module?

 

May be the error happens only when the VM cannot be loaded at 0x10000000. Check the modules list in the debugger.

 

From: Using Visual Smalltalk for Windows/Enterprise [mailto:[hidden email]] On Behalf Of Nicolas Bryant
Sent: 11. november 2010 12:00
To: [hidden email]
Subject: Unexplained VM crash

 

Guys,

 

On one specific customer machine our VisualSmalltalk applications refuses to start – you get an immediate non-continuable protection violation the second the application launches (and before it has a chance to start dynamically binding any of the SLLs that contain the application code).

 

There are usually two things that produce this symptom. The first is if the machine in question has DEP switched on and the application isn’t listed as an exception; the second is if there’s some DLL or device driver occupying an absolute memory address which conflicts with the range of addresses the VM requests when it launches. However, in this case, we’ve checked that DEP is not the problem; and although the standard version of the application requests a 700MB range of addresses at launch, we’ve tried substituting an image .exe which requests only the 100MB default range – and that crashes too.

 

It could be that there’s an absolute memory blockage even in  the 100MB range, I suppose, but I wondered if anyone had any other suggestions for something else might cause this kind of VM crash.

 

We’re still using VSW version 3.1.2d. In case it’s any help, the register values from the error.log are as follows:

 

The registers were:

EIP = 0x00b8020d

ESP = 0x0012fee0

EBP =  0x00000000

EAX = 0x00df4444

EBX = 0xffffe001

ECX = 0x7c8285ec

EDX = 0x00000001

ESI = 0x00df4444

CS = 0x0000001b

DS = 0x00000023

ES = 0x00000023

SS = 0x00000023

End Registers

 

 

 

A particularly odd aspect of this is that the application used to run on that box successfully. Our implementation guy reckons that the failures started after .NET 4.0 was installed on the machine – but other  machines with .NET 4.0 installed seem to be unaffected.

 

Any suggestions?

 

 

Rgds,

 

Nicolas.

*** this signature added by listserv *** *** Visit http://www.listserv.dfn.de/archives/vswe-l.html *** *** for archive browsing and VSWE-L membership management ***

*** this signature added by listserv *** *** Visit http://www.listserv.dfn.de/archives/vswe-l.html *** *** for archive browsing and VSWE-L membership management ***
Reply | Threaded
Open this post in threaded view
|

Re: Unexplained VM crash

Nicolas Bryant

Sorry, but I’m in unfamiliar territory, here, so you’ll need to elaborate substantially on that. :-) Check which modules list in which debugger, and look for what...?

 

 

From: Using Visual Smalltalk for Windows/Enterprise [mailto:[hidden email]] On Behalf Of Todor Todorov
Sent: 11 November 2010 11:51
To: [hidden email]
Subject: Re: Unexplained VM crash

 

Can you check at what address the VM is loaded? Usually it loads at 0x10000000. But the error you get is in 0x00B8020D. Is this due to the VM being loaded at that address, or is it due to execution of JIT compiled code or execution in some 3rd module?

 

May be the error happens only when the VM cannot be loaded at 0x10000000. Check the modules list in the debugger.

 

From: Using Visual Smalltalk for Windows/Enterprise [mailto:[hidden email]] On Behalf Of Nicolas Bryant
Sent: 11. november 2010 12:00
To: [hidden email]
Subject: Unexplained VM crash

 

Guys,

 

On one specific customer machine our VisualSmalltalk applications refuses to start – you get an immediate non-continuable protection violation the second the application launches (and before it has a chance to start dynamically binding any of the SLLs that contain the application code).

 

There are usually two things that produce this symptom. The first is if the machine in question has DEP switched on and the application isn’t listed as an exception; the second is if there’s some DLL or device driver occupying an absolute memory address which conflicts with the range of addresses the VM requests when it launches. However, in this case, we’ve checked that DEP is not the problem; and although the standard version of the application requests a 700MB range of addresses at launch, we’ve tried substituting an image .exe which requests only the 100MB default range – and that crashes too.

 

It could be that there’s an absolute memory blockage even in  the 100MB range, I suppose, but I wondered if anyone had any other suggestions for something else might cause this kind of VM crash.

 

We’re still using VSW version 3.1.2d. In case it’s any help, the register values from the error.log are as follows:

 

The registers were:

EIP = 0x00b8020d

ESP = 0x0012fee0

EBP =  0x00000000

EAX = 0x00df4444

EBX = 0xffffe001

ECX = 0x7c8285ec

EDX = 0x00000001

ESI = 0x00df4444

CS = 0x0000001b

DS = 0x00000023

ES = 0x00000023

SS = 0x00000023

End Registers

 

 

 

A particularly odd aspect of this is that the application used to run on that box successfully. Our implementation guy reckons that the failures started after .NET 4.0 was installed on the machine – but other  machines with .NET 4.0 installed seem to be unaffected.

 

Any suggestions?

 

 

Rgds,

 

Nicolas.

*** this signature added by listserv *** *** Visit http://www.listserv.dfn.de/archives/vswe-l.html *** *** for archive browsing and VSWE-L membership management ***

*** this signature added by listserv *** *** Visit http://www.listserv.dfn.de/archives/vswe-l.html *** *** for archive browsing and VSWE-L membership management ***

*** this signature added by listserv *** *** Visit http://www.listserv.dfn.de/archives/vswe-l.html *** *** for archive browsing and VSWE-L membership management ***
Reply | Threaded
Open this post in threaded view
|

Re: Unexplained VM crash

Todor Todorov

If you don’t have it already, download “Debugging Tools for Windows” (http://www.microsoft.com/whdc/devtools/debugging/default.mspx) and install it.

Run “WinDbg”, the 32bit version and attach to the VSE process.

At the command prompt, run the “lm” command (list modules).

 

I don’t have VSE myself, but here’s an example for a random process:

lm

start    end        module name

011e0000 0121a000   FlashUtil10k_ActiveX   (deferred)            

6cae0000 6cb2d000   FlashUtil10k_ActiveX_6cae0000   (deferred)             

6cb30000 6cb7d000   DFB4       (deferred)            

73300000 73380000   uxtheme    (deferred)            

737d0000 737de000   RpcRtRemote   (deferred)            

...

 

You have the module name, start and end address. Find the module (if any), where the value of EIP register is between start and end addresses. Be aware that those are not constant and may change every time the process is restarted.

 

 

From: Using Visual Smalltalk for Windows/Enterprise [mailto:[hidden email]] On Behalf Of Nicolas Bryant
Sent: 11. november 2010 13:16
To: [hidden email]
Subject: Re: Unexplained VM crash

 

Sorry, but I’m in unfamiliar territory, here, so you’ll need to elaborate substantially on that. :-) Check which modules list in which debugger, and look for what...?

 

 

From: Using Visual Smalltalk for Windows/Enterprise [mailto:[hidden email]] On Behalf Of Todor Todorov
Sent: 11 November 2010 11:51
To: [hidden email]
Subject: Re: Unexplained VM crash

 

Can you check at what address the VM is loaded? Usually it loads at 0x10000000. But the error you get is in 0x00B8020D. Is this due to the VM being loaded at that address, or is it due to execution of JIT compiled code or execution in some 3rd module?

 

May be the error happens only when the VM cannot be loaded at 0x10000000. Check the modules list in the debugger.

 

From: Using Visual Smalltalk for Windows/Enterprise [mailto:[hidden email]] On Behalf Of Nicolas Bryant
Sent: 11. november 2010 12:00
To: [hidden email]
Subject: Unexplained VM crash

 

Guys,

 

On one specific customer machine our VisualSmalltalk applications refuses to start – you get an immediate non-continuable protection violation the second the application launches (and before it has a chance to start dynamically binding any of the SLLs that contain the application code).

 

There are usually two things that produce this symptom. The first is if the machine in question has DEP switched on and the application isn’t listed as an exception; the second is if there’s some DLL or device driver occupying an absolute memory address which conflicts with the range of addresses the VM requests when it launches. However, in this case, we’ve checked that DEP is not the problem; and although the standard version of the application requests a 700MB range of addresses at launch, we’ve tried substituting an image .exe which requests only the 100MB default range – and that crashes too.

 

It could be that there’s an absolute memory blockage even in  the 100MB range, I suppose, but I wondered if anyone had any other suggestions for something else might cause this kind of VM crash.

 

We’re still using VSW version 3.1.2d. In case it’s any help, the register values from the error.log are as follows:

 

The registers were:

EIP = 0x00b8020d

ESP = 0x0012fee0

EBP =  0x00000000

EAX = 0x00df4444

EBX = 0xffffe001

ECX = 0x7c8285ec

EDX = 0x00000001

ESI = 0x00df4444

CS = 0x0000001b

DS = 0x00000023

ES = 0x00000023

SS = 0x00000023

End Registers

 

 

 

A particularly odd aspect of this is that the application used to run on that box successfully. Our implementation guy reckons that the failures started after .NET 4.0 was installed on the machine – but other  machines with .NET 4.0 installed seem to be unaffected.

 

Any suggestions?

 

 

Rgds,

 

Nicolas.

*** this signature added by listserv *** *** Visit http://www.listserv.dfn.de/archives/vswe-l.html *** *** for archive browsing and VSWE-L membership management ***

*** this signature added by listserv *** *** Visit http://www.listserv.dfn.de/archives/vswe-l.html *** *** for archive browsing and VSWE-L membership management ***

*** this signature added by listserv *** *** Visit http://www.listserv.dfn.de/archives/vswe-l.html *** *** for archive browsing and VSWE-L membership management ***

*** this signature added by listserv *** *** Visit http://www.listserv.dfn.de/archives/vswe-l.html *** *** for archive browsing and VSWE-L membership management ***
Reply | Threaded
Open this post in threaded view
|

PrintDialog and PRINTDLG structure

Carl Gundel-3

Am I wrong in my assessment that VSE’s PrintDialog class only copies its PRINTDLG structure to non Smalltalk memory but then does not do anything to read it back once the dialog window has been dismissed?  It implements methods to fetch the devMode and devNames structs from memory, but not the printDlg struct.

 

This is a bit problematic for those of us who want to know how many copies to print, or get a page range, etc.

 

-Carl Gundel

Psyche Systems Corp.

http://www.psychesystems.com

*** this signature added by listserv *** *** Visit http://www.listserv.dfn.de/archives/vswe-l.html *** *** for archive browsing and VSWE-L membership management ***
Reply | Threaded
Open this post in threaded view
|

AW: PrintDialog and PRINTDLG structure

Möbus. Manfred

Hi Carl,

not sure what version you use,

but I find method PrintDialog>>checkFlags, which is invoked after the dialog is closed, and copies back some properties of the struct, among others the ‘copies’ you mention.

 

Manfred

 

Von: Using Visual Smalltalk for Windows/Enterprise [mailto:[hidden email]] Im Auftrag von Carl Gundel
Gesendet: Mittwoch, 17. November 2010 23:36
An: [hidden email]
Betreff: PrintDialog and PRINTDLG structure

 

Am I wrong in my assessment that VSE’s PrintDialog class only copies its PRINTDLG structure to non Smalltalk memory but then does not do anything to read it back once the dialog window has been dismissed?  It implements methods to fetch the devMode and devNames structs from memory, but not the printDlg struct.

 

This is a bit problematic for those of us who want to know how many copies to print, or get a page range, etc.

 

-Carl Gundel

Psyche Systems Corp.

http://www.psychesystems.com

*** this signature added by listserv *** *** Visit http://www.listserv.dfn.de/archives/vswe-l.html *** *** for archive browsing and VSWE-L membership management ***

*** this signature added by listserv *** *** Visit http://www.listserv.dfn.de/archives/vswe-l.html *** *** for archive browsing and VSWE-L membership management ***
Reply | Threaded
Open this post in threaded view
|

Re: PrintDialog and PRINTDLG structure

Carl Gundel-3
In reply to this post by Todor Todorov
Hi Manfred,

Thanks.  When I evaluate the following:

PrintDialog new open checkFlags

I get: "flags" not understood

MessageNotUnderstood>>defaultAction
MessageNotUnderstood class>>message:
PARTSMessageNotUnderstood class>>message:
UndefinedObject(Object)>>doesNotUnderstand:
PrintDialog>>flags
PrintDialog>>checkFlags
UndefinedObject>>Doit

It's the same if I use VSE 3.11 or VSE 3.2.

-Carl

>Hi Carl,
>not sure what version you use,
>but I find method PrintDialog>>checkFlags, which is invoked after
>the dialog is closed, and copies back some properties of the struct,
>among others the 'copies' you mention.
>
>Manfred
>
>Von: Using Visual Smalltalk for Windows/Enterprise
>[mailto:[hidden email]] Im Auftrag von Carl >Gundel
>Gesendet: Mittwoch, 17. November 2010 23:36
>An: [hidden email]
>Betreff: PrintDialog and PRINTDLG structure
>
>Am I wrong in my assessment that VSE's PrintDialog class only copies
>its PRINTDLG structure to non Smalltalk memory but then does not do
>anything to read it back once the dialog window has been dismissed?  
>It implements methods to fetch the devMode and devNames structs from
>memory, but not the printDlg struct.
>
>This is a bit problematic for those of us who want to know how many
>copies to print, or get a page range, etc.
>
>-Carl Gundel
>Psyche Systems Corp.

***           this signature added by listserv             ***
*** Visit  http://www.listserv.dfn.de/archives/vswe-l.html ***
*** for archive browsing and VSWE-L membership management  ***
Reply | Threaded
Open this post in threaded view
|

Re: PrintDialog and PRINTDLG structure

Derek Renouf
In reply to this post by Carl Gundel-3

Hi Carl,

 

We have a number of changes to the print dialog class.

 

I’ll send you the source offline.

 

-- Derek

 

From: Using Visual Smalltalk for Windows/Enterprise [mailto:[hidden email]] On Behalf Of Carl Gundel
Sent: Thursday, 18 November 2010 9:36 AM
To: [hidden email]
Subject: PrintDialog and PRINTDLG structure

 

Am I wrong in my assessment that VSE’s PrintDialog class only copies its PRINTDLG structure to non Smalltalk memory but then does not do anything to read it back once the dialog window has been dismissed?  It implements methods to fetch the devMode and devNames structs from memory, but not the printDlg struct.

 

This is a bit problematic for those of us who want to know how many copies to print, or get a page range, etc.

 

-Carl Gundel

Psyche Systems Corp.

http://www.psychesystems.com

*** this signature added by listserv *** *** Visit http://www.listserv.dfn.de/archives/vswe-l.html *** *** for archive browsing and VSWE-L membership management ***

*** this signature added by listserv *** *** Visit http://www.listserv.dfn.de/archives/vswe-l.html *** *** for archive browsing and VSWE-L membership management ***
Reply | Threaded
Open this post in threaded view
|

Products page update

Alejandro F. Reimondo
Hi All,
We have updated our Smalltalk products page
 
 
Please visit the page to check if there is something valuable
 to enhance/complement your system.
 
The site now includes a "products" page with short details of
 frameworks.
All the frameworks run in Visual Smalltalk (call for other
 smalltalk dialects).
 
The list includes powerfull tools for development of high quality systems
 with modern interaction UI, client side web development in smalltalk,
 skype support & automation, Google Earth (client and server support),
 efficient multimedia processing, etc.
 
It is not a complete list of products, because in some cases we
 have solutions that requires assistance, customization and/or hardware.
 
w/best regards,
Ale.
*** this signature added by listserv *** *** Visit http://www.listserv.dfn.de/archives/vswe-l.html *** *** for archive browsing and VSWE-L membership management ***