Bug 1167686

Summary: tomcat do not start in FIPS mode: java.lang.UnsatisfiedLinkError: ocijdbc10
Product: Red Hat Satellite 5 Reporter: Jan Hutař <jhutar>
Component: ServerAssignee: Michael Mráka <mmraka>
Status: CLOSED NOTABUG QA Contact: Red Hat Satellite QA List <satqe-list>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 570   
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-11-25 10:29:05 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1127217    

Description Jan Hutař 2014-11-25 09:48:04 UTC
Description of problem:
Service tomcat on Satellite 5.7.0 with external Oracle (on a same host though) do not start in FIPS mode - it complains about: "java.lang.UnsatisfiedLinkError: ocijdbc10"


Version-Release number of selected component (if applicable):
Satellite-5.7.0-RHEL6-re20141121.0


How reproducible:
always


Steps to Reproduce:
1. Install Satellite in FIPS mode (you will need SHA1 signed certificate)
2. At the end of the installation, all services are supposed to be restarted


Actual results:
Tomcat6 fails to start and installer hangs on its last step


Expected results:
All service should start correctly


Additional info:
Exception in thread "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1" java.lang.UnsatisfiedLinkError: ocijdbc10 (Not found in java.library.path)
	at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1035)
	at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:999)
	at java.lang.System.loadLibrary(System.java:507)
	at oracle.jdbc.driver.T2CConnection$1.run(T2CConnection.java:3147)
	at java.security.AccessController.doPrivileged(AccessController.java:273)
	at oracle.jdbc.driver.T2CConnection.loadNativeLibrary(T2CConnection.java:3143)
	at oracle.jdbc.driver.T2CConnection.logon(T2CConnection.java:221)
	at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:441)
	at oracle.jdbc.driver.T2CConnection.<init>(T2CConnection.java:132)
	at oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:78)
	at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
	at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:134)
	at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
	at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:148)
	at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
	at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
	at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
	at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
Exception in thread "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0" java.lang.UnsatisfiedLinkError: ocijdbc10 (Not found in java.library.path)
	at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1035)
	at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:999)
	at java.lang.System.loadLibrary(System.java:507)
	at oracle.jdbc.driver.T2CConnection$1.run(T2CConnection.java:3147)
	at java.security.AccessController.doPrivileged(AccessController.java:273)
	at oracle.jdbc.driver.T2CConnection.loadNativeLibrary(T2CConnection.java:3143)
	at oracle.jdbc.driver.T2CConnection.logon(T2CConnection.java:221)
	at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:441)
	at oracle.jdbc.driver.T2CConnection.<init>(T2CConnection.java:132)
	at oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:78)
	at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
	at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:134)
	at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
	at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:148)
	at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
	at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
	at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
	at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
Exception in thread "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2" java.lang.UnsatisfiedLinkError: ocijdbc10 (Not found in java.library.path)
	at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1035)
	at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:999)
	at java.lang.System.loadLibrary(System.java:507)
	at oracle.jdbc.driver.T2CConnection$1.run(T2CConnection.java:3147)
	at java.security.AccessController.doPrivileged(AccessController.java:273)
	at oracle.jdbc.driver.T2CConnection.loadNativeLibrary(T2CConnection.java:3143)
	at oracle.jdbc.driver.T2CConnection.logon(T2CConnection.java:221)
	at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:441)
	at oracle.jdbc.driver.T2CConnection.<init>(T2CConnection.java:132)
	at oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:78)
	at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
	at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:134)
	at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
	at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:148)
	at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
	at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
	at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
	at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
Nov 25, 2014 10:34:07 AM com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector run
WARNING: com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@402e402e -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!
Nov 25, 2014 10:34:07 AM com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector run
WARNING: com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@402e402e -- APPARENT DEADLOCK!!! Complete Status: 
	Managed Threads: 3
	Active Threads: 0
	Active Tasks: 
	Pending Tasks: 
		com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@5a805a8
		com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@5b305b3
Pool thread stack traces:
	Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1,5,]
	Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2,5,]
	Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0,5,]


Exception in thread "Task-Thread-for-com.mchange.v2.async.ThreadPerTaskAsynchronousRunner@1bc81bc8" java.lang.UnsatisfiedLinkError: ocijdbc10 (Not found in java.library.path)
	at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1035)
	at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:999)
	at java.lang.System.loadLibrary(System.java:507)
	at oracle.jdbc.driver.T2CConnection$1.run(T2CConnection.java:3147)
	at java.security.AccessController.doPrivileged(AccessController.java:273)
	at oracle.jdbc.driver.T2CConnection.loadNativeLibrary(T2CConnection.java:3143)
	at oracle.jdbc.driver.T2CConnection.logon(T2CConnection.java:221)
	at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:441)
	at oracle.jdbc.driver.T2CConnection.<init>(T2CConnection.java:132)
	at oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:78)
	at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
	at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:134)
	at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
	at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:148)
	at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
	at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
	at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
	at com.mchange.v2.async.ThreadPerTaskAsynchronousRunner$TaskThread.run(ThreadPerTaskAsynchronousRunner.java:255)
Exception in thread "Task-Thread-for-com.mchange.v2.async.ThreadPerTaskAsynchronousRunner@1bc81bc8" java.lang.UnsatisfiedLinkError: ocijdbc10 (Not found in java.library.path)
	at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1035)
	at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:999)
	at java.lang.System.loadLibrary(System.java:507)
	at oracle.jdbc.driver.T2CConnection$1.run(T2CConnection.java:3147)
	at java.security.AccessController.doPrivileged(AccessController.java:273)
	at oracle.jdbc.driver.T2CConnection.loadNativeLibrary(T2CConnection.java:3143)
	at oracle.jdbc.driver.T2CConnection.logon(T2CConnection.java:221)
	at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:441)
	at oracle.jdbc.driver.T2CConnection.<init>(T2CConnection.java:132)
	at oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:78)
	at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
	at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:134)
	at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
	at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:148)
	at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
	at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
	at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
	at com.mchange.v2.async.ThreadPerTaskAsynchronousRunner$TaskThread.run(ThreadPerTaskAsynchronousRunner.java:255)

Comment 2 Jan Hutař 2014-11-25 10:29:05 UTC
I do not know where was the problem. Michael investigated it and his `rhn-satellite restart` fixed it.