Wednesday, March 4, 2009

EXCEPTION_ACCESS_VIOLATION in Jinitiator and IE crashes

The Environment
Apps Version : 11.5.10.2
Jinitiator Version : 1.3.1.26
Internet Explorer Version : 6

The Issue
One of our end users was receiving a very strange error while using jinitiator. The Internet explorer window would crash (close by itself) after creating a file HS_ERR_PID<####>.log on the desktop, where #### stands for the Process ID of the f60webmx session.

This error is intermittent and not easily reproducible. Moreover, the user would have to redo his/her work and hence this issue was turning out to be very vexing indeed.

The error log is as below:

An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x6D043D1AFunction name=Java_sun_java2d_loops_DefaultComponent_IntIsomorphicCopy
Library=C:\Program Files\Oracle\JInitiator 1.3.1.26\bin\awt.dll
Current Java thread:
at sun.java2d.loops.DefaultComponent.IntIsomorphicCopy(Native Method)
at sun.java2d.loops.IntRgbToIntRgb.OpaqueBlit(Unknown Source)
at sun.java2d.loops.RasterOutputManager.performOpaqueBlit(Unknown Source)
at sun.java2d.loops.RasterOutputManager.compositeSrcDst(Unknown Source)
at sun.java2d.loops.RasterOutputManager.renderImage(Unknown Source)
at sun.java2d.SunGraphics2D.renderingPipeImage(Unknown Source)
at sun.java2d.SunGraphics2D.drawImage(Unknown Source)
at sun.java2d.SunGraphics2D.drawImage(Unknown Source)
at sun.awt.windows.WGraphics.drawImage(Unknown Source)
at sun.awt.windows.WGraphics.drawImage(Unknown Source)
at oracle.ewt.lwAWT.SharedPainter.paint(Unknown Source)
at oracle.ewt.lwAWT.BufferedFrame.paint(Unknown Source)
at sun.awt.RepaintArea.paint(Unknown Source)
at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Dynamic libraries:
0x00400000 - 0x0049B000 C:\Program Files\Internet Explorer\iexplore.exe
0x7C900000 - 0x7C9B0000 C:\WINNT\system32\ntdll.dll
0x7C800000 - 0x7C8F5000 C:\WINNT\system32\kernel32.dll
0x77DD0000 - 0x77E6B000 C:\WINNT\system32\ADVAPI32.dll
0x77E70000 - 0x77F02000 C:\WINNT\system32\RPCRT4.dll
0x77FE0000 - 0x77FF1000 C:\WINNT\system32\Secur32.dll
0x77F10000 - 0x77F58000 C:\WINNT\system32\GDI32.dll
0x7E410000 - 0x7E4A0000 C:\WINNT\system32\USER32.dll
0x77C10000 - 0x77C68000 C:\WINNT\system32\msvcrt.dll
0x77F60000 - 0x77FD6000 C:\WINNT\system32\SHLWAPI.dll
0x7C9C0000 - 0x7D1D6000 C:\WINNT\system32\SHELL32.dll
0x774E0000 - 0x7761D000 C:\WINNT\system32\ole32.dll
0x78130000 - 0x78257000 C:\WINNT\system32\urlmon.dll
0x77120000 - 0x771AB000 C:\WINNT\system32\OLEAUT32.dll
0x78000000 - 0x78045000 C:\WINNT\system32\iertutil.dll
0x77C00000 - 0x77C08000 C:\WINNT\system32\VERSION.dll
......
....
....


Initial Troubleshooting
Uninstalling and reinstalling jinitiator did not work. So, probed in Metalink to find out whether it is a known issue.

Found only one relevant hit in Metalink - Doc ID: 422761.1 - for this issue.

The Cause
As per the Note 422761.1, "This is a work station hardware issue related to a device driver associated with usually video cards. It also could cause by other device drivers."

The Solution
Again, as per the Note 422761.1, there are 2 solutions.

Solution 1
1. Add the following parameter to your Jinitiator Java Runtime Parameters:2. Control Panel > Open Jinitiaitor 1.3.1.24 (or whatever version) > [Tab] Basic > Enter the following in your Java Runtime Parameters field:
-Dsun.java2d.noddraw=true
3. Click Apply
4. Open your browser, then clear browser cache, and test.

Solution 2
To add to the environment:
1. Start->Control Panel->System
2. Click the Advanced Tab
3. Click the Environment Variables button
4. Click the New button
5. For Variable name:_JAVA_OPTIONS
6. For Variable value -Dsun.java2d.noddraw=true [or -Dsun.java2d.d3d=false ]
7. Click OK

Followed solution 1 mentioned above and Voilà, the issue is resolved.

4 comments:

Jignesh said...

Thx for posting this Praveen. This solved my issue too.

- Jignesh.

Praveen said...

You are welcome. Glad that my post has been able to help you out!

Abhi said...

Hi praveen
I amgettign EXCEPTION_ACCESS_VIOLATION while connecting to database through SQLTOOLS but when i am trying to connect through sql developer no error comes.Any pointer why only for sqltools error is coming
Erro meesage
EXCEPTION_ACCESS_VIOLATION

Program: SQLTools 1.4.2 RC3 (for trouble-shooting)
Location: \_last\sqlt.cvs\Common\WorkbookMDIFrame.cpp(511).
Platform: MS Windows XP Professional, Service Pack 3 (Build 2600)
COMCTL32.DLL: 6.0.2900.5512
OCI.DLL: 8.0.6.0.0

Stack at the throw point:
0x67614564 kpuauthxa() + 0x874
0x67613ce8 kpuauth() + 0x28
0x675615fe xOCISessionBegin() + 0x1e
0x62e01100 OCISessionBegin() + 0x1c
0x474487 0x74487
0x474f70 0x74f70
0x4c2c19 0xc2c19
0x4c2cc6 0xc2cc6
0x4e2481 0xe2481
0x4e2664 0xe2664
0x4f80b4 0xf80b4
0x4e0a67 0xe0a67
0x4f7c72 0xf7c72
0x4de570 0xde570
0x4e039f 0xe039f
0x4fba9c 0xfba9c
0x4de570 0xde570
0x42f614 0x2f614
0x4e039f 0xe039f
0x4e042f 0xe042f
0x7e418734 GetDC() + 0x6d
0x7e418816 GetDC() + 0x14f
0x7e42927b GetParent() + 0x16c
0x7e4292e3 SendMessageW() + 0x49
0x774448aa Ordinal384() + 0x589fa
0x7744571b CreateToolbar() + 0xb67
0x7e418734 GetDC() + 0x6d
0x7e418816 GetDC() + 0x14f
0x7e42a013 IsWindowUnicode() + 0xa1
0x7e42a998 CallWindowProcA() + 0x1b
0x4de30f 0xde30f
0x4de587 0xde587
0x4ed15a 0xed15a
0x4e039f 0xe039f
0x4e042f 0xe042f
0x7e418734 GetDC() + 0x6d
0x7e418816 GetDC() + 0x14f
0x7e4189cd GetWindowLongW() + 0x127
0x7e418a10 DispatchMessageW() + 0xf
0x7e4274ff IsDialogMessageW() + 0xdb
0x7e43c6d3 IsDialogMessage() + 0x4a
0x4e201b 0xe201b
0x4e00f6 0xe00f6

Stack at the catch point:
0x7c90e514 KiFastSystemCallRet() + 0

Praveen said...

Abhi,

I am really not sure what the problem is with SQLTOOLS since I have not worked with it. I had faced this issue in Jinitiator, which is the Java Applet used to connect to Oracle Applications. Sorry that I can't help you out.