JAVA应用程序因DLL问题而随机崩溃

JAVA应用程序因DLL问题而随机崩溃,java,windows,dll,java-8,windows2012,Java,Windows,Dll,Java 8,Windows2012,我有一个JAVA应用程序,它通过com与.Net应用程序通信。最近(由于我们已经从Windows2003服务器迁移到Windows2012服务器R2),java应用程序一直在随机崩溃 有时我们会看到应用程序崩溃,所有相关控制台关闭,而有时我们会看到应用程序和控制台仍然存在,但它已经挂起。重新启动应用程序在大多数情况下都可以解决此问题 windows系统中的事件视图将指向DLL的某些问题。我遇到的问题与之类似,但我们在windows 2012服务器R2上使用JAVA 8 update 71 32位

我有一个JAVA应用程序,它通过com与.Net应用程序通信。最近(由于我们已经从Windows2003服务器迁移到Windows2012服务器R2),java应用程序一直在随机崩溃

有时我们会看到应用程序崩溃,所有相关控制台关闭,而有时我们会看到应用程序和控制台仍然存在,但它已经挂起。重新启动应用程序在大多数情况下都可以解决此问题

windows系统中的事件视图将指向DLL的某些问题。我遇到的问题与之类似,但我们在windows 2012服务器R2上使用JAVA 8 update 71 32位,因此我认为该解决方案不适用于我们。有人能帮我吗?我们的windows是更新的,但如果有人能告诉我们微粒包,我会很感激,然后我可以检查它是否存在

下面列出了我们将在windows事件查看器中获得的错误日志

Version=1
EventType=APPCRASH
EventTime=131281548825671250
ReportType=2
Consent=1
ReportIdentifier=c0ed1792-d3d2-11e6-bbd4-547879605a0a
IntegratorReportIdentifier=c0ed1791-d3d2-11e6-bbd4-547879605a0a
WOW64=1
Response.type=4
Sig[0].Name=Application Name
Sig[0].Value=java.exe
Sig[1].Name=Application Version
Sig[1].Value=8.0.710.15
Sig[2].Name=Application Timestamp
Sig[2].Value=5679f9aa
Sig[3].Name=Fault Module Name
Sig[3].Value=ole32.dll
Sig[4].Name=Fault Module Version
Sig[4].Value=6.1.7600.16385
Sig[5].Name=Fault Module Timestamp
Sig[5].Value=4a5bdac7
Sig[6].Name=Exception Code
Sig[6].Value=c00000fd
Sig[7].Name=Exception Offset
Sig[7].Value=0002c8cc
DynamicSig[1].Name=OS Version
DynamicSig[1].Value=6.1.7600.2.0.0.272.7
DynamicSig[2].Name=Locale ID
DynamicSig[2].Value=1033
DynamicSig[22].Name=Additional Information 1
DynamicSig[22].Value=7dd2
DynamicSig[23].Name=Additional Information 2
DynamicSig[23].Value=7dd2f8e82f91d939236dc5c2a70daa51
DynamicSig[24].Name=Additional Information 3
DynamicSig[24].Value=b1e2
DynamicSig[25].Name=Additional Information 4
DynamicSig[25].Value=b1e22acb6c6285591c95bac47c6c41b9
UI[2]=E:\java\jdk-8u71-32bits\bin\java.exe
LoadedModule[0]=E:\java\jdk-8u71-32bits\bin\java.exe
LoadedModule[1]=C:\Windows\SysWOW64\ntdll.dll
LoadedModule[2]=C:\Windows\syswow64\kernel32.dll
LoadedModule[3]=C:\Windows\syswow64\KERNELBASE.dll
LoadedModule[4]=C:\Windows\SysWOW64\SYSFER.DLL
LoadedModule[5]=C:\Windows\syswow64\ADVAPI32.dll
LoadedModule[6]=C:\Windows\syswow64\msvcrt.dll
LoadedModule[7]=C:\Windows\SysWOW64\sechost.dll
LoadedModule[8]=C:\Windows\syswow64\RPCRT4.dll
LoadedModule[9]=C:\Windows\syswow64\SspiCli.dll
LoadedModule[10]=C:\Windows\syswow64\CRYPTBASE.dll
LoadedModule[11]=C:\Windows\syswow64\USER32.dll
LoadedModule[12]=C:\Windows\syswow64\GDI32.dll
LoadedModule[13]=C:\Windows\syswow64\LPK.dll
LoadedModule[14]=C:\Windows\syswow64\USP10.dll
LoadedModule[15]=C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7600.16385_none_421189da2b7fabfc\COMCTL32.dll
LoadedModule[16]=C:\Windows\syswow64\SHLWAPI.dll
LoadedModule[17]=C:\Windows\syswow64\psapi.dll
LoadedModule[18]=C:\Windows\system32\IMM32.DLL
LoadedModule[19]=C:\Windows\syswow64\MSCTF.dll
LoadedModule[20]=E:\java\jdk-8u71-32bits\jre\bin\msvcr100.dll
LoadedModule[21]=E:\java\jdk-8u71-32bits\jre\bin\client\jvm.dll
LoadedModule[22]=C:\Windows\system32\WSOCK32.dll
LoadedModule[23]=C:\Windows\syswow64\WS2_32.dll
LoadedModule[24]=C:\Windows\syswow64\NSI.dll
LoadedModule[25]=C:\Windows\system32\WINMM.dll
LoadedModule[26]=C:\Windows\system32\VERSION.dll
LoadedModule[27]=E:\java\jdk-8u71-32bits\jre\bin\verify.dll
LoadedModule[28]=E:\java\jdk-8u71-32bits\jre\bin\java.dll
LoadedModule[29]=E:\java\jdk-8u71-32bits\jre\bin\zip.dll
LoadedModule[30]=C:\Windows\syswow64\SHELL32.dll
LoadedModule[31]=C:\Windows\syswow64\ole32.dll
LoadedModule[32]=C:\Windows\system32\profapi.dll
LoadedModule[33]=E:\java\jdk-8u71-32bits\jre\bin\net.dll
LoadedModule[34]=C:\Windows\system32\mswsock.dll
LoadedModule[35]=C:\Windows\System32\wship6.dll
LoadedModule[36]=C:\Windows\system32\NLAapi.dll
LoadedModule[37]=C:\Windows\system32\DNSAPI.dll
LoadedModule[38]=C:\Windows\System32\winrnr.dll
LoadedModule[39]=C:\Windows\system32\napinsp.dll
LoadedModule[40]=C:\Windows\System32\wshtcpip.dll
LoadedModule[41]=C:\Windows\system32\IPHLPAPI.DLL
LoadedModule[42]=C:\Windows\system32\WINNSI.DLL
LoadedModule[43]=C:\Windows\system32\rasadhlp.dll
LoadedModule[44]=C:\Windows\System32\fwpuclnt.dll
LoadedModule[45]=C:\JTailor\com6402\bin32\ntvinv.dll
LoadedModule[46]=C:\Windows\syswow64\OLEAUT32.dll
LoadedModule[47]=C:\Windows\system32\mtxex.dll
LoadedModule[48]=C:\Windows\system32\COMSVCS.DLL
LoadedModule[49]=C:\Windows\system32\ATL.DLL
LoadedModule[50]=C:\JTailor\com6402\bin32\International\ntvinvenglishresourcedll.dll
LoadedModule[51]=C:\Windows\system32\MFC42.DLL
LoadedModule[52]=C:\Windows\system32\ODBC32.dll
LoadedModule[53]=C:\Windows\system32\odbcint.dll
LoadedModule[54]=C:\Windows\syswow64\CLBCatQ.DLL
LoadedModule[55]=C:\Windows\system32\CRYPTSP.dll
LoadedModule[56]=C:\Windows\system32\rsaenh.dll
LoadedModule[57]=C:\Windows\system32\RpcRtRemote.dll
LoadedModule[58]=C:\Windows\system32\SXS.DLL
LoadedModule[59]=C:\Windows\system32\USERENV.dll
LoadedModule[60]=C:\Windows\system32\dhcpcsvc6.DLL
LoadedModule[61]=C:\Windows\system32\dhcpcsvc.DLL
LoadedModule[62]=E:\java\jdk-8u71-32bits\jre\bin\nio.dll
File[0].CabName=AppCompat.txt
File[0].Path=WER6D18.tmp.appcompat.txt
File[0].Flags=65538
File[0].Type=5
File[0].Original.Path=C:\Users\tradeblade\AppData\Local\Temp\WER6D18.tmp.appcompat.txt
File[1].CabName=WERInternalMetadata.xml
File[1].Path=WER6E03.tmp.WERInternalMetadata.xml
File[1].Flags=65538
File[1].Type=5
File[1].Original.Path=C:\Users\tradeblade\AppData\Local\Temp\WER6E03.tmp.WERInternalMetadata.xml
File[2].CabName=memory.hdmp
File[2].Path=WER6E13.tmp.hdmp
File[2].Flags=2097152
File[2].Type=3
File[2].Original.Path=C:\Users\tradeblade\AppData\Local\Temp\WER6E13.tmp.hdmp
File[3].CabName=minidump.mdmp
File[3].Path=WER7DCD.tmp.mdmp
File[3].Flags=2162690
File[3].Type=2
File[3].Original.Path=C:\Users\tradeblade\AppData\Local\Temp\WER7DCD.tmp.mdmp
FriendlyEventName=Stopped working
ConsentKey=APPCRASH
AppName=Java(TM) Platform SE binary
AppPath=E:\java\jdk-8u71-32bits\bin\java.exe
一些补充资料。大多数情况下,windows转储中的崩溃都会指向以下事件之一

  • ntdll.dll
  • combase.dll
  • ole32.dll
  • RPCRT4.dll
  • 下面附上的是事件查看器中的一个屏幕抓图。

    编辑1: 以下是windows 2012服务器R2的详细信息

    查看Windows 2012 32位未列出…@Bagus Tesa:Windows 2012服务器R2为64位。Java8Update71是32位的。在链接中,他们只是谈论Java8,而不是比特。该链接明确指出“在64位操作系统(OSs)上,32位和64位Java虚拟机(JVM)都经过认证,除非另有说明”。查看错误代码-
    0xc00000fd
    -这是
    状态堆栈溢出-
    -因此在远程调用期间会出现无限递归或巨大的堆栈分配(不要考虑Java)(
    rpcrt4.dll
    堆栈跟踪中)。现在最有帮助的是在崩溃期间查看堆栈。从一开始,在.Net和java之间的接口定义中很可能不兼容。例如
    ULONG
    vs
    ULONG_PTR
    ,它们在x86中相同,但在x64中不同。如果在从x86迁移到x64时开始考虑错误的话。@RbMm:谢谢你的帮助。我可能会这样做我很笨,但是不知道很多abt窗口,你能告诉我在哪里可以找到有堆栈的文件吗?