PQ87905: Native library paths configured in shared libraries are not picked up. | |||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||
![]() APAR status Closed as program error. Error description When configuring a shared library, the native library paths are not being picked up and added to the classloader, which could lead to native libraries not being found. . Symptom of this problem is to see the following 'UnsatisfiedLinkError' in the WebSphere z/OS servant region. The following example was issued when the server was starting up, and the application is starting: Trace: 2004/04/21 21:47:54.079 01 t=9FF100 c=UNK key=P8 Description: Log Boss/390 Error from filename: /bborjtr.cpp at line: 817 error message: BBOO0222I WSVR0037I: Starting EJB jar: Common.jar java.lang.UnsatisfiedLinkError: Can't find library ProcessID (libProcessID.so) in java.library.path java.library.path=/ssw/zWebSphere/WAPCFG1/javasmpe/bin: /ssw/zWebSphere/WAPCFG1/javasmpe/bin/classic: /ssw/zWebSphere/WAPCFG1/AppS r_Node1AP/lib .at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1746) .at java.lang.Runtime.loadLibrary0(Runtime.java:780) .at java.lang.System.loadLibrary(System.java:867) .at com.zurich.nc.common.util.ProcessID.<clinit> (ProcessID.java:10) .at com.zurich.nc.common.util.CurrentProcessID.<clinit> (CurrentProcessID.java:19) .at com.zurich.nc.common.util.log.Log.getLogProperties (Log.java:1091) .at com.zurich.nc.common.util.log.Log.initialization (Log.java:371) .at com.zurich.nc.common.util.log.Log.<clinit>(Log.java:291) .at com.zurich.nc.common.util.FileChangeChecker. checkForChangeNow(FileChangeChecker.java:138) .at com.zurich.nc.common.util.FileChangeChecker.run (FileChangeChecker.java:101)Local fix Define the 'Native Library Path' in the 'Classpath' box during the Shared Library definition. . Environment -> Shared Libraries -> shared_library_name -> Classpath(entered here) . rather than in the Environment > Shared Libraries > shared_library_name. Native Library Path (NOT entered here) . The Native Library Path that is entered in the 'Classpath' should be 'just the path', and should not include the actual file name.Problem summary **************************************************************** * USERS AFFECTED: All users of WebSphere Application Server * * V5.0 for z/OS * **************************************************************** * PROBLEM DESCRIPTION: java.lang.UnsatisfiedLinkError may * * occur when using native libraries * * associated with Shared Libraries. A * * message similar to the following would * * be seen in the Servant joblog if an EJB * * was attempting to load the native * * library during application start up. * * * * BBOO0222I WSVR0037I: Starting EJB jar: * * Common.jar java.lang.UnsatisfiedLinkErr * * or: Can't find library ProcessID * * (libProcessID.so) in java.library.path * * java.library.path=/ssw/zWebSphere/ * * WAPCFG1/javasmpe/bin: * * /ssw/zWebSphere/WAPCFG1/javasmpe/bin/cl * * assic: * * /ssw/zWebSphere/WAPCFG1/AppSr_Node1AP/l * * ib * * at java.lang.ClassLoader.loadLibrary(Cl * * assLoader.java:1746) * * at java.lang.Runtime.loadLibrary0(Runti * * me.java:780) * * at java.lang.System.loadLibrary(System. * * java:867) * * * * java.lang.NoClassDefFoundError will * * occur when using shared libraries if * * all of the jars associated with the * * shared library classpath path are * * not specified. A message similar to * * the following would be seen in the * * Servant joblog at application execution * * time. * * * * BBOO0223I Servlet Error - com/ibm/wsc/ * * util/JSABInfo : java.lang.NoClassDefFou * * ndError: com/ibm/wsc/util/JSABInfo * * at com.ibm.wsc.util.Ping.doWork(Ping.ja * * va:67) * * at com.ibm.wsc.util.Ping.doGet(Ping.jav * * a:35) * * at javax.servlet.http.HttpServlet.servi * * ce(HttpServlet.java:740) * * at javax.servlet.http.HttpServlet.servi * * ce(HttpServlet.java:853) * * at com.ibm.ws.webcontainer.servlet.Stri * * ctServletInstance.doService(StrictServl * * etInstance.java:110) * * at com.ibm.ws.webcontainer.servlet.Stri * * ctLifecycleServlet._service(StrictLifec * * ycleServlet.java:174) * **************************************************************** * RECOMMENDATION: * **************************************************************** java.lang.UnsatisfiedLinkError may occur when using shared libraries if a shared library was defined via the Administration Console and the native library path was supplied via the native library path field on the Shared Library definition panel instead of the classpath field. Prior to this PTF the native library path field on shared libraries is not read when a server level classloader is defined using the shared library or the shared library is added to an application. java.lang.NoClassDefFoundError will occur when using shared libraries if a shared library was defined via the Administration Console and only the path to the jar and zip files was specified in the classpath field. Prior to this PTF the Shared Library classpath was not searched for all the jar and zip files.Problem conclusion WebSphere runtime code was updated to read the native library field supplied for the shared library and return it when it is used to define a server level classloader or when the shared library is added to an application. WebSphere runtime was also updated to add all jar and zip files to the classpath supplied on a Shared Library definition. APAR PQ87905 is associated with SERVICE LEVEL W502016 of WebSphere Application Server V5.0 for z/OS.Temporary fix Comments
APAR is sysrouted FROM one or more of the following: PQ80823 APAR is sysrouted TO one or more of the following: PQ89859 Modules/Macros
Publications Referenced
|
Document Information |
Current web document: swg1PQ87905.html
Product categories: Software > Application Servers >
Distributed Application & Web Servers > WebSphere Application
Server for z/OS
Operating system(s):
Software version: 500
Software edition:
Reference #: PQ87905
IBM Group: Software Group
Modified date: Nov 1, 2004
(C) Copyright IBM Corporation 2000, 2009. All Rights Reserved.