JBoss 在 libclient64.dylib 访问时崩溃
JBoss crashes on libclient64.dylib access
我正在尝试使用 Java 1.6.0_65 在 OS X 上启动 Oracle instantclient 和 运行。我执行了 Oracle 文档中描述的所有步骤:https://docs.oracle.com/cd/E11882_01/install.112/e38228/toc.htm
但问题保持不变:
Invalid memory access of location 0x0 rip=0x106369f87
堆栈跟踪是:
Process: java [6234]
Path: /Library/Java/JavaVirtualMachines/jdk1.6.0_65.jdk/Contents/Home/bin/java
Identifier: com.apple.javajdk16.cmd
Version: 1.0 (1.0)
Code Type: X86-64 (Native)
Parent Process: sh [6222]
Responsible: Terminal [1179]
User ID: 33291
PlugIn Path: /Library/Java/JavaVirtualMachines/jdk1.6.0_65.jdk/Contents/Home/bundle/Libraries/libclient64.dylib
PlugIn Identifier: libclient64.dylib
PlugIn Version: ??? (1)
Date/Time: 2015-07-28 11:22:49.211 +0200
OS Version: Mac OS X 10.10.4 (14E46)
Report Version: 11
Anonymous UUID: 54BA4C92-323A-644A-55CF-CDBEDA054F4E
Time Awake Since Boot: 5500 seconds
Crashed Thread: 27 Java: main
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000
VM Regions Near 0:
-->
__TEXT 0000000106233000-000000010623b000 [ 32K] r-x/rwx SM=COW /Library/Java/JavaVirtualMachines/jdk1.6.0_65.jdk/Contents/Home/bin/java
Application Specific Information:
Java information:
Exception type: Bus Error (0xa) at pc=106369f87
Java VM: Java HotSpot(TM) 64-Bit Server VM (20.65-b04-462 mixed mode macosx-amd64)
Current thread (7fddcf86d800): JavaThread "main" [_thread_in_vm, id=309616640, stack(112646000,112746000)]
Stack: [112646000,112746000]
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j oracle.jdbc.driver.T2CConnection.t2cSetSessionTimeZone(JLjava/lang/String;)I+0
j oracle.jdbc.driver.T2CConnection.logon()V+825
j oracle.jdbc.driver.PhysicalConnection.<init>(Ljava/lang/String;Ljava/util/Properties;Loracle/jdbc/driver/OracleDriverExtension;)V+323
....
我尝试了 32 位和 64 位版本。我使用适当的客户端版本以及在应用程序启动时激活或停用 -d32 标志来做到这一点。
两个接缝都有同样的问题。
有没有人知道这里可能出了什么问题?
谢谢
更新:
我用 THIN 替换了 OCI 并将崩溃提前。
jdbc:oracle:thin:@${dbserver:our.domain.de}:${dbport:1234}:${dbsid:OURSID}
jdbc:oracle:oci:@(description=(ADDRESS=(COMMUNITY=tcp.world)(PROTOCOL=TCP)(Host=our.domain.de)(Port=1521))(connect_data=(sid=OURSID)))
读取数据源后崩溃:
12:53:52,490 INFO [ConnectionProviderFactory] Initializing connection provider: org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider
12:53:52,490 INFO [InjectedDataSourceConnectionProvider] Using provided datasource
Invalid memory access of location 0x0 rip=0x10ff50f87
AFAIK 客户端库没有被 Oracle 很好地维护,它们根本不支持最新的 OS X 版本 - 多年来。他们在 Mac
坠毁
尝试使用 12c 驱动程序。但是,即使是瘦驱动程序也会使您的 JVM 崩溃,那么您的 Java 安装一定有问题。也许您的类路径中有多个 JDBC 驱动程序?
我正在尝试使用 Java 1.6.0_65 在 OS X 上启动 Oracle instantclient 和 运行。我执行了 Oracle 文档中描述的所有步骤:https://docs.oracle.com/cd/E11882_01/install.112/e38228/toc.htm 但问题保持不变:
Invalid memory access of location 0x0 rip=0x106369f87
堆栈跟踪是:
Process: java [6234]
Path: /Library/Java/JavaVirtualMachines/jdk1.6.0_65.jdk/Contents/Home/bin/java
Identifier: com.apple.javajdk16.cmd
Version: 1.0 (1.0)
Code Type: X86-64 (Native)
Parent Process: sh [6222]
Responsible: Terminal [1179]
User ID: 33291
PlugIn Path: /Library/Java/JavaVirtualMachines/jdk1.6.0_65.jdk/Contents/Home/bundle/Libraries/libclient64.dylib
PlugIn Identifier: libclient64.dylib
PlugIn Version: ??? (1)
Date/Time: 2015-07-28 11:22:49.211 +0200
OS Version: Mac OS X 10.10.4 (14E46)
Report Version: 11
Anonymous UUID: 54BA4C92-323A-644A-55CF-CDBEDA054F4E
Time Awake Since Boot: 5500 seconds
Crashed Thread: 27 Java: main
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000
VM Regions Near 0:
-->
__TEXT 0000000106233000-000000010623b000 [ 32K] r-x/rwx SM=COW /Library/Java/JavaVirtualMachines/jdk1.6.0_65.jdk/Contents/Home/bin/java
Application Specific Information:
Java information:
Exception type: Bus Error (0xa) at pc=106369f87
Java VM: Java HotSpot(TM) 64-Bit Server VM (20.65-b04-462 mixed mode macosx-amd64)
Current thread (7fddcf86d800): JavaThread "main" [_thread_in_vm, id=309616640, stack(112646000,112746000)]
Stack: [112646000,112746000]
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j oracle.jdbc.driver.T2CConnection.t2cSetSessionTimeZone(JLjava/lang/String;)I+0
j oracle.jdbc.driver.T2CConnection.logon()V+825
j oracle.jdbc.driver.PhysicalConnection.<init>(Ljava/lang/String;Ljava/util/Properties;Loracle/jdbc/driver/OracleDriverExtension;)V+323
....
我尝试了 32 位和 64 位版本。我使用适当的客户端版本以及在应用程序启动时激活或停用 -d32 标志来做到这一点。
两个接缝都有同样的问题。
有没有人知道这里可能出了什么问题?
谢谢
更新:
我用 THIN 替换了 OCI 并将崩溃提前。
jdbc:oracle:thin:@${dbserver:our.domain.de}:${dbport:1234}:${dbsid:OURSID}
jdbc:oracle:oci:@(description=(ADDRESS=(COMMUNITY=tcp.world)(PROTOCOL=TCP)(Host=our.domain.de)(Port=1521))(connect_data=(sid=OURSID)))
读取数据源后崩溃:
12:53:52,490 INFO [ConnectionProviderFactory] Initializing connection provider: org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider
12:53:52,490 INFO [InjectedDataSourceConnectionProvider] Using provided datasource
Invalid memory access of location 0x0 rip=0x10ff50f87
AFAIK 客户端库没有被 Oracle 很好地维护,它们根本不支持最新的 OS X 版本 - 多年来。他们在 Mac
坠毁尝试使用 12c 驱动程序。但是,即使是瘦驱动程序也会使您的 JVM 崩溃,那么您的 Java 安装一定有问题。也许您的类路径中有多个 JDBC 驱动程序?