// JP opened flex table

Click to See Complete Forum and Search --> : EXCEPTION_ACCESS_VIOLATION (0xc0000005)....


rockets12345
November 29th, 2004, 06:40 PM
Can anyone help what might be causing the following exception:


An unexpected exception has been detected in native code outside the VM.

Unexpected Signal : EXCEPTION_ACCESS_VIOLATION (0xc0000005) occurred at PC=0x77F4E177

Function=GetEnhMetaFileHeader+0x30F

Library=C:\WINNT\system32\GDI32.DLL



Current Java thread:

at sun.awt.windows.WToolkit.eventLoop(Native Method)

at sun.awt.windows.WToolkit.run(WToolkit.java:262)

at java.lang.Thread.run(Thread.java:534)



Dynamic libraries:

0x00400000 - 0x00412000 C:\Print_Engine\PrintEngine.exe

0x77F80000 - 0x77FFD000 C:\WINNT\system32\ntdll.dll

0x7C570000 - 0x7C628000 C:\WINNT\system32\KERNEL32.dll

0x7C2D0000 - 0x7C332000 C:\WINNT\system32\ADVAPI32.dll

0x77D30000 - 0x77DA1000 C:\WINNT\system32\RPCRT4.DLL

0x08000000 - 0x082AD000 C:\j2sdk1.4.2_03\jre\bin\server\jvm.dll

0x77E10000 - 0x77E75000 C:\WINNT\system32\USER32.dll

0x77F40000 - 0x77F7E000 C:\WINNT\system32\GDI32.DLL

0x77570000 - 0x775A0000 C:\WINNT\system32\WINMM.dll

0x78000000 - 0x78045000 C:\WINNT\system32\MSVCRT.dll

0x10000000 - 0x10007000 C:\j2sdk1.4.2_03\jre\bin\hpi.dll

0x00890000 - 0x0089E000 C:\j2sdk1.4.2_03\jre\bin\verify.dll

0x008A0000 - 0x008B9000 C:\j2sdk1.4.2_03\jre\bin\java.dll

0x008C0000 - 0x008CD000 C:\j2sdk1.4.2_03\jre\bin\zip.dll

0x24C70000 - 0x24C7F000 C:\j2sdk1.4.2_03\jre\bin\net.dll

0x75030000 - 0x75044000 C:\WINNT\system32\WS2_32.dll

0x75020000 - 0x75028000 C:\WINNT\system32\WS2HELP.DLL

0x24CC0000 - 0x24CC8000 C:\j2sdk1.4.2_03\jre\bin\nio.dll

0x782C0000 - 0x782CC000 C:\WINNT\System32\rnr20.dll

0x77980000 - 0x779A4000 C:\WINNT\system32\DNSAPI.DLL

0x75050000 - 0x75058000 C:\WINNT\system32\WSOCK32.DLL

0x77340000 - 0x77353000 C:\WINNT\system32\iphlpapi.dll

0x77520000 - 0x77525000 C:\WINNT\system32\ICMP.DLL

0x77320000 - 0x77337000 C:\WINNT\system32\MPRAPI.DLL

0x75150000 - 0x7515F000 C:\WINNT\system32\SAMLIB.DLL

0x75170000 - 0x751BF000 C:\WINNT\system32\NETAPI32.DLL

0x7C340000 - 0x7C34F000 C:\WINNT\system32\SECUR32.DLL

0x751C0000 - 0x751C6000 C:\WINNT\system32\NETRAP.DLL

0x77950000 - 0x7797A000 C:\WINNT\system32\WLDAP32.DLL

0x77A50000 - 0x77B3F000 C:\WINNT\system32\OLE32.DLL

0x779B0000 - 0x77A4B000 C:\WINNT\system32\OLEAUT32.DLL

0x773B0000 - 0x773DF000 C:\WINNT\system32\ACTIVEDS.DLL

0x77380000 - 0x773A3000 C:\WINNT\system32\ADSLDPC.DLL

0x77830000 - 0x7783E000 C:\WINNT\system32\RTUTILS.DLL

0x77880000 - 0x7790E000 C:\WINNT\system32\SETUPAPI.DLL

0x7C0F0000 - 0x7C151000 C:\WINNT\system32\USERENV.DLL

0x774E0000 - 0x77513000 C:\WINNT\system32\RASAPI32.DLL

0x774C0000 - 0x774D1000 C:\WINNT\system32\RASMAN.DLL

0x77530000 - 0x77552000 C:\WINNT\system32\TAPI32.DLL

0x71710000 - 0x71794000 C:\WINNT\system32\COMCTL32.DLL

0x70A70000 - 0x70AD5000 C:\WINNT\system32\SHLWAPI.DLL

0x77360000 - 0x77379000 C:\WINNT\system32\DHCPCSVC.DLL

0x777E0000 - 0x777E8000 C:\WINNT\System32\winrnr.dll

0x777F0000 - 0x777F5000 C:\WINNT\system32\rasadhlp.dll

0x74FD0000 - 0x74FEE000 C:\WINNT\system32\msafd.dll

0x75010000 - 0x75017000 C:\WINNT\System32\wshtcpip.dll

0x265A0000 - 0x266AF000 C:\j2sdk1.4.2_03\jre\bin\awt.dll

0x77800000 - 0x7781E000 C:\WINNT\system32\WINSPOOL.DRV

0x76620000 - 0x76630000 C:\WINNT\system32\MPR.DLL

0x75E60000 - 0x75E7A000 C:\WINNT\system32\IMM32.dll

0x27A00000 - 0x27A22000 C:\j2sdk1.4.2_03\jre\bin\dcpr.dll

0x27D80000 - 0x27DD0000 C:\j2sdk1.4.2_03\jre\bin\fontmanager.dll

0x72800000 - 0x72846000 C:\WINNT\system32\ddraw.dll

0x728A0000 - 0x728A6000 C:\WINNT\system32\DCIMAN32.dll

0x72CF0000 - 0x72D84000 C:\WINNT\system32\D3DIM700.DLL

0x775A0000 - 0x775B4000 C:\WINNT\system32\spool\DRIVERS\W32X86\2\RASDDUI.DLL

0x6A900000 - 0x6A908000 C:\WINNT\system32\spool\DRIVERS\W32X86\2\eltroniui.dll

0x28100000 - 0x2811E000 C:\j2sdk1.4.2_03\jre\bin\jpeg.dll

0x782F0000 - 0x78538000 C:\WINNT\system32\shell32.dll

0x77920000 - 0x77943000 C:\WINNT\system32\imagehlp.dll

0x72A00000 - 0x72A2D000 C:\WINNT\system32\DBGHELP.dll

0x690A0000 - 0x690AB000 C:\WINNT\system32\PSAPI.DLL



Heap at VM Abort:

Heap

def new generation total 1536K, used 518K [0x10010000, 0x101b0000, 0x11c80000)

eden space 1408K, 28% used [0x10010000, 0x10073ed8, 0x10170000)

from space 128K, 93% used [0x10190000, 0x101adc60, 0x101b0000)

to space 128K, 0% used [0x10170000, 0x10170000, 0x10190000)

tenured generation total 12688K, used 8325K [0x11c80000, 0x128e4000, 0x20010000)

the space 12688K, 65% used [0x11c80000, 0x124a1798, 0x124a1800, 0x128e4000)

compacting perm gen total 16384K, used 12193K [0x20010000, 0x21010000, 0x24010000)

the space 16384K, 74% used [0x20010000, 0x20bf8590, 0x20bf8600, 0x21010000)



Local Time = Wed Nov 17 18:42:39 2004

Elapsed Time = 9

#

# The exception above was detected in native code outside the VM

#

# Java VM: Java HotSpot(TM) Server VM (1.4.2_03-b02 mixed mode)

#

Thanks

Joe Nellis
November 30th, 2004, 09:54 AM
Something in sun.awt.windows.WToolkit.eventLoop(Native Method) is throwing an exception when it called the function GetEnhMetaFileHeader+0x30F from library C:\WINNT\system32\GDI32.DL. It seems you are trying to start a thread for some GUI operation (display a popup?) What is this program doing? What is PrintEngine? doing in there?

Microsoft recently made an update to the GDI library due to a security issue about 6 months ago. Could this be the reason? I don't know. Show your code.

rockets12345
November 30th, 2004, 10:03 AM
Actually I am trying to print some Images i.e. can upto 1000 pages. PrintEngine is the class to start the process and threads. No problem on my Desktop but If running on server gives this exception. If code problem then should get this error on my Desktop too. Only on when trying to run on a server and it only happens randomly. Any ideas.

Thanks

cma
November 30th, 2004, 02:36 PM
It's probably an OS issue as it involves native code, are you running the same OS on both your desktop and the server? I'd suggest checking over if you're using the proper libraries on the OS you're developing on and maybe try on a different machine that has the same setup as the server.

cjard
December 1st, 2004, 11:26 AM
the fact that the server and the desktop are different machines doesnt help; are they the same operating system? even if they are, the chances that the dll versions of the files in microsoft windows are different, is very high. every java program makes use of windows DLLs at some point (it is basically an emulator running on the native OS) and your java program is hammering a DLL in certain way that works on your machine, and fails on the server.

joe's right that GDI security issues were found recently, and the fact that this is an access privilege violation type error means that it might be this that is a problem. maybe the serve ris patched and your desktop isnt, who knows. either way, youre going to have to rewrite your java app in a different way or change the DLLs that java is using..

//JP added flex table