gpt4 book ai didi

java - 我的图书馆与我的 UNI 应用程序有多个连接

转载 作者:行者123 更新时间:2023-12-01 23:25:23 27 4
gpt4 key购买 nike

我正在开发一个使用 C++ 库的 java 应用程序。我的应用程序类型是客户端/服务器 RCP(基于 eclipse 插件)。问题是当我尝试将 2 个以上客户端连接到我的服务器时,它总是卡住。奇怪的是,只有在 Windows 中运行时才会出现此问题。在 Linux 中,它工作得很好。

我还想注意到,以编程方式,客户端由 C++ 线程表示。也许,他们想要访问相同的资源。如果我让应用程序运行,等待其解冻,它会崩溃并生成如下所示的日志


# An unexpected error has been detected by Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6b88cd86, pid=2972, tid=3700
#
# Java VM: Java HotSpot(TM) Client VM (11.2-b01 mixed mode windows-x86)
# Problematic frame:
# C [libtlmdevice_ycp-3-0-0.dll+0x4cd86]
#
# 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 (0x637f0800): JavaThread "Thread-4" [_thread_in_native, id=3700, stack(0x687a0000,0x687f0000)]

siginfo: ExceptionCode=0xc0000005, reading address 0x0000000c

Registers:
EAX=0x00000000, EBX=0x6b87b418, ECX=0x003fcd58, EDX=0x00000000
ESP=0x687efaa8, EBP=0x687efaa8, ESI=0x003ffeb8, EDI=0x637f0800
EIP=0x6b88cd86, EFLAGS=0x00010202

Top of Stack: (sp=0x687efaa8)
0x687efaa8: 687efb08 6b86246a 00000000 6b897954
0x687efab8: 00000001 6b87b418 003ffeb8 637f0800
0x687efac8: 687efae8 6b87a97c 688946e8 00000000
0x687efad8: 00000001 00000000 68893500 633b3f02
0x687efae8: 687efb02 6b88d032 00000002 00000000
0x687efaf8: 00000000 6b87b418 003ffeb8 637f0800
0x687efb08: 687efb48 6b87b312 003fcd58 00000002
0x687efb18: 00000000 00000011 687efb58 7c90da1c

Instructions: (pc=0x6b88cd86)
0x6b88cd76: 08 0f b6 45 fc 88 42 08 c9 c3 55 89 e5 8b 45 08
0x6b88cd86: 8b 40 0c 5d c3 90 55 89 e5 53 83 ec 14 8b 45 08


Stack: [0x687a0000,0x687f0000], sp=0x687efaa8, free space=318k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libtlmdevice_ycp-3-0-0.dll+0x4cd86]
C [libtlmdevice_ycp-3-0-0.dll+0x2246a]
C [libtlmdevice_ycp-3-0-0.dll+0x3b312]
C [libtlmdevice_ycp-3-0-0.dll+0x3b42c]
C [libtlmdevice_ycp-3-0-0.dll+0x3db81]
C [libtlmdevice_ycp-3-0-0.dll+0x3de1c]
C [libtlmdevice_ycp-3-0-0.dll+0x22f70]
j com.st.tlmdevice.api.TlmdeviceServer.Initialize(Ljava/lang/String;IIII)I+0
j com.st.tlmdevice.api.TlmdeviceServer.run()V+40
v ~StubRoutines::call_stub

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j com.st.tlmdevice.api.TlmdeviceServer.Initialize(Ljava/lang/String;IIII)I+0
j com.st.tlmdevice.api.TlmdeviceServer.run()V+40
v ~StubRoutines::call_stub

--------------- P R O C E S S ---------------

Java Threads: ( => current thread )
0x66e52800 JavaThread "Thread-17" [_thread_in_native, id=1324, stack(0x68c30000,0x68c80000)]
0x63063000 JavaThread "Thread-15" [_thread_in_native, id=3060, stack(0x68b30000,0x68b80000)]
0x63035000 JavaThread "Thread-16" [_thread_in_native, id=3720, stack(0x68970000,0x689c0000)]
0x637e5800 JavaThread "Thread-14" [_thread_in_native, id=2672, stack(0x689c0000,0x68a10000)]
0x66da4400 JavaThread "Java Sound Event Dispatcher" daemon [_thread_blocked, id=1532, stack(0x6bf00000,0x6bf50000)]
=>0x637f0800 JavaThread "Thread-4" [_thread_in_native, id=3700, stack(0x687a0000,0x687f0000)]
0x637ec800 JavaThread "Thread-5" [_thread_blocked, id=796, stack(0x68750000,0x687a0000)]
0x66be8c00 JavaThread "Worker-1" [_thread_blocked, id=2016, stack(0x684c0000,0x68510000)]
0x66b67400 JavaThread "Worker-0" [_thread_blocked, id=2336, stack(0x67ac0000,0x67b10000)]
0x63408400 JavaThread "Start Level Event Dispatcher" daemon [_thread_blocked, id=3360, stack(0x63760000,0x637b0000)]
0x633ffc00 JavaThread "Framework Event Dispatcher" daemon [_thread_blocked, id=1268, stack(0x636c0000,0x63710000)]
0x633e6c00 JavaThread "State Data Manager" daemon [_thread_blocked, id=1968, stack(0x63670000,0x636c0000)]
0x63025000 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=3936, stack(0x63270000,0x632c0000)]
0x6301ec00 JavaThread "CompilerThread0" daemon [_thread_blocked, id=468, stack(0x63220000,0x63270000)]
0x6301d400 JavaThread "Attach Listener" daemon [_thread_blocked, id=2560, stack(0x631d0000,0x63220000)]
0x6301c000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=2716, stack(0x63180000,0x631d0000)]
0x6300c400 JavaThread "Finalizer" daemon [_thread_blocked, id=456, stack(0x63130000,0x63180000)]
0x63007800 JavaThread "Reference Handler" daemon [_thread_blocked, id=1400, stack(0x630e0000,0x63130000)]
0x003a6c00 JavaThread "main" [_thread_in_native, id=448, stack(0x008c0000,0x00910000)]

Other Threads:
0x63004000 VMThread [stack: 0x63090000,0x630e0000] [id=1424]
0x63038800 WatcherThread [stack: 0x632c0000,0x63310000] [id=2604]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
def new generation total 36352K, used 165K [0x02990000, 0x05100000, 0x07850000)
eden space 32320K, 0% used [0x02990000, 0x029b9740, 0x04920000)
from space 4032K, 0% used [0x04920000, 0x04920000, 0x04d10000)
to space 4032K, 0% used [0x04d10000, 0x04d10000, 0x05100000)
tenured generation total 483968K, used 30304K [0x07850000, 0x250f0000, 0x42990000)
the space 483968K, 6% used [0x07850000, 0x095e83f8, 0x095e8400, 0x250f0000)
compacting perm gen total 28928K, used 28902K [0x42990000, 0x445d0000, 0x62990000)
the space 28928K, 99% used [0x42990000, 0x445c9ac0, 0x445c9c00, 0x445d0000)
No shared spaces configured.

Dynamic libraries:
0x00400000 - 0x00424000 C:\spg\ext_tools\jdk\i686-win5.1\jdk1.6.0_12\jre\bin\javaw.exe
0x7c900000 - 0x7c9af000 C:\WINDOWS\system32\ntdll.dll
0x7c800000 - 0x7c8f6000 C:\WINDOWS\system32\kernel32.dll
0x77dd0000 - 0x77e6b000 C:\WINDOWS\system32\ADVAPI32.dll
0x77e70000 - 0x77f02000 C:\WINDOWS\system32\RPCRT4.dll
0x77fe0000 - 0x77ff1000 C:\WINDOWS\system32\Secur32.dll
0x7e410000 - 0x7e4a1000 C:\WINDOWS\system32\USER32.dll
0x77f10000 - 0x77f59000 C:\WINDOWS\system32\GDI32.dll
0x76390000 - 0x763ad000 C:\WINDOWS\system32\IMM32.DLL
0x7c340000 - 0x7c396000 C:\spg\ext_tools\jdk\i686-win5.1\jdk1.6.0_12\jre\bin\msvcr71.dll
0x6d8b0000 - 0x6db06000 C:\spg\ext_tools\jdk\i686-win5.1\jdk1.6.0_12\jre\bin\client\jvm.dll
0x76b40000 - 0x76b6d000 C:\WINDOWS\system32\WINMM.dll
0x6d340000 - 0x6d348000 C:\spg\ext_tools\jdk\i686-win5.1\jdk1.6.0_12\jre\bin\hpi.dll
0x76bf0000 - 0x76bfb000 C:\WINDOWS\system32\PSAPI.DLL
0x6d860000 - 0x6d86c000 C:\spg\ext_tools\jdk\i686-win5.1\jdk1.6.0_12\jre\bin\verify.dll
0x6d3e0000 - 0x6d3ff000 C:\spg\ext_tools\jdk\i686-win5.1\jdk1.6.0_12\jre\bin\java.dll
0x6d8a0000 - 0x6d8af000 C:\spg\ext_tools\jdk\i686-win5.1\jdk1.6.0_12\jre\bin\zip.dll
0x72000000 - 0x72014000 C:\STM\STWorkbenchR4.1.1\plugins\org.eclipse.equinox.launcher.win32.win32.x86_1.0.101.R34x_v20080731\eclipse_1115.dll
0x773d0000 - 0x774d3000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83\COMCTL32.dll
0x77c10000 - 0x77c68000 C:\WINDOWS\system32\msvcrt.dll
0x77f60000 - 0x77fd6000 C:\WINDOWS\system32\SHLWAPI.dll
0x77c00000 - 0x77c08000 C:\WINDOWS\system32\VERSION.dll
0x63530000 - 0x63568000 C:\WINDOWS\system32\uxtheme.dll
0x74720000 - 0x7476c000 C:\WINDOWS\system32\MSCTF.dll
0x755c0000 - 0x755ee000 C:\WINDOWS\system32\msctfime.ime
0x774e0000 - 0x7761d000 C:\WINDOWS\system32\ole32.dll
0x68000000 - 0x68036000 C:\WINDOWS\system32\rsaenh.dll
0x769c0000 - 0x76a74000 C:\WINDOWS\system32\USERENV.dll
0x63610000 - 0x63665000 C:\WINDOWS\system32\netapi32.dll
0x6d6c0000 - 0x6d6d3000 C:\spg\ext_tools\jdk\i686-win5.1\jdk1.6.0_12\jre\bin\net.dll
0x71ab0000 - 0x71ac7000 C:\WINDOWS\system32\WS2_32.dll
0x71aa0000 - 0x71aa8000 C:\WINDOWS\system32\WS2HELP.dll
0x71a50000 - 0x71a8f000 C:\WINDOWS\System32\mswsock.dll
0x76f20000 - 0x76f47000 C:\WINDOWS\system32\DNSAPI.dll
0x76fb0000 - 0x76fb8000 C:\WINDOWS\System32\winrnr.dll
0x76f60000 - 0x76f8c000 C:\WINDOWS\system32\WLDAP32.dll
0x76fc0000 - 0x76fc6000 C:\WINDOWS\system32\rasadhlp.dll
0x6d6e0000 - 0x6d6e9000 C:\spg\ext_tools\jdk\i686-win5.1\jdk1.6.0_12\jre\bin\nio.dll
0x673d0000 - 0x67425000 C:\Documents and Settings\turkia\workspace2\.metadata\.plugins\org.eclipse.pde.core\New_configuration\org.eclipse.osgi\bundles\561\1\.cp\swt-win32-3452.dll
0x77120000 - 0x771ab000 C:\WINDOWS\system32\OLEAUT32.dll
0x763b0000 - 0x763f9000 C:\WINDOWS\system32\comdlg32.dll
0x7c9c0000 - 0x7d1d7000 C:\WINDOWS\system32\SHELL32.dll
0x74d90000 - 0x74dfb000 C:\WINDOWS\system32\USP10.dll
0x771b0000 - 0x7727e000 C:\WINDOWS\system32\WININET.dll
0x67440000 - 0x67449000 C:\WINDOWS\system32\Normaliz.dll
0x67450000 - 0x67495000 C:\WINDOWS\system32\iertutil.dll
0x67730000 - 0x67744000 C:\Documents and Settings\turkia\workspace2\.metadata\.plugins\org.eclipse.pde.core\New_configuration\org.eclipse.osgi\bundles\561\1\.cp\swt-gdip-win32-3452.dll
0x67750000 - 0x678f6000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.GdiPlus_6595b64144ccf1df_1.0.2600.5512_x-ww_dfb54e0c\gdiplus.dll
0x74c80000 - 0x74cac000 C:\WINDOWS\system32\oleacc.dll
0x76080000 - 0x760e5000 C:\WINDOWS\system32\MSVCP60.dll
0x68040000 - 0x68305000 C:\WINDOWS\system32\xpsp2res.dll
0x76380000 - 0x76385000 C:\WINDOWS\system32\msimg32.dll
0x67b10000 - 0x67b1f000 C:\Documents and Settings\turkia\workspace2\.metadata\.plugins\org.eclipse.pde.core\New_configuration\org.eclipse.osgi\bundles\362\1\.cp\jWinHttp.dll
0x67b30000 - 0x67b89000 C:\WINDOWS\system32\WINHTTP.dll
0x76fd0000 - 0x7704f000 C:\WINDOWS\system32\CLBCATQ.DLL
0x77050000 - 0x77115000 C:\WINDOWS\system32\COMRes.dll
0x75cf0000 - 0x75d81000 C:\WINDOWS\system32\mlang.dll
0x70d00000 - 0x70d23000 C:\test\i686-win5.1-gcc_4.1.1_mingw-2-jdk_1.6.0_12-yac_1.2.5\bin\libyacapi.dll
0x6b840000 - 0x6bef9000 C:\test\i686-win5.1-gcc_4.1.1_mingw-2-jdk_1.6.0_12-yac_1.2.5\bin\libtlmdevice_ycp-3-0-0.dll
0x687f0000 - 0x68848000 C:\WINDOWS\system32\hnetcfg.dll
0x73080000 - 0x7309d000 C:\WINDOWS\system32\rsvpsp.dll
0x71a90000 - 0x71a98000 C:\WINDOWS\System32\wshtcpip.dll
0x6d5d0000 - 0x6d5f4000 C:\spg\ext_tools\jdk\i686-win5.1\jdk1.6.0_12\jre\bin\jsound.dll
0x6d600000 - 0x6d608000 C:\spg\ext_tools\jdk\i686-win5.1\jdk1.6.0_12\jre\bin\jsoundds.dll
0x73f10000 - 0x73f6c000 C:\WINDOWS\system32\DSOUND.dll
0x76c30000 - 0x76c5e000 C:\WINDOWS\system32\WINTRUST.dll
0x77a80000 - 0x77b15000 C:\WINDOWS\system32\CRYPT32.dll
0x77b20000 - 0x77b32000 C:\WINDOWS\system32\MSASN1.dll
0x76c90000 - 0x76cb8000 C:\WINDOWS\system32\IMAGEHLP.dll
0x72d20000 - 0x72d29000 C:\WINDOWS\system32\wdmaud.drv
0x72d10000 - 0x72d18000 C:\WINDOWS\system32\msacm32.drv
0x77be0000 - 0x77bf5000 C:\WINDOWS\system32\MSACM32.dll
0x77bd0000 - 0x77bd7000 C:\WINDOWS\system32\midimap.dll
0x73ee0000 - 0x73ee4000 C:\WINDOWS\system32\KsUser.dll

VM Arguments:
jvm_args: -Xms512m -Xmx1g -XX:MaxPermSize=512m -Declipse.pde.launch=true -Dfile.encoding=Cp1252
java_command: org.eclipse.equinox.launcher.Main -launcher C:\STM\STWorkbenchR4.1.1\eclipse.exe -name Eclipse -showsplash 600 -product com.st.platform.st_ide -data C:\Documents and Settings\turkia\workspace2/../runtime-New_configuration -configuration file:C:/Documents and Settings/turkia/workspace2/.metadata/.plugins/org.eclipse.pde.core/New_configuration/ -dev file:C:/Documents and Settings/turkia/workspace2/.metadata/.plugins/org.eclipse.pde.core/New_configuration/dev.properties -os win32 -ws win32 -arch x86 -nl en_US
Launcher Type: SUN_STANDARD

Environment Variables:
PATH=C:/spg/ext_tools/jdk/i686-win5.1/jdk1.6.0_12/bin/../jre/bin/client;C:/spg/ext_tools/jdk/i686-win5.1/jdk1.6.0_12/bin/../jre/bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
USERNAME=turkia
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 6 Model 15 Stepping 2, GenuineIntel



--------------- S Y S T E M ---------------

OS: Windows XP Build 2600 Service Pack 3

CPU:total 1 (1 cores per cpu, 1 threads per core) family 6 model 15 stepping 2, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3

Memory: 4k page, physical 2086444k(1045564k free), swap 4024844k(2273736k free)

vm_info: Java HotSpot(TM) Client VM (11.2-b01) for windows-x86 JRE (1.6.0_12-b04), built on Jan 17 2009 09:57:14 by "java_re" with MS VC++ 7.1

time: Thu Mar 03 11:07:22 2011
elapsed time: 334 seconds

libtlmdevice_ycp-3-0-0.dll是我正在使用的库

如果你有什么想法:)提前致谢。

亲切的问候,阿里。

最佳答案

native 代码需要使用 AttachCurrentThread 附加到 jvm,并使用该函数提供的 JNIEnv 指针。您不能只使用您的 C++ 库得到的第一个 JNIEnv。

此外,c++ 库很可能不是线程安全的,如果不查看源代码就无法判断。

关于java - 我的图书馆与我的 UNI 应用程序有多个连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5192060/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com