使用icepdf库时Java应用程序崩溃

时间:2010-08-30 08:52:53

标签: java jvm java-native-interface jvm-crash icepdf

在我的应用程序中,我使用了库icepdf。当您创建一个应用程序类时,它会被破坏并创建一个日志文件。帮助解决问题

日志文件:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d034bee, pid=3304, tid=3364
#
# JRE version: 6.0_21-b07
# Java VM: Java HotSpot(TM) Client VM (17.0-b17 mixed mode, sharing windows-x86 )
# Problematic frame:
# C  [awt.dll+0x34bee]
#

---------------  T H R E A D  ---------------

Current thread (0x03168c00):  JavaThread "AWT-Windows" daemon [_thread_in_native, id=3364, stack(0x00d70000,0x00e70000)]

siginfo: ExceptionCode=0xc0000005, writing address 0xe1ecbd40

Registers:
EAX=0x00000000, EBX=0x00000018, ECX=0x000000cc, EDX=0x00000000
ESP=0x00e6f54c, EBP=0x00000000, ESI=0xe1ecbd40, EDI=0x23a5ff74
EIP=0x6d034bee, EFLAGS=0x00010246

Top of Stack: (sp=0x00e6f54c)
0x00e6f54c:   00e6f5a8 00000018 00e6f62c 00000014
0x00e6f55c:   6d0ab541 00cccccc 00000000 00000018
0x00e6f56c:   00000014 23a60164 000003a0 00000000
0x00e6f57c:   00000000 00000018 03081760 00000100
0x00e6f58c:   0015f660 00000400 e1ecbd40 00000000
0x00e6f59c:   00000000 00000018 00000014 00000000
0x00e6f5ac:   00000000 00000018 00000014 00000000
0x00e6f5bc:   00000000 00000004 00000400 00000000 

Instructions: (pc=0x6d034bee)
0x6d034bde:   00 0f b6 84 01 40 35 10 6d 0b ea c1 e5 08 0b e8
0x6d034bee:   89 2e 47 83 c6 04 4b 75 99 8b 54 24 18 8b 4c 24 


Stack: [0x00d70000,0x00e70000],  sp=0x00e6f54c,  free space=3fd00e6f080k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [awt.dll+0x34bee]

[error occurred during error reporting (printing native stack), id 0xc0000005]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  sun.awt.windows.WToolkit.eventLoop()V+0
j  sun.awt.windows.WToolkit.run()V+52
v  ~StubRoutines::call_stub

---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x042c9c00 JavaThread "Image Fetcher 2" daemon [_thread_blocked, id=388, stack(0x04430000,0x04480000)]
  0x03153400 JavaThread "Image Fetcher 1" daemon [_thread_blocked, id=584, stack(0x03810000,0x03860000)]
  0x0312e400 JavaThread "Image Fetcher 0" daemon [_thread_blocked, id=4088, stack(0x00390000,0x003e0000)]
  0x03526800 JavaThread "D3D Screen Updater" daemon [_thread_blocked, id=2128, stack(0x04970000,0x049c0000)]
  0x0356f400 JavaThread "SwingWorker-pool-3-thread-7" daemon [_thread_blocked, id=2196, stack(0x04920000,0x04970000)]
  0x0356d800 JavaThread "SwingWorker-pool-3-thread-6" daemon [_thread_blocked, id=468, stack(0x048d0000,0x04920000)]
  0x03522000 JavaThread "SwingWorker-pool-3-thread-5" daemon [_thread_blocked, id=2796, stack(0x04880000,0x048d0000)]
  0x03521800 JavaThread "SwingWorker-pool-3-thread-4" daemon [_thread_blocked, id=996, stack(0x04740000,0x04790000)]
  0x0315f400 JavaThread "SwingWorker-pool-3-thread-3" daemon [_thread_blocked, id=2136, stack(0x04830000,0x04880000)]
  0x0415c400 JavaThread "SwingWorker-pool-3-thread-2" daemon [_thread_blocked, id=2112, stack(0x047e0000,0x04830000)]
  0x03598400 JavaThread "SwingWorker-pool-3-thread-1" daemon [_thread_blocked, id=2132, stack(0x04790000,0x047e0000)]
  0x04109400 JavaThread "TimerQueue" daemon [_thread_blocked, id=3980, stack(0x04520000,0x04570000)]
  0x0364a000 JavaThread "AWT-EventQueue-1" [_thread_blocked, id=4056, stack(0x03f40000,0x03f90000)]
  0x03567800 JavaThread "AWT-EventQueue-0" [_thread_in_native, id=4064, stack(0x03bc0000,0x03c10000)]
  0x03537400 JavaThread "Keep-Alive-Timer" daemon [_thread_blocked, id=4044, stack(0x03b70000,0x03bc0000)]
  0x0352c400 JavaThread "CacheCleanUpThread" daemon [_thread_blocked, id=4448, stack(0x038b0000,0x03900000)]
  0x0352a800 JavaThread "CacheMemoryCleanUpThread" daemon [_thread_blocked, id=3884, stack(0x03860000,0x038b0000)]
  0x00c38400 JavaThread "DestroyJavaVM" [_thread_blocked, id=3284, stack(0x00cd0000,0x00d20000)]
  0x0316a800 JavaThread "Javaws Secure Thread" daemon [_thread_blocked, id=3168, stack(0x037c0000,0x03810000)]
=>0x03168c00 JavaThread "AWT-Windows" daemon [_thread_in_native, id=3364, stack(0x00d70000,0x00e70000)]
  0x03167800 JavaThread "AWT-Shutdown" [_thread_blocked, id=3880, stack(0x03770000,0x037c0000)]
  0x03166800 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=3876, stack(0x03720000,0x03770000)]
  0x03103400 JavaThread "traceMsgQueueThread" daemon [_thread_blocked, id=3732, stack(0x03460000,0x034b0000)]
  0x030e3800 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=3720, stack(0x033a0000,0x033f0000)]
  0x030e0800 JavaThread "CompilerThread0" daemon [_thread_blocked, id=3728, stack(0x03350000,0x033a0000)]
  0x030db800 JavaThread "Attach Listener" daemon [_thread_blocked, id=3788, stack(0x03300000,0x03350000)]
  0x030da400 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=3716, stack(0x032b0000,0x03300000)]
  0x0308f000 JavaThread "Finalizer" daemon [_thread_blocked, id=3708, stack(0x03260000,0x032b0000)]
  0x0308d800 JavaThread "Reference Handler" daemon [_thread_blocked, id=3704, stack(0x03210000,0x03260000)]

Other Threads:
  0x0308c000 VMThread [stack: 0x031c0000,0x03210000] [id=3712]
  0x030ee000 WatcherThread [stack: 0x033f0000,0x03440000] [id=3724]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 def new generation   total 17536K, used 3452K [0x22970000, 0x23c70000, 0x27ec0000)
  eden space 15616K,   9% used [0x22970000, 0x22aef070, 0x238b0000)
  from space 1920K, 100% used [0x238b0000, 0x23a90000, 0x23a90000)
  to   space 1920K,   0% used [0x23a90000, 0x23a90000, 0x23c70000)
 tenured generation   total 38756K, used 28076K [0x27ec0000, 0x2a499000, 0x32970000)
   the space 38756K,  72% used [0x27ec0000, 0x29a2b0e8, 0x29a2b200, 0x2a499000)
 compacting perm gen  total 12800K, used 12791K [0x32970000, 0x335f0000, 0x36970000)
   the space 12800K,  99% used [0x32970000, 0x335edd40, 0x335ede00, 0x335f0000)
    ro space 10240K,  51% used [0x36970000, 0x36e9b700, 0x36e9b800, 0x37370000)
    rw space 12288K,  54% used [0x37370000, 0x37a076c0, 0x37a07800, 0x37f70000)

Dynamic libraries:
0x00400000 - 0x00424000  C:\Program Files\Java\jre6\bin\javaw.exe
0x7c900000 - 0x7c9b1000  C:\WINDOWS\system32\ntdll.dll
0x7c800000 - 0x7c8f6000  C:\WINDOWS\system32\kernel32.dll
0x77dc0000 - 0x77e6c000  C:\WINDOWS\system32\ADVAPI32.dll
0x77e70000 - 0x77f01000  C:\WINDOWS\system32\RPCRT4.dll
0x77d30000 - 0x77dc0000  C:\WINDOWS\system32\USER32.dll
0x77f10000 - 0x77f56000  C:\WINDOWS\system32\GDI32.dll
0x77fe0000 - 0x77ff1000  C:\WINDOWS\system32\Secur32.dll
0x71a90000 - 0x71aa7000  C:\WINDOWS\system32\ws2_32.dll
0x77c00000 - 0x77c58000  C:\WINDOWS\system32\msvcrt.dll
0x71a80000 - 0x71a88000  C:\WINDOWS\system32\WS2HELP.dll
0x71ab0000 - 0x71aba000  C:\WINDOWS\system32\WSOCK32.dll
0x7c340000 - 0x7c396000  C:\Program Files\Java\jre6\bin\msvcr71.dll
0x6d800000 - 0x6daa7000  C:\Program Files\Java\jre6\bin\client\jvm.dll
0x76b20000 - 0x76b4e000  C:\WINDOWS\system32\WINMM.dll
0x6d7b0000 - 0x6d7bc000  C:\Program Files\Java\jre6\bin\verify.dll
0x6d330000 - 0x6d34f000  C:\Program Files\Java\jre6\bin\java.dll
0x6d000000 - 0x6d14a000  C:\Program Files\Java\jre6\bin\awt.dll
0x72fc0000 - 0x72fe6000  C:\WINDOWS\system32\WINSPOOL.DRV
0x76360000 - 0x7637d000  C:\WINDOWS\system32\IMM32.dll
0x774d0000 - 0x7760c000  C:\WINDOWS\system32\ole32.dll
0x773c0000 - 0x774c2000  C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2180_x-ww_a84f1ff9\COMCTL32.dll
0x77f60000 - 0x77fd6000  C:\WINDOWS\system32\SHLWAPI.dll
0x6d290000 - 0x6d298000  C:\Program Files\Java\jre6\bin\hpi.dll
0x4fd70000 - 0x4ff16000  C:\WINDOWS\system32\d3d9.dll
0x6df20000 - 0x6df26000  C:\WINDOWS\system32\d3d8thk.dll
0x77bf0000 - 0x77bf8000  C:\WINDOWS\system32\VERSION.dll
0x76be0000 - 0x76beb000  C:\WINDOWS\system32\PSAPI.DLL
0x6d7f0000 - 0x6d7ff000  C:\Program Files\Java\jre6\bin\zip.dll
0x746e0000 - 0x7472b000  C:\WINDOWS\system32\MSCTF.dll
0x6d1d0000 - 0x6d1e3000  C:\Program Files\Java\jre6\bin\deploy.dll
0x77a70000 - 0x77b05000  C:\WINDOWS\system32\CRYPT32.dll
0x77b10000 - 0x77b22000  C:\WINDOWS\system32\MSASN1.dll
0x7c9c0000 - 0x7d1d8000  C:\WINDOWS\system32\SHELL32.dll
0x77110000 - 0x7719c000  C:\WINDOWS\system32\OLEAUT32.dll
0x771a0000 - 0x77246000  C:\WINDOWS\system32\WININET.dll
0x77250000 - 0x772f0000  C:\WINDOWS\system32\urlmon.dll
0x6d610000 - 0x6d623000  C:\Program Files\Java\jre6\bin\net.dll
0x6d630000 - 0x6d639000  C:\Program Files\Java\jre6\bin\nio.dll
0x6d6b0000 - 0x6d6f6000  C:\Program Files\Java\jre6\bin\regutils.dll
0x71a30000 - 0x71a70000  C:\WINDOWS\System32\mswsock.dll
0x76f10000 - 0x76f37000  C:\WINDOWS\system32\DNSAPI.dll
0x76fa0000 - 0x76fa8000  C:\WINDOWS\System32\winrnr.dll
0x76f50000 - 0x76f7d000  C:\WINDOWS\system32\WLDAP32.dll
0x76fb0000 - 0x76fb6000  C:\WINDOWS\system32\rasadhlp.dll
0x10000000 - 0x10015000  C:\WINDOWS\system32\DRWEBSP.DLL
0x039a0000 - 0x039c3000  C:\WINDOWS\system32\nvappfilter.dll
0x698b0000 - 0x69908000  C:\WINDOWS\system32\hnetcfg.dll
0x71a70000 - 0x71a78000  C:\WINDOWS\System32\wshtcpip.dll
0x76fc0000 - 0x7703f000  C:\WINDOWS\system32\CLBCATQ.DLL
0x77040000 - 0x77107000  C:\WINDOWS\system32\COMRes.dll
0x03c70000 - 0x03f3d000  C:\WINDOWS\system32\xpsp2res.dll
0x75e60000 - 0x75f10000  C:\WINDOWS\system32\SXS.DLL
0x0ffd0000 - 0x0fff8000  C:\WINDOWS\system32\rsaenh.dll
0x769a0000 - 0x76a54000  C:\WINDOWS\system32\USERENV.dll
0x5bd50000 - 0x5bda4000  C:\WINDOWS\system32\netapi32.dll
0x6d230000 - 0x6d284000  C:\Program Files\Java\jre6\bin\fontmanager.dll
0x6d790000 - 0x6d798000  C:\Program Files\Java\jre6\bin\sunmscapi.dll
0x4ebe0000 - 0x4ed83000  C:\WINDOWS\WinSxS\x86_Microsoft.Windows.GdiPlus_6595b64144ccf1df_1.0.2600.2180_x-ww_522f9f82\gdiplus.dll
0x6d1a0000 - 0x6d1c3000  C:\Program Files\Java\jre6\bin\dcpr.dll

VM Arguments:
jvm_args: -Xbootclasspath/a:C:\Program Files\Java\jre6\lib\javaws.jar;C:\Program Files\Java\jre6\lib\deploy.jar;C:\Program Files\Java\jre6\lib\plugin.jar -Djava.security.policy=file:C:\Program Files\Java\jre6\lib\security\javaws.policy -DtrustProxy=true -Xverify:remote -Djnlpx.home=C:\Program Files\Java\jre6\bin -Dsun.awt.warmup=true -Djnlpx.origFilenameArg=http://proxyapp.doci.in.ua/med/registry/jnlp/_jnlpWogNuL.jnlp -Djnlpx.remove=false -Djnlpx.splashport=1426 -Djnlpx.jvm=C:\Program Files\Java\jre6\bin\javaw.exe 
java_command: com.sun.javaws.Main http://proxyapp.doci.in.ua/med/registry/jnlp/_jnlpWogNuL.jnlp
Launcher Type: SUN_STANDARD

Environment Variables:
PATH=C:\Program Files\PHP\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;"C:\Program Files\Java\jre6\bin"
USERNAME=user
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 15 Model 75 Stepping 2, AuthenticAMD



---------------  S Y S T E M  ---------------

OS: Windows XP Build 2600 Service Pack 2

CPU:total 2 (2 cores per cpu, 1 threads per core) family 15 model 75 stepping 2, cmov, cx8, fxsr, mmx, sse, sse2, sse3, mmxext, 3dnow, 3dnowext

Memory: 4k page, physical 2062764k(1217788k free), swap 4001232k(3294388k free)

vm_info: Java HotSpot(TM) Client VM (17.0-b17) for windows-x86 JRE (1.6.0_21-b07), built on Jul 17 2010 01:10:15 by "java_re" with MS VC++ 7.1 (VS2003)

time: Sat Aug 28 13:37:31 2010
elapsed time: 24 seconds

2 个答案:

答案 0 :(得分:0)

从您粘贴的代码段中,它出现了分段错误(ExceptionCode = 0xc0000005,写入地址0xe1ecbd40),因为sun.awt.windows.WToolkit.eventLoop()函数尝试将一些内容写入内存地址0xe1ecbd40,该内容受到保护,或位于内核内存区域,或无法访问。这就是崩溃的原因。这个段错误发生在sun AWT library awt.dll中。因为eventLoop()应该调用一些本机函数,这反过来导致这个段错误。所以它不是你的应用程序的问题,它在JDK的类库中崩溃。对此问题的进一步分析需要调试事后日志。您已经处于最新的JDK级别,因此它看起来是类库库中的新问题。我想如果您可以使用SUN打开票证,那么他们可能会查看它并可以帮助您。同时您可以尝试使用某些旧版本的JDK,但最近版本中的某些新代码更改可能有可能导致这个问题,但它只是一个猜测。

答案 1 :(得分:0)

从转储中继续进行的工作并不多,但您可以尝试使用以下系统属性来封装它的Direct3D问题。

-Dsun.java2d.d3d=false