https://bugzilla.novell.com/show_bug.cgi?id=194711 ------- Comment #61 from bugproxy@us.ibm.com 2007-02-14 20:50 MST ------- ----- Additional Comments From suzukikp@in.ibm.com (prefers email at suzuki@in.ibm.com) 2007-02-14 22:47 EDT ------- Ok. I think its time to summarize the issue to avoid confusions in the future: Problem : IBM Java doesn't work on glibc-2.5-25 shipped with Open SuSE 10.2, which might be used in SLES 11. But it works well with glibc - 2.4 which is shipped with SLES 10. When running java it fails with the following error: libjvm.so preloadLibrary: /libj9vm22.so: cannot open shared object file: No such file or directory libjvm.so failed to load: j9vm22 Analysis: IBM Java tries to load a libjvm.so library whose "init" section (or "Constructor" ) tries to load some other java libs required. The constructor predicts the path for the other libraries to load as following : 1) Does a dladdr() on an ADDRESS (I assume and turns out to be correct with debug o/p listed below) within the libjvm.so and tries to get extract the PATH for the lib from the complete filename obtained from the o/p of dladdr. In the succeeding case, the dladdr() returns the library containing the address to be libjvm.so and the path is computed correctly and everything works fine. Debug o/p for the succeeding case: " 688: 688: 688: calling init: /opt/IBMJava2-amd64-142/jre/bin/j9vm/libjvm.so 688: dl-addr: 0x00002b86089a0e1 :file : /opt/IBMJava2-amd64-142/jre/bin/j9vm/libjvm.so 688: 688: calling init: /opt/IBMJava2-amd64-142/jre/bin/libj9thr22.so 688: " But in failing case, the dladdr() tells us that the "ADDRESS" lies in /lib64/ld-linux-xx.so ! Which makes the JVM to compute the path wrong as "/" and it fails to open the libs and hence exits. " 754: calling init: /opt/IBMJava2-amd64-142/jre/bin/j9vm/libjvm.so 754: dl-addr: 0x00002ad1ea8d5e1 :file : /lib64/ld-linux-x86-64.so.2 libjvm.so preloadLibrary: /libj9vm22.so: cannot open shared object file: No such file or directory libjvm.so failed to load: j9vm22 " Few othe data points : * The glibc-2.5-25 compiled on SLES10 machine doesn't recreate the issue. * The glibc-2.5-25 compiled on Open SuSE 10.2 recreates the problem. Possible points suspect : * Possible ELF version mismatches ? * Gcc ? * or IBM Java assuming something wrong, which works on earlier libs. Further Actions : * Trying to list out the libs loaded while dladdr() is called. * Getting information about the MAGIC "ADDRESS" which the Java uses to find the path name. Thanks Suzuki -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.