打印PDF时EXCEPTION_ACCESS_VIOLATION

时间:2019-01-29 07:21:42

标签: java windows intellij-idea printing

我们的一些客户(约占4个)存在以下问题:尝试使用我们的软件打印某些文档(pdf)时,应用程序毫无例外地崩溃。该问题仅发生在Windows上,我找不到任何连贯性。

总而言之,这是一个非常奇怪的错误。

这是启用了转储的崩溃日志的一部分:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x7729fe05, pid=6768, tid=0x00002270
#
# JRE version: OpenJDK Runtime Environment (8.0_212-b04) (build 1.8.0_212-1-ojdkbuild-debug-b04)
# Java VM: OpenJDK Server VM (25.212-b04-debug mixed mode windows-x86 )
# Problematic frame:
# C  [ntdll.dll+0x4fe05]
#
# Failed to write core dump. Failed to create file for dumping
#
# If you would like to submit a bug report, please visit:
#   
# 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 (0x565ea000):  JavaThread "Java2D Disposer" daemon [_thread_in_native, id=8816, stack(0x011c0000,0x01210000)]

siginfo: ExceptionCode=0xc0000005, writing address 0x00570068

Registers:
EAX=0x00570068, EBX=0x013cdba0, ECX=0x00570064, EDX=0x00eb6000
ESP=0x0120f1e0, EBP=0x0120f1e4, ESI=0x00570064, EDI=0x014095f0
EIP=0x7729fe05, EFLAGS=0x00010202

Top of Stack: (sp=0x0120f1e0)
0x0120f1e0:   00000001 0120f210 753af30c 00570064
0x0120f1f0:   dd5fb2cd 06211b9e 00210000 013cdba0
0x0120f200:   0057005c 0120f2ec 753df687 ffffffff
0x0120f210:   0120f2a0 76b86cbe 014095f0 013b5f7c
0x0120f220:   06211b9e 0000000a 00000000 00000000
0x0120f230:   00000000 00000000 565ea000 06211b9e
0x0120f240:   5f44fbc0 00000080 038a0029 00000000
0x0120f250:   ff061b9e ffffffff 00001a70 00010621 

Instructions: (pc=0x7729fe05)
0x7729fde5:   cc cc cc cc cc cc cc cc cc cc cc 8b ff 55 8b ec
0x7729fdf5:   83 e4 f8 8b 4d 08 64 8b 15 18 00 00 00 8d 41 04
0x7729fe05:   f0 0f ba 30 00 73 15 8b 42 24 89 41 0c 33 c0 c7
0x7729fe15:   41 08 01 00 00 00 8b e5 5d c2 04 00 8b 41 0c 3b 


Register to memory mapping:

EAX=0x00570068 is an unknown value
EBX=0x013cdba0 is an unknown value
ECX=0x00570064 is an unknown value
EDX=0x00eb6000 is an unknown value
ESP=0x0120f1e0 is pointing into the stack for thread: 0x565ea000
EBP=0x0120f1e4 is pointing into the stack for thread: 0x565ea000
ESI=0x00570064 is an unknown value
EDI=0x014095f0 is an unknown value


Stack: [0x011c0000,0x01210000],  sp=0x0120f1e0,  free space=316k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [ntdll.dll+0x4fe05]
C  [gdi32full.dll+0x8f30c]
C  [GDI32.dll+0x6cbe]
C  [GDI32.dll+0x6984]
C  [awt.dll+0x10422a]  DeletePrintDC+0x8a
C  [awt.dll+0x10412e]  Java_sun_awt_windows_WPrinterJob_deleteDC+0x3e
j  sun.awt.windows.WPrinterJob.deleteDC(JJJ)V+0
j  sun.awt.windows.WPrinterJob.access$000(JJJ)V+4
j  sun.awt.windows.WPrinterJob$HandleRecord.dispose()V+12
j  sun.java2d.Disposer.run()V+26
j  java.lang.Thread.run()V+11
v  ~StubRoutines::call_stub
V  [jvm.dll+0x2b75bb]  JavaCalls::call_helper+0x48b
V  [jvm.dll+0x4058fc]  os::os_exception_wrapper+0xac
V  [jvm.dll+0x2b7122]  JavaCalls::call+0x52
V  [jvm.dll+0x2b6ad1]  JavaCalls::call_virtual+0x111
V  [jvm.dll+0x2b6b53]  JavaCalls::call_virtual+0x43
V  [jvm.dll+0x22f892]  thread_entry+0x62
V  [jvm.dll+0x2f0d8b]  JavaThread::thread_main_inner+0xcb
V  [jvm.dll+0x2f0ca7]  JavaThread::run+0x117
V  [jvm.dll+0x3709cc]  java_start+0xdc
C  [MSVCR100.dll+0x5c556]
C  [MSVCR100.dll+0x5c600]
C  [KERNEL32.DLL+0x20419]
C  [ntdll.dll+0x6662d]
C  [ntdll.dll+0x665fd]

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

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  sun.awt.windows.WPrinterJob.deleteDC(JJJ)V+0
j  sun.awt.windows.WPrinterJob.access$000(JJJ)V+4
j  sun.awt.windows.WPrinterJob$HandleRecord.dispose()V+12
j  sun.java2d.Disposer.run()V+26
j  java.lang.Thread.run()V+11
v  ~StubRoutines::call_stub

这是已分析的故障转储的一部分:

FAULTING_IP: 
ntdll!RtlEnterCriticalSection+15
7729fe05 f00fba3000      lock btr dword ptr [eax],0

EXCEPTION_RECORD:  0120eeac -- (.exr 0x120eeac)
ExceptionAddress: 7729fe05 (ntdll!RtlEnterCriticalSection+0x00000015)
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]: 00000001
   Parameter[1]: 00570068
Attempt to write to address 00570068

FAULTING_THREAD:  00002270

DEFAULT_BUCKET_ID:  INVALID_POINTER_WRITE

PROCESS_NAME:  app.exe

ERROR_CODE: (NTSTATUS) 0x80000003 - {AUSNAHME}  Haltepunkt  Im Quellprogramm wurde ein Haltepunkt erreicht.

EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - Mindestens ein Argument ist ung ltig.

EXCEPTION_CODE_STR:  80000003

WATSON_BKT_PROCSTAMP:  5c6fb37d

WATSON_BKT_PROCVER:  1.6.2.0

PROCESS_VER_PRODUCT:  App

WATSON_BKT_MODULE:  ntdll.dll

WATSON_BKT_MODSTAMP:  1ddde673

WATSON_BKT_MODOFFSET:  7076c

WATSON_BKT_MODVER:  10.0.17763.475

MODULE_VER_PRODUCT:  Microsoft® Windows® Operating System

BUILD_VERSION_STRING:  10.0.17763.475 (WinBuild.160101.0800)

ANALYSIS_SESSION_HOST:  DESKTOP-GNESREK

ANALYSIS_SESSION_TIME:  05-28-2019 10:00:20.0923

ANALYSIS_VERSION: 10.0.18869.1002 amd64fre

CONTEXT:  0120eefc -- (.cxr 0x120eefc)
eax=00570068 ebx=013cdba0 ecx=00570064 edx=00eb6000 esi=00570064 edi=014095f0
eip=7729fe05 esp=0120f1e0 ebp=0120f1e4 iopl=0         nv up ei pl nz na po nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010202
ntdll!RtlEnterCriticalSection+0x15:
7729fe05 f00fba3000      lock btr dword ptr [eax],0   ds:002b:00570068=????????
Resetting default scope

FOLLOWUP_IP: 
gdi32full!DocumentEventEx+3c
753af30c ff7524          push    dword ptr [ebp+24h]

WRITE_ADDRESS:  00570068 

THREAD_ATTRIBUTES: 
LAST_CONTROL_TRANSFER:  from 753af30c to 7729fe05

THREAD_SHA1_HASH_MOD_FUNC:  e10796f1c19359a1b26a09ff8272ad85c58be40e

THREAD_SHA1_HASH_MOD_FUNC_OFFSET:  393c326dee17d593e2102a54d7e9713f31e3e91d

OS_LOCALE:  DEU

BUGCHECK_STR:  APPLICATION_FAULT_INVALID_POINTER_WRITE_STRING_DEREFERENCE

PRIMARY_PROBLEM_CLASS:  APPLICATION_FAULT

PROBLEM_CLASSES: 

    ID:     [0n313]
    Type:   [@ACCESS_VIOLATION]
    Class:  Addendum
    Scope:  BUCKET_ID
    Name:   Omit
    Data:   Omit
    PID:    [0x1a70]
    TID:    [0x2270]
    Frame:  [0] : ntdll!NtTerminateProcess

    ID:     [0n286]
    Type:   [INVALID_POINTER_WRITE]
    Class:  Primary
    Scope:  DEFAULT_BUCKET_ID (Failure Bucket ID prefix)
            BUCKET_ID
    Name:   Add
    Data:   Omit
    PID:    [0x1a70]
    TID:    [0x2270]
    Frame:  [0] : ntdll!NtTerminateProcess

    ID:     [0n184]
    Type:   [STRING_DEREFERENCE]
    Class:  Primary
    Scope:  BUCKET_ID
    Name:   Add
    Data:   Omit
    PID:    [0x1a70]
    TID:    [0x2270]
    Frame:  [0] : ntdll!NtTerminateProcess

    ID:     [0n97]
    Type:   [@SHUTDOWN]
    Class:  Addendum
    Scope:  DEFAULT_BUCKET_ID (Failure Bucket ID prefix)
            BUCKET_ID
    Name:   Omit
    Data:   Omit
    PID:    [0x1a70]
    TID:    [0x2270]
    Frame:  [0] : ntdll!NtTerminateProcess

STACK_TEXT:  
0120f1e0 7729fe05 ntdll!RtlEnterCriticalSection+0x15
0120f1ec 753af30c gdi32full!DocumentEventEx+0x3c
0120f218 76b86cbe GDI32!InternalDeleteDC+0x30e
0120f2a8 76b86984 GDI32!DeleteDC+0x14
0120f2bc 6ff6422a awt!DeletePrintDC+0x8a
0120f2d4 6ff6412e awt!Java_sun_awt_windows_WPrinterJob_deleteDC+0x3e
0120f300 02e2263d unknown!unknown+0x0
0120f430 02e104fa unknown!unknown+0x0
0120f438 716173f8 jvm!methodHandle::~methodHandle+0x18
1489d1b8 54bddd78 unknown!unknown+0x0
1489d1bc 565ea000 unknown!unknown+0x0

以下是一些其他未启用崩溃转储的崩溃日志:

pastebin1

pastebin2

pastebin3

pastebin4

我可以根据需要添加更多内容。

0 个答案:

没有答案