Uploaded image for project: 'Application Server 7'
  1. Application Server 7
  2. AS7-1978

Unable to load native libraries included in resource resource adapter RAR

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Blocker
    • 7.1.0.Beta1
    • 7.0.2.Final
    • JCA
    • None
    • Hide

      Attempt to package a resource adapter with a native library dependency where the native library is packaged within the rar.

      Show
      Attempt to package a resource adapter with a native library dependency where the native library is packaged within the rar.
    • Compatibility/Configuration
    • Workaround Exists
    • Hide

      Workaround is to add the following runtime parameter (to standalone.conf):
      -Djava.library.path=${JBOSS_NATIVE_LIBRARY_PATH}
      Where JBOSS_NATIVE_LIBRARY_PATH=<jboss-home>/bin/native
      And libsapjco3.so is placed in the native directory.

      Show
      Workaround is to add the following runtime parameter (to standalone.conf): -Djava.library.path=${JBOSS_NATIVE_LIBRARY_PATH} Where JBOSS_NATIVE_LIBRARY_PATH=<jboss-home>/bin/native And libsapjco3.so is placed in the native directory.

    Description

      Native JCO library libsapjco3.so fails to load from within rar.

      Have tried packaging libsapjco3.so in the rar root, and setting runtime paremter -Djboss.native.load=true (as per http://community.jboss.org/wiki/JBossProperties), but this has no effect. I suspect this is for pre JBossas7 versions.

      20110929 11:47:58,659 INFO [org.jboss.as.jpa] (MSC service thread 1-3) added javax.persistence.api dependency to mytestjcora.rar
      20110929 11:47:58,786 ERROR [stderr] (MSC service thread 1-2) java.lang.UnsatisfiedLinkError: no sapjco3 in java.library.path
      20110929 11:47:58,787 ERROR [stderr] (MSC service thread 1-2) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1738)
      20110929 11:47:58,787 ERROR [stderr] (MSC service thread 1-2) at java.lang.Runtime.loadLibrary0(Runtime.java:823)
      20110929 11:47:58,787 ERROR [stderr] (MSC service thread 1-2) at java.lang.System.loadLibrary(System.java:1028)
      20110929 11:47:58,788 ERROR [stderr] (MSC service thread 1-2) at com.sap.conn.jco.rt.DefaultJCoRuntime.loadLibrary(DefaultJCoRuntime.java:425)
      20110929 11:47:58,788 ERROR [stderr] (MSC service thread 1-2) at com.sap.conn.jco.rt.DefaultJCoRuntime.registerNativeMethods(DefaultJCoRuntime.java:293)
      20110929 11:47:58,788 ERROR [stderr] (MSC service thread 1-2) at com.sap.conn.jco.rt.JCoRuntime.registerNatives(JCoRuntime.java:891)
      20110929 11:47:58,788 ERROR [stderr] (MSC service thread 1-2) at com.sap.conn.rfc.driver.CpicDriver.<clinit>(CpicDriver.java:948)
      20110929 11:47:58,788 ERROR [stderr] (MSC service thread 1-2) at com.sap.conn.rfc.engine.DefaultRfcRuntime.getVersion(DefaultRfcRuntime.java:41)
      20110929 11:47:58,788 ERROR [stderr] (MSC service thread 1-2) at com.sap.conn.rfc.api.RfcApi.RfcGetVersion(RfcApi.java:253)
      20110929 11:47:58,788 ERROR [stderr] (MSC service thread 1-2) at com.sap.conn.jco.rt.MiddlewareJavaRfc.<clinit>(MiddlewareJavaRfc.java:195)
      20110929 11:47:58,789 ERROR [stderr] (MSC service thread 1-2) at com.sap.conn.jco.rt.DefaultJCoRuntime.initialize(DefaultJCoRuntime.java:74)
      20110929 11:47:58,804 ERROR [stderr] (MSC service thread 1-2) at com.sap.conn.jco.rt.JCoRuntimeFactory.<clinit>(JCoRuntimeFactory.java:23)
      20110929 11:47:58,804 ERROR [stderr] (MSC service thread 1-2) at com.sap.conn.jco.rt.RuntimeEnvironment.<init>(RuntimeEnvironment.java:40)
      20110929 11:47:58,804 ERROR [stderr] (MSC service thread 1-2) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      20110929 11:47:58,804 ERROR [stderr] (MSC service thread 1-2) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
      20110929 11:47:58,804 ERROR [stderr] (MSC service thread 1-2) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
      20110929 11:47:58,805 ERROR [stderr] (MSC service thread 1-2) at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
      20110929 11:47:58,805 ERROR [stderr] (MSC service thread 1-2) at java.lang.Class.newInstance0(Class.java:355)
      20110929 11:47:58,805 ERROR [stderr] (MSC service thread 1-2) at java.lang.Class.newInstance(Class.java:308)
      20110929 11:47:58,805 ERROR [stderr] (MSC service thread 1-2) at com.sap.conn.jco.ext.Environment.getInstance(Environment.java:121)
      20110929 11:47:58,805 ERROR [stderr] (MSC service thread 1-2) at com.sap.conn.jco.ext.Environment.registerDestinationDataProvider(Environment.java:216)
      20110929 11:47:58,805 ERROR [stderr] (MSC service thread 1-2) at com.myra.connector.jco.JCoManagedConnectionFactory.<clinit>(JCoManagedConnectionFactory.java:135)
      20110929 11:47:58,805 ERROR [stderr] (MSC service thread 1-2) at java.lang.Class.forName0(Native Method)
      20110929 11:47:58,806 ERROR [stderr] (MSC service thread 1-2) at java.lang.Class.forName(Class.java:247)
      20110929 11:47:58,806 ERROR [stderr] (MSC service thread 1-2) at org.jboss.jca.validator.ValidateClass.<init>(ValidateClass.java:88)
      20110929 11:47:58,806 ERROR [stderr] (MSC service thread 1-2) at org.jboss.jca.deployers.common.AbstractResourceAdapterDeployer.createObjectsAndInjectValue(AbstractResourceAdapterDeployer.java:1322)
      20110929 11:47:58,806 ERROR [stderr] (MSC service thread 1-2) at org.jboss.jca.deployers.common.AbstractResourceAdapterDeployer.createObjectsAndInjectValue(AbstractResourceAdapterDeployer.java:825)
      20110929 11:47:58,806 ERROR [stderr] (MSC service thread 1-2) at org.jboss.as.connector.metadata.deployment.ResourceAdapterDeploymentService$AS7RaDeployer.doDeploy(ResourceAdapterDeploymentService.java:139)
      20110929 11:47:58,806 ERROR [stderr] (MSC service thread 1-2) at org.jboss.as.connector.metadata.deployment.ResourceAdapterDeploymentService.start(ResourceAdapterDeploymentService.java:90)
      20110929 11:47:58,807 ERROR [stderr] (MSC service thread 1-2) at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1824)
      20110929 11:47:58,807 ERROR [stderr] (MSC service thread 1-2) at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1759)
      20110929 11:47:58,807 ERROR [stderr] (MSC service thread 1-2) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      20110929 11:47:58,807 ERROR [stderr] (MSC service thread 1-2) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      20110929 11:47:58,807 ERROR [stderr] (MSC service thread 1-2) at java.lang.Thread.run(Thread.java:662)
      20110929 11:47:58,828 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC00001: Failed to start service jboss.ra.mytestjcora: org.jboss.msc.service.StartException in service jboss.ra.mytestjcora: Failed to start RA deployment [mytestjcora]
      at org.jboss.as.connector.metadata.deployment.ResourceAdapterDeploymentService.start(ResourceAdapterDeploymentService.java:92)
      at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1824)
      at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1759)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_26]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_26]
      at java.lang.Thread.run(Thread.java:662) [:1.6.0_26]
      Caused by: org.jboss.jca.deployers.common.DeployException: IJ020056: Deployment failed: file:/opt/jboss/standalone/tmp/vfs/temp6fffaff86d4d55c6/mytestjcora.rar-2d836f33f4946a08/contents/
      at org.jboss.jca.deployers.common.AbstractResourceAdapterDeployer.createObjectsAndInjectValue(AbstractResourceAdapterDeployer.java:1929)
      at org.jboss.jca.deployers.common.AbstractResourceAdapterDeployer.createObjectsAndInjectValue(AbstractResourceAdapterDeployer.java:825)
      at org.jboss.as.connector.metadata.deployment.ResourceAdapterDeploymentService$AS7RaDeployer.doDeploy(ResourceAdapterDeploymentService.java:139)
      at org.jboss.as.connector.metadata.deployment.ResourceAdapterDeploymentService.start(ResourceAdapterDeploymentService.java:90)
      ... 5 more
      Caused by: java.lang.ExceptionInInitializerError: Error getting the version of the native layer: java.lang.UnsatisfiedLinkError: com.sap.conn.rfc.driver.CpicDriver.nativeCpicGetVersion([I)I
      at com.sap.conn.jco.rt.MiddlewareJavaRfc.<clinit>(MiddlewareJavaRfc.java:207)
      at com.sap.conn.jco.rt.DefaultJCoRuntime.initialize(DefaultJCoRuntime.java:74)
      at com.sap.conn.jco.rt.JCoRuntimeFactory.<clinit>(JCoRuntimeFactory.java:23)
      at com.sap.conn.jco.rt.RuntimeEnvironment.<init>(RuntimeEnvironment.java:40)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [:1.6.0_26]
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) [:1.6.0_26]
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) [:1.6.0_26]
      at java.lang.reflect.Constructor.newInstance(Constructor.java:513) [:1.6.0_26]
      at java.lang.Class.newInstance0(Class.java:355) [:1.6.0_26]
      at java.lang.Class.newInstance(Class.java:308) [:1.6.0_26]
      at com.sap.conn.jco.ext.Environment.getInstance(Environment.java:121)
      at com.sap.conn.jco.ext.Environment.registerDestinationDataProvider(Environment.java:216)
      at com.myra.connector.jco.JCoManagedConnectionFactory.<clinit>(JCoManagedConnectionFactory.java:135)
      at java.lang.Class.forName0(Native Method) [:1.6.0_26]
      at java.lang.Class.forName(Class.java:247) [:1.6.0_26]
      at org.jboss.jca.validator.ValidateClass.<init>(ValidateClass.java:88)
      at org.jboss.jca.deployers.common.AbstractResourceAdapterDeployer.createObjectsAndInjectValue(AbstractResourceAdapterDeployer.java:1322)
      ... 8 more

      20110929 11:47:59,043 INFO [org.jboss.as.server.controller] (DeploymentScanner-threads - 1) Deployment of "mytestjcora.rar" was rolled back with failure message {"Failed services" => {"jboss.ra.mytestjcora" => "org.jboss.msc.service.StartException in service jboss.ra.mytestjcora: Failed to start RA deployment [mytestjcora]"}}
      20110929 11:47:59,044 INFO [org.jboss.as.controller] (DeploymentScanner-threads - 1) Service status report
      Services which failed to start:
      service jboss.ra.mytestjcora: org.jboss.msc.service.StartException in service jboss.ra.mytestjcora: Failed to start RA deployment [mytestjcora]

      20110929 11:47:59,045 ERROR [org.jboss.as.deployment] (DeploymentScanner-threads - 2) {"Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-2" => {"Failed services" => {"jboss.ra.mytestjcora" => "org.jboss.msc.service.StartException in service jboss.ra.mytestjcora: Failed to start RA deployment [mytestjcora]"}}}}
      20110929 11:47:59,057 INFO [org.jboss.as.server.deployment] (MSC service thread 1-4) Stopped deployment mytestjcora.rar in 11ms}}

      Attachments

        1. iSpekJCoRA-lin.rar
          1.89 MB
        2. iSpekJCoRA-lin64.rar
          2.05 MB
        3. iSpekJCoRA-win.rar
          1.40 MB
        4. sapjco-runtime.zip
          14 kB

        Issue Links

          Activity

            People

              jpederse@redhat.com Jesper Pedersen
              Theo.Cleminson Theo Cleminson (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: