2015-07-28 89 views
0

我试图让Oracle InstantLient在OS X上运行,并且运行在Java 1.6.0_65上。我做了Oracle文档中描述的所有步骤:https://docs.oracle.com/cd/E11882_01/install.112/e38228/toc.htm 但问题保持相同:JBoss崩溃libclient64.dylib访问

0x0位置裂口的

无效的内存访问= 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标志。

两缝都有同样的问题。

有没有人有一个想法在这里可能是错误的?

感谢

UPDATE:

我代替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 
+0

您正在使用哪些版本的Oracle客户端?多年来,AFAIK客户端库并没有得到Oracle的良好维护,他们根本不支持最新的OS X版本。他们在Mac上坠毁。 – ibre5041

+0

我使用最新的:instantclient_11_2(11.2.0.4.0(32位)和(64位))。所以你认为用oracle java,oracle db和oracle client开发oracle jboss应用程序可能是不可能的,因为对OS X的支持已经到期了? – Macilias

+1

尝试使用12c驱动程序。但即使是很薄的驱动程序也会导致JVM崩溃,那么Java安装必然会出现问题。也许你的类路径中有mora JDBC驱动。 – ibre5041

回答

0

AFAIK客户端库并未受到甲骨文维护,他们根本不支持最新的OS X版本 - 多年。他们坠毁在Mac上

尝试使用12c驱动程序。但是,即使瘦驱动程序崩溃你的JVM,那么你的Java安装一定有问题。也许你的类路径中有多个JDBC驱动程序?

+0

事实上,Workspace lib中的多个JDBC驱动程序(ojdbc6.jar)是问题所在 – Macilias