IBM Support

PM71399: ERRORS LOADING INITIAL JVM LIBRARY DLL MODULE: LIBWRAPPERS.SO

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as fixed if next.

Error description

  • When executing the JVM through one of the supplied launcher
    executables: java, jar, etc. users may encounter a load failure
    for the first Java DLL: libwrappers.so
    
    The error message will appear as:
    Unable to find home for java
    CEE3501S The module libwrappers.so was not found.
             From compile unit
    /u/foreman/sandbox/source/src/j2se/src/share/bin/java.c at entry
    point main at statement 292
             at compile unit offset +00000056 at entry offset
    +00000056 at address 20F08476.
    
    
    The JVM is incorrectly parsing the UNIX PATH environment
    variable when attempting to calculate the canonical path for its
    executable and libraries.
    
    This issue will only occur using the JVM's supplied executables
    when the JVM is executed at the command prompt. The JVM Launcher
    will have been executed using the current working directory of
    the JVM binary. The UNIX PATH will include an implicit entry for
    the current working directory.
    
    VERIFICATION STEPS:
    
    Verify the PATH environment variable does not contain an
    explicit entry for the JAVA_HOME/bin directory, where JAVA_HOME
    is the installation directory of the JVM. (By default:
    /usr/lpp/java/J6.0)
    
    Verify that the PATH environment variable contains an implicit
    entry for the current working directory. An implicit entry is
    an empty PATH element as described in the z/OS UNIX System
    Services User's Guide:
    http://publib.boulder.ibm.com/infocenter/zos/v1r13/topic/com.ibm
    .zos.r13.bpxa400/bpxza4c082.htm#wq120
    
    
    PROBLEM EXAMPLE
    
    If a system path is set to:
    /bin:/usr/local:
    Where the ending colon designates an implicit search of the
    current working directory using an empty "no-name" path element.
    And the user changes to the Java installation directory using
    the command:
    cd /usr/lpp/java/J6.0/bin
    And then executes the JVM Launcher, they will encounter the
    messages:
    java -version
    Unable to find home for java
    CEE3501S The module libwrappers.so was not found.
             From compile unit
    /u/foreman/sandbox/source/src/j2se/src/share/bin/java.c at entry
    point main at statement 292
             at compile unit offset +00000056 at entry offset
    +00000056 at address 20F08476.
    Killed
    

Local fix

  • The problem can be resolved in several ways.
    From most to least recommended, these are:
    
    1) Add the explicit PATH for the Java binaries to the system or
    user PATH specification. Example:
    export PATH=/usr/lpp/java/J6.0/bin:$PATH
    
    This will ensure that an explicit entry exists for the JVM.
    
    2) Add an explicit entry for the current working directory
    rather than rely on the "no-name" empty element. Example:
    export PATH=/bin:/usr/local:.
    
    Using a single period/dot '.' is accepted UNIX convention for
    the current working directory, and is less ambiguous than an
    empty path element, especially at the end of a PATH
    specification.
    
    3) Remove the implicit entry for the current working directory,
    and execute commands using the full path when needed. Example:
    export PATH=/bin:/usr/local
    
    Commands in the current working directory would then be executed
    using the syntax:
    ./program
    /full/path/program
    

Problem summary

  • The problem is very rare to occur and easy to work around. Hence
    it was decided to fix in the development release.
    

Problem conclusion

Temporary fix

Comments

APAR Information

  • APAR number

    PM71399

  • Reported component name

    JAVA Z/OS 31

  • Reported component ID

    620700105

  • Reported release

    600

  • Status

    CLOSED FIN

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-08-22

  • Closed date

    2012-10-01

  • Last modified date

    2012-10-01

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

Applicable component levels

  • R600 PSY

       UP

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.0","Edition":"","Line of Business":{"code":"LOB16","label":"Mainframe HW"}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.0","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
09 August 2022