5

我开发了一个 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 是应用程序的名称。

4

3 回答 3

6

您的计算机上安装了 Panda Antivirus 吗?日志说问题出在 JVM 之外,在本机代码中,并且引用了一个名为“Panda.exe”的进程。

这只是一个猜测,但可能是您的防病毒软件与您的应用程序冲突。您能否在没有防病毒软件的计算机上测试您的应用程序(例如,相同的 Windows 安装作为虚拟机运行)

于 2012-08-04T10:01:21.973 回答
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
  • 第 8 行:当这种情况发生时,您显然在您的代码中。
  • 第 7-4 行:您已进入 Regexlab.com 的代码;在他们的类加载器中
  • Lines 2-1: Regexlab's made a native call. You're outside of the normal JVM code-base, and in native code written by a 3rd party when the exception is raised. The problem is in Regexlab code, and out of your hands.

Not much you can do with this other than to report it to Regexlab and obtain a patch.

于 2012-08-05T07:43:00.263 回答
0

Give proper permissions to native library that is being used by JVM

于 2020-05-22T19:31:07.177 回答