我有这个桌面应用程序,每页将PDF呈现为不同的图像。 但有时候一切都很好,有时候不行。使用相同的文件。
我不知道这是由于某些swing实现还是本机代码,还是jna包装器。
这是日志文件
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x03a93d1e, pid=2576, tid=3228
#
# JRE version: 7.0_04-b22
# Java VM: Java HotSpot(TM) Client VM (23.0-b21 mixed mode, sharing windows-x86 )
# Problematic frame:
# C [DebenuPDFLibraryDLL1011.dll+0x93d1e]
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# If you would like to submit a bug report, please visit:
# http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
--------------- T H R E A D ---------------
Current thread (0x04505400): JavaThread "SwingWorker-pool-1-thread-8" daemon [_thread_in_native, id=3228, stack(0x04a30000,0x04a80000)]
siginfo: ExceptionCode=0xc0000005, reading address 0x00000018
Registers:
EAX=0x00000000, EBX=0x00000000, ECX=0x00000000, EDX=0x03c058d8
ESP=0x04a7eed4, EBP=0x03c058d8, ESI=0x00000000, EDI=0xffffffff
EIP=0x03a93d1e, EFLAGS=0x00010286
Top of Stack: (sp=0x04a7eed4)
0x04a7eed4: 00000000 00000000 034bcd30 00000000
0x04a7eee4: 03a93d42 00000000 00000000 03c055b6
0x04a7eef4: 03c058d8 04a7ef28 03c058d8 034bcd30
0x04a7ef04: 00000000 03c05664 0000000b 03511380
0x04a7ef14: 00000000 04a7f064 0351fd00 0000000b
0x04a7ef24: 04a7f044 04a7f064 03c05a21 04a7f034
0x04a7ef34: 04a7f03c 04a7f02c 0000000b 03511380
0x04a7ef44: 00000005 03a69e22 00000000 00000000
Instructions: (pc=0x03a93d1e)
0x03a93cfe: ff 33 db eb 17 8b 46 18 8b 04 d8 8b 40 18 8b d5
0x03a93d0e: e8 79 38 f7 ff 75 04 8b fb eb 01 43 85 ff 7d 0c
0x03a93d1e: 8b 46 18 e8 42 51 f7 ff 3b d8 7c d9 8b c7 5d 5f
0x03a93d2e: 5e 5b c3 8d 40 00 53 51 88 0c 24 8b d8 8b c3 e8
Register to memory mapping:
EAX=0x00000000 is an unknown value
EBX=0x00000000 is an unknown value
ECX=0x00000000 is an unknown value
EDX=0x03c058d8 is an unknown value
ESP=0x04a7eed4 is pointing into the stack for thread: 0x04505400
EBP=0x03c058d8 is an unknown value
ESI=0x00000000 is an unknown value
EDI=0xffffffff is an unknown value
Stack: [0x04a30000,0x04a80000], sp=0x04a7eed4, free space=315k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [DebenuPDFLibraryDLL1011.dll+0x93d1e]
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j pdf.debenu.DebenuPDFLibraryDLL1011Library.DPLRenderPageToString(IDII)Lcom/sun/jna/Pointer;+0
j pdf.debenu.DebenuPDFFilePage.getPageAsImage()Ljava/awt/Image;+23
j pdf.PDFPage.getAsImage()Ljava/awt/Image;+4
j viewer.View$ImageLoader.doInBackground()Ljava/lang/Void;+30
j viewer.View$ImageLoader.doInBackground()Ljava/lang/Object;+1
j javax.swing.SwingWorker$1.call()Ljava/lang/Object;+14
j java.util.concurrent.FutureTask$Sync.innerRun()V+29
j java.util.concurrent.FutureTask.run()V+4
j javax.swing.SwingWorker.run()V+4
j java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V+46
j java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5
j java.lang.Thread.run()V+11
v ~StubRoutines::call_stub
--------------- P R O C E S S ---------------
Java Threads: ( => current thread )
0x044ff000 JavaThread "SwingWorker-pool-1-thread-10" daemon [_thread_blocked, id=2872, stack(0x04b00000,0x04b50000)]
0x04492800 JavaThread "SwingWorker-pool-1-thread-9" daemon [_thread_blocked, id=500, stack(0x04a90000,0x04ae0000)]
=>0x04505400 JavaThread "SwingWorker-pool-1-thread-8" daemon [_thread_in_native, id=3228, stack(0x04a30000,0x04a80000)]
0x04611400 JavaThread "SwingWorker-pool-1-thread-7" daemon [_thread_blocked, id=3032, stack(0x049e0000,0x04a30000)]
0x03069c00 JavaThread "SwingWorker-pool-1-thread-6" daemon [_thread_blocked, id=3600, stack(0x04990000,0x049e0000)]
0x0458ec00 JavaThread "SwingWorker-pool-1-thread-5" daemon [_thread_blocked, id=1956, stack(0x04940000,0x04990000)]
0x04541800 JavaThread "SwingWorker-pool-1-thread-4" daemon [_thread_blocked, id=1060, stack(0x048f0000,0x04940000)]
0x03059400 JavaThread "SwingWorker-pool-1-thread-3" daemon [_thread_blocked, id=400, stack(0x048a0000,0x048f0000)]
0x04568400 JavaThread "SwingWorker-pool-1-thread-2" daemon [_thread_blocked, id=980, stack(0x04850000,0x048a0000)]
0x031cb000 JavaThread "TimerQueue" daemon [_thread_blocked, id=3848, stack(0x04400000,0x04450000)]
0x031c8400 JavaThread "SwingWorker-pool-1-thread-1" daemon [_thread_blocked, id=2876, stack(0x043b0000,0x04400000)]
0x003c9800 JavaThread "DestroyJavaVM" [_thread_blocked, id=4012, stack(0x00a00000,0x00a50000)]
0x030f5800 JavaThread "AWT-EventQueue-0" [_thread_blocked, id=2268, stack(0x038c0000,0x03910000)]
0x03106c00 JavaThread "AWT-Windows" daemon [_thread_blocked, id=168, stack(0x03870000,0x038c0000)]
0x03105400 JavaThread "AWT-Shutdown" [_thread_blocked, id=1016, stack(0x03820000,0x03870000)]
0x03104400 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=3700, stack(0x037d0000,0x03820000)]
0x02ba3400 JavaThread "Service Thread" daemon [_thread_blocked, id=1916, stack(0x02f30000,0x02f80000)]
0x02b98800 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=764, stack(0x02ee0000,0x02f30000)]
0x02b96c00 JavaThread "Attach Listener" daemon [_thread_blocked, id=3840, stack(0x02e90000,0x02ee0000)]
0x02b95800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=2132, stack(0x02e40000,0x02e90000)]
0x02b86400 JavaThread "Finalizer" daemon [_thread_blocked, id=2664, stack(0x02df0000,0x02e40000)]
0x02b81800 JavaThread "Reference Handler" daemon [_thread_blocked, id=3376, stack(0x02da0000,0x02df0000)]
Other Threads:
0x02b7fc00 VMThread [stack: 0x02d50000,0x02da0000] [id=3292]
0x02bc2400 WatcherThread [stack: 0x02f80000,0x02fd0000] [id=276]
VM state:at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event])
[0x003c8808] Threads_lock - owner thread: 0x02b7fc00
[0x003c8c18] Heap_lock - owner thread: 0x04568400