UnsatisfiedLinkError: Native Library ...so already loaded in another classloader
ts_dk Apr 4, 2012 6:08 AMHello
I'm using JBoss AS 7.1.0.Final and is developing under Eclipse Indigo.
I have multiple jar projects, a utility project and a war project gathered under a .ear project.
I am using the jpathwatch (http://jpathwatch.wordpress.com/) lib and this is added to the .ear project to be used on of the jar project.
I'm having some problems with redeploying the .ear.
The structure is like this:
- CM_project.ear
|-- /lib
| |-- jpathwatch-0-95.jar
|-- /modules
| |-- ContentWatcher.jar (Uses the jpathwatch lib)
| |-- Second.jar
| |-- Third.jar
Deploying works and the application is working as expected. Good!
Undeploying is also working.
Deploying again -> Error! Exception appended.
How am I supposed to deploy the jpathwatch?
Should I unload it at predestroy somehow?
Should I create a module for the jpathwatch instead?
I think this could be the way out, but I tried and it didn't find some of the classes in jpathwatch
-> Could someone confirm that this is right way of referening a native library?
Please help
Thomas
11:55:33,528 ERROR [stderr] (MSC service thread 1-2) java.lang.UnsatisfiedLinkError: Native Library /tmp/jpathwatch-nativelib-v-0-95-libjpathwatch-native.so already loaded in another classloader
11:55:33,532 ERROR [stderr] (MSC service thread 1-2) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1715)
11:55:33,538 ERROR [stderr] (MSC service thread 1-2) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1646)
11:55:33,542 ERROR [stderr] (MSC service thread 1-2) at java.lang.Runtime.load0(Runtime.java:787)
11:55:33,542 ERROR [stderr] (MSC service thread 1-2) at java.lang.System.load(System.java:1022)
11:55:33,544 ERROR [stderr] (MSC service thread 1-2) at name.pachler.nio.file.impl.NativeLibLoader.extractAndLoadLibrary(NativeLibLoader.java:407)
11:55:33,545 ERROR [stderr] (MSC service thread 1-2) at name.pachler.nio.file.impl.NativeLibLoader.loadLibrary(NativeLibLoader.java:257)
11:55:33,551 ERROR [stderr] (MSC service thread 1-2) at name.pachler.nio.file.impl.LinuxPathWatchService.<clinit>(LinuxPathWatchService.java:105)
11:55:33,555 ERROR [stderr] (MSC service thread 1-2) at name.pachler.nio.file.ext.Bootstrapper.newWatchService(Bootstrapper.java:80)
11:55:33,556 ERROR [stderr] (MSC service thread 1-2) at name.pachler.nio.file.FileSystems$1.newWatchService(FileSystems.java:40)
...
11:55:33,568 ERROR [stderr] (MSC service thread 1-2) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
11:55:33,577 ERROR [stderr] (MSC service thread 1-2) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
11:55:33,578 ERROR [stderr] (MSC service thread 1-2) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
11:55:33,579 ERROR [stderr] (MSC service thread 1-2) at java.lang.reflect.Method.invoke(Method.java:616)
11:55:33,582 ERROR [stderr] (MSC service thread 1-2) at org.jboss.as.ee.component.ManagedReferenceLifecycleMethodInterceptorFactory$ManagedReferenceLifecycleMethodInterceptor.processInvocation(ManagedReferenceLifecycleMethodInterceptorFactory.java:130)
11:55:33,584 ERROR [stderr] (MSC service thread 1-2) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
11:55:33,590 ERROR [stderr] (MSC service thread 1-2) at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
11:55:33,591 ERROR [stderr] (MSC service thread 1-2) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
11:55:33,598 ERROR [stderr] (MSC service thread 1-2) at org.jboss.as.ee.component.ManagedReferenceFieldInjectionInterceptorFactory$ManagedReferenceFieldInjectionInterceptor.processInvocation(ManagedReferenceFieldInjectionInterceptorFactory.java:112)
11:55:33,599 ERROR [stderr] (MSC service thread 1-2) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
11:55:33,600 ERROR [stderr] (MSC service thread 1-2) at org.jboss.as.ee.component.ManagedReferenceFieldInjectionInterceptorFactory$ManagedReferenceFieldInjectionInterceptor.processInvocation(ManagedReferenceFieldInjectionInterceptorFactory.java:112)
11:55:33,608 ERROR [stderr] (MSC service thread 1-2) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
11:55:33,613 ERROR [stderr] (MSC service thread 1-2) at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
11:55:33,614 ERROR [stderr] (MSC service thread 1-2) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
11:55:33,615 ERROR [stderr] (MSC service thread 1-2) at org.jboss.as.ee.component.ManagedReferenceInterceptorFactory$ManagedReferenceInterceptor.processInvocation(ManagedReferenceInterceptorFactory.java:95)
11:55:33,617 ERROR [stderr] (MSC service thread 1-2) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
11:55:33,622 ERROR [stderr] (MSC service thread 1-2) at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
11:55:33,634 ERROR [stderr] (MSC service thread 1-2) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
11:55:33,635 ERROR [stderr] (MSC service thread 1-2) at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
11:55:33,645 ERROR [stderr] (MSC service thread 1-2) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
11:55:33,653 ERROR [stderr] (MSC service thread 1-2) at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:228)
11:55:33,659 ERROR [stderr] (MSC service thread 1-2) at org.jboss.as.ejb3.tx.CMTTxInterceptor.requiresNew(CMTTxInterceptor.java:333)
11:55:33,660 ERROR [stderr] (MSC service thread 1-2) at org.jboss.as.ejb3.tx.SingletonLifecycleCMTTxInterceptor.processInvocation(SingletonLifecycleCMTTxInterceptor.java:56)
11:55:33,662 ERROR [stderr] (MSC service thread 1-2) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
11:55:33,663 ERROR [stderr] (MSC service thread 1-2) at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
11:55:33,674 ERROR [stderr] (MSC service thread 1-2) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
11:55:33,675 ERROR [stderr] (MSC service thread 1-2) at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45)
11:55:33,676 ERROR [stderr] (MSC service thread 1-2) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
11:55:33,677 ERROR [stderr] (MSC service thread 1-2) at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
11:55:33,678 ERROR [stderr] (MSC service thread 1-2) at org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:161)
11:55:33,690 ERROR [stderr] (MSC service thread 1-2) at org.jboss.as.ee.component.BasicComponent.createInstance(BasicComponent.java:85)
11:55:33,691 ERROR [stderr] (MSC service thread 1-2) at org.jboss.as.ejb3.component.singleton.SingletonComponent.getComponentInstance(SingletonComponent.java:113)
11:55:33,699 ERROR [stderr] (MSC service thread 1-2) at org.jboss.as.ejb3.component.singleton.SingletonComponent.start(SingletonComponent.java:127)
11:55:33,703 ERROR [stderr] (MSC service thread 1-2) at org.jboss.as.ee.component.ComponentStartService.start(ComponentStartService.java:44)
11:55:33,710 ERROR [stderr] (MSC service thread 1-2) at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
11:55:33,716 ERROR [stderr] (MSC service thread 1-2) at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
11:55:33,724 ERROR [stderr] (MSC service thread 1-2) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
11:55:33,725 ERROR [stderr] (MSC service thread 1-2) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
11:55:33,726 ERROR [stderr] (MSC service thread 1-2) at java.lang.Thread.run(Thread.java:679)