我开发了一个GUI java应用程序。它有用于用户身份验证的登录页面。 它使用mysql作为后端。我已经使用Jar2Exe 1.0(Regexlab.com)将我的应用程序包装到32位Windows .exe文件中。
问题不在于我运行应用程序时:
当我点击提交按钮登录应用程序时,大部分时间,它都有效,应用程序继续工作。但有时,应用程序退出时没有任何消息并生成错误日志,其内容如下:
----------------------------------------------------------
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_UNCAUGHT_CXX_EXCEPTION (0xe06d7363) at pc=0x766fb9bc, pid=8808, tid=7540
#
# JRE version: 6.0_29-b11
# Java VM: Java HotSpot(TM) Client VM (20.4-b02 mixed mode, sharing windows-x86 )
# Problematic frame:
# C [KERNELBASE.dll+0xb9bc]
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/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 (0x0a186000): JavaThread "SwingWorker-pool-1-thread-10" daemon [_thread_in_native, id=7540, stack(0x0e390000,0x0e490000)]
siginfo: ExceptionCode=0xe06d7363, ExceptionInformation=0x19930520 0x0e48f41c 0x0042e2c0
Registers:
EAX=0x0e48f344, EBX=0x00000000, ECX=0x00000003, EDX=0x00000000
ESP=0x0e48f344, EBP=0x0e48f394, ESI=0x00429508, EDI=0x0e48f3d4
EIP=0x766fb9bc, EFLAGS=0x00000216
Top of Stack: (sp=0x0e48f344)
0x0e48f344: e06d7363 00000001 00000000 766fb9bc
0x0e48f354: 00000003 19930520 0e48f41c 0042e2c0
0x0e48f364: 00000008 00000000 0e48f420 00000000
0x0e48f374: 00000000 00000008 0e48f408 00000000
0x0e48f384: 00401dc2 00000000 02448e48 00000000
0x0e48f394: 0e48f3d4 0040df08 e06d7363 00000001
0x0e48f3a4: 00000003 0e48f3c8 02448e60 02448e30
0x0e48f3b4: e06d7363 00000001 00000000 00000000
Instructions: (pc=0x766fb9bc)
0x766fb99c: 02 50 ff 75 14 8d 45 c4 50 e8 58 ad 02 00 83 c4
0x766fb9ac: 0c eb 03 89 45 c0 8d 45 b0 50 ff 15 5c 11 6f 76
0x766fb9bc: c9 c2 10 00 cc cc cc cc cc 8b ff 55 8b ec 56 8b
0x766fb9cc: 75 08 83 fe f4 72 18 83 fe f6 77 13 8d 45 08 50
Register to memory mapping:
EAX=0x0e48f344 is pointing into the stack for thread: 0x0a186000
EBX=0x00000000 is an unknown value
ECX=0x00000003 is an unknown value
EDX=0x00000000 is an unknown value
ESP=0x0e48f344 is pointing into the stack for thread: 0x0a186000
EBP=0x0e48f394 is pointing into the stack for thread: 0x0a186000
ESI=0x00429508 is an unknown value
EDI=0x0e48f3d4 is pointing into the stack for thread: 0x0a186000
Stack: [0x0e390000,0x0e490000], sp=0x0e48f344, free space=1020k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [KERNELBASE.dll+0xb9bc] RaiseException+0x58
C [panda.exe+0xdf08] Java_com_regexlab_j2e_Jar2ExeClassLoader_findResources+0xb528
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j com.regexlab.j2e.Jar2ExeClassLoader.findClass(Ljava/lang/String;)Ljava/lang/Class;+0
J java.lang.ClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class;
J java.lang.ClassLoader.loadClass(Ljava/lang/String;)Ljava/lang/Class;
v ~StubRoutines::call_stub
j com.panda.HomePageUI$124.doInBackground()Ljava/lang/Object;+26
j javax.swing.SwingWorker$1.call()Ljava/lang/Object;+14
j java.util.concurrent.FutureTask$Sync.innerRun()V+30
j java.util.concurrent.FutureTask.run()V+4
j javax.swing.SwingWorker.run()V+4
j java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Ljava/lang/Runnable;)V+59
j java.util.concurrent.ThreadPoolExecutor$Worker.run()V+28
j java.lang.Thread.run()V+11
v ~StubRoutines::call_stub
--------------- P R O C E S S ---------------
Java Threads: ( => current thread )
0x0a62b000 JavaThread "Thread-12" daemon [_thread_blocked, id=8328, stack(0x0f460000,0x0f560000)]
0x0a62ac00 JavaThread "pool-2-thread-1" [_thread_in_Java, id=6056, stack(0x0bdc0000,0x0bec0000)]
0x0a62a400 JavaThread "Thread-11" daemon [_thread_blocked, id=4872, stack(0x0bc80000,0x0bd80000)]
0x0a62a000 JavaThread "Thread-10" daemon [_thread_blocked, id=2980, stack(0x0bb40000,0x0bc40000)]
=>0x0a186000 JavaThread "SwingWorker-pool-1-thread-10" daemon [_thread_in_native, id=7540, stack(0x0e390000,0x0e490000)]
0x0a185800 JavaThread "SwingWorker-pool-1-thread-9" daemon [_thread_blocked, id=3852, stack(0x0e250000,0x0e350000)]
0x0a185400 JavaThread "SwingWorker-pool-1-thread-8" daemon [_thread_blocked, id=5452, stack(0x0e110000,0x0e210000)]
0x0a184c00 JavaThread "SwingWorker-pool-1-thread-7" daemon [_thread_blocked, id=8800, stack(0x0dfd0000,0x0e0d0000)]
0x0a184800 JavaThread "SwingWorker-pool-1-thread-6" daemon [_thread_in_native, id=8740, stack(0x0de90000,0x0df90000)]
0x0a184000 JavaThread "SwingWorker-pool-1-thread-5" daemon [_thread_blocked, id=4856, stack(0x0dd50000,0x0de50000)]
0x0a183c00 JavaThread "SwingWorker-pool-1-thread-4" daemon [_thread_blocked, id=644, stack(0x0dc10000,0x0dd10000)]
0x0a183400 JavaThread "SwingWorker-pool-1-thread-3" daemon [_thread_blocked, id=516, stack(0x0dad0000,0x0dbd0000)]
0x0a182c00 JavaThread "Image Fetcher 1" daemon [_thread_blocked, id=2772, stack(0x0d990000,0x0da90000)]
0x0a182800 JavaThread "KeyTipManager processing thread" daemon [_thread_blocked, id=7440, stack(0x0d750000,0x0d850000)]
0x0a182000 JavaThread "SwingWorker-pool-1-thread-2" daemon [_thread_blocked, id=5576, stack(0x0d500000,0x0d600000)]
0x0a181c00 JavaThread "SyntheticaAnimation 70" daemon [_thread_blocked, id=5660, stack(0x0d400000,0x0d500000)]
0x0a181400 JavaThread "SyntheticaAnimation 60" daemon [_thread_blocked, id=9112, stack(0x0d200000,0x0d300000)]
0x0a181000 JavaThread "Image Fetcher 0" daemon [_thread_in_native, id=8860, stack(0x067e0000,0x068e0000)]
0x0a180800 JavaThread "StreamConnector 1: driver_launched_mysqld_1 std err" daemon [_thread_in_native, id=6052, stack(0x09da0000,0x09ea0000)]
0x0a180000 JavaThread "StreamConnector 0: driver_launched_mysqld_1 std out" daemon [_thread_in_native, id=3264, stack(0x09c60000,0x09d60000)]
0x0a17fc00 JavaThread "driver_launched_mysqld_1" daemon [_thread_in_native, id=2516, stack(0x09b20000,0x09c20000)]
0x0a11b000 JavaThread "SyntheticaAnimation 50" daemon [_thread_blocked, id=4088, stack(0x0b570000,0x0b670000)]
0x0023e000 JavaThread "DestroyJavaVM" [_thread_blocked, id=9132, stack(0x00090000,0x00190000)]
0x0a11b800 JavaThread "SwingWorker-pool-1-thread-1" daemon [_thread_blocked, id=7784, stack(0x0b430000,0x0b530000)]
0x0a11e800 JavaThread "D3D Screen Updater" daemon [_thread_blocked, id=3808, stack(0x0aef0000,0x0aff0000)]
0x0a110800 JavaThread "TimerQueue" daemon [_thread_blocked, id=3828, stack(0x0abf0000,0x0acf0000)]
0x0a0ac800 JavaThread "SyntheticaCleanerThread" daemon [_thread_blocked, id=8832, stack(0x0aaf0000,0x0abf0000)]
0x0a05e000 JavaThread "Thread-2" daemon [_thread_blocked, id=8556, stack(0x0a7f0000,0x0a8f0000)]
0x05b5bc00 JavaThread "AWT-EventQueue-0" [_thread_blocked, id=8968, stack(0x09ef0000,0x09ff0000)]
0x059c7800 JavaThread "AWT-Windows" daemon [_thread_in_native, id=9056, stack(0x066a0000,0x067a0000)]
0x059c7000 JavaThread "AWT-Shutdown" [_thread_blocked, id=8364, stack(0x06560000,0x06660000)]
0x059c4c00 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=6100, stack(0x06460000,0x06560000)]
0x02b11800 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=7964, stack(0x053a0000,0x054a0000)]
0x02afc000 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=3420, stack(0x05260000,0x05360000)]
0x02af9000 JavaThread "Attach Listener" daemon [_thread_blocked, id=8732, stack(0x05120000,0x05220000)]
0x02af5800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=8380, stack(0x04fe0000,0x050e0000)]
0x02aef400 JavaThread "Finalizer" daemon [_thread_blocked, id=8804, stack(0x04ea0000,0x04fa0000)]
0x02aedc00 JavaThread "Reference Handler" daemon [_thread_blocked, id=8420, stack(0x04d60000,0x04e60000)]
Other Threads:
0x02ab1c00 VMThread [stack: 0x04c20000,0x04d20000] [id=7960]
0x02b25c00 WatcherThread [stack: 0x054e0000,0x055e0000] [id=9100]
VM state:not at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: None
Heap
def new generation total 78656K, used 59862K [0x24580000, 0x29ad0000, 0x29ad0000)
eden space 69952K, 73% used [0x24580000, 0x27775a10, 0x289d0000)
from space 8704K, 100% used [0x289d0000, 0x29250000, 0x29250000)
to space 8704K, 0% used [0x29250000, 0x29250000, 0x29ad0000)
tenured generation total 174784K, used 25650K [0x29ad0000, 0x34580000, 0x34580000)
the space 174784K, 14% used [0x29ad0000, 0x2b3dc920, 0x2b3dca00, 0x34580000)
compacting perm gen total 12288K, used 11118K [0x34580000, 0x35180000, 0x38580000)
the space 12288K, 90% used [0x34580000, 0x3505b908, 0x3505ba00, 0x35180000)
ro space 10240K, 51% used [0x38580000, 0x38aad0b8, 0x38aad200, 0x38f80000)
rw space 12288K, 54% used [0x38f80000, 0x39619570, 0x39619600, 0x39b80000)
Code Cache [0x02b70000, 0x02e78000, 0x04b70000)
....
//----------------------------------------------------------
我用谷歌搜索了它。我发现有些人有同样的EXCEPTION_UNCAUGHT_CXX_EXCEPTION问题。他们中的一些人解决了他们改变线程堆栈大小的问题。我做到了,但我仍然有问题。
如果有人能帮助我,我会很高兴,谢谢。
注意:Panda.exe是应用程序的名称。
答案 0 :(得分:6)
您的计算机上是否安装了Panda Antivirus?日志说明问题出在JVM之外,在本机代码中,并且引用了一个名为“Panda.exe”的进程。
这只是猜测,但可能是您的防病毒与您的应用程序冲突。您可以在没有防病毒的计算机上测试您的应用程序(例如,与虚拟机运行相同的Windows安装)
答案 1 :(得分:4)
查看错误日志的一部分,然后向后工作:
1. C [KERNELBASE.dll+0xb9bc] RaiseException+0x58
2. C [panda.exe+0xdf08] Java_com_regexlab_j2e_Jar2ExeClassLoader_findResources+0xb528
3. Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
4. j com.regexlab.j2e.Jar2ExeClassLoader.findClass(Ljava/lang/String;)Ljava/lang/Class;+0
5. J java.lang.ClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class;
6. J java.lang.ClassLoader.loadClass(Ljava/lang/String;)Ljava/lang/Class;
7. v ~StubRoutines::call_stub
8. j com.panda.HomePageUI$124.doInBackground()Ljava/lang/Object;+26
9. j javax.swing.SwingWorker$1.call()Ljava/lang/Object;+14
除了向Regexlab报告并获得补丁之外,您无法做到这一点。
答案 2 :(得分:0)
授予JVM使用的本机库适当的权限