Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6487640

Backport fix for Bug 4953050 to jdk1.5.0_09 - Linux AMD64

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Won't Fix
    • Icon: P5 P5
    • None
    • 5.0
    • core-libs

      FULL PRODUCT VERSION :
      java -version
      java version "1.5.0_09"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_09-b03)
      Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_09-b03, mixed mode)

      ADDITIONAL OS VERSION INFORMATION :
      Linux stargate-lx1 2.6.17.4 #1 PREEMPT Thu Jul 13 10:57:39 EDT 2006 x86_64 x86_64 x86_64 GNU/Linux

      EXTRA RELEVANT SYSTEM CONFIGURATION :
      Simply taking the test program included in bug 4953050, is reproducible on Linux 64-bit AMD64

      A DESCRIPTION OF THE PROBLEM :
      4953050 is fixed in Java SE 6.0. This is a request to backport the fix to Tiger.

      As described in bug 4953050 relative to the ia64, the same issue occurs on amd64. The _LP64 declaration of uLong in the zconf.h for zip lib combined with the continued export of symbols from libzip.so which conflict with libz.so keeps any JNI application which also uses the system libz from finding classes.

      Output of nm -D libzip.so | grep ' T '
      00000000000050c0 T adler32
      000000000000b6a0 T allocZip
      0000000000005260 T crc32
      0000000000005a00 T deflate
      0000000000005e00 T deflateCopy
      0000000000005d20 T deflateEnd
      0000000000005350 T deflateInit_
      0000000000005380 T deflateInit2_
      0000000000005820 T deflateParams
      0000000000005770 T deflateReset
      0000000000005620 T deflateSetDictionary
      000000000000ce58 T _fini
      0000000000005250 T get_crc_table
      0000000000008f80 T inflate
      00000000000096c0 T inflate_blocks
      000000000000a140 T inflate_blocks_free
      00000000000095f0 T inflate_blocks_new
      0000000000009550 T inflate_blocks_reset
      000000000000a1d0 T inflate_blocks_sync_point
      000000000000ab30 T inflate_codes
      000000000000b150 T inflate_codes_free
      000000000000aac0 T inflate_codes_new
      0000000000008db0 T inflateEnd
      000000000000b2b0 T inflate_fast
      000000000000b170 T inflate_flush
      000000000000ca20 T InflateFully
      0000000000008f60 T inflateInit_
      0000000000008e10 T inflateInit2_
      0000000000008d50 T inflateReset
      000000000000a190 T inflate_set_dictionary
      0000000000009360 T inflateSetDictionary
      0000000000009420 T inflateSync
      0000000000009520 T inflateSyncPoint
      000000000000a820 T inflate_trees_bits
      000000000000a8f0 T inflate_trees_dynamic
      000000000000aa80 T inflate_trees_fixed
      00000000000032a0 T _init
      000000000000b5f0 T InitializeZip
      0000000000004c20 T Java_java_util_jar_JarFile_getMetaInfEntryNames
      0000000000003960 T Java_java_util_zip_Adler32_update
      0000000000003980 T Java_java_util_zip_Adler32_updateBytes
      00000000000038a0 T Java_java_util_zip_CRC32_update
      00000000000038c0 T Java_java_util_zip_CRC32_updateBytes
      0000000000003d20 T Java_java_util_zip_Deflater_deflateBytes
      0000000000004170 T Java_java_util_zip_Deflater_end
      0000000000004110 T Java_java_util_zip_Deflater_getAdler
      0000000000004120 T Java_java_util_zip_Deflater_getBytesRead
      0000000000004130 T Java_java_util_zip_Deflater_getBytesWritten
      0000000000003b80 T Java_java_util_zip_Deflater_init
      0000000000003a10 T Java_java_util_zip_Deflater_initIDs
      0000000000004140 T Java_java_util_zip_Deflater_reset
      0000000000003c70 T Java_java_util_zip_Deflater_setDictionary
      0000000000004710 T Java_java_util_zip_Inflater_end
      00000000000046b0 T Java_java_util_zip_Inflater_getAdler
      00000000000046c0 T Java_java_util_zip_Inflater_getBytesRead
      00000000000046d0 T Java_java_util_zip_Inflater_getBytesWritten
      0000000000004420 T Java_java_util_zip_Inflater_inflateBytes
      00000000000042c0 T Java_java_util_zip_Inflater_init
      00000000000041c0 T Java_java_util_zip_Inflater_initIDs
      00000000000046e0 T Java_java_util_zip_Inflater_reset
      0000000000004370 T Java_java_util_zip_Inflater_setDictionary
      0000000000004ec0 T Java_java_util_zip_ZipEntry_initFields
      0000000000004d70 T Java_java_util_zip_ZipEntry_initIDs
      0000000000004900 T Java_java_util_zip_ZipFile_close
      0000000000004a10 T Java_java_util_zip_ZipFile_freeEntry
      0000000000004a60 T Java_java_util_zip_ZipFile_getCSize
      0000000000004910 T Java_java_util_zip_ZipFile_getEntry
      0000000000004a90 T Java_java_util_zip_ZipFile_getEntryOffset
      00000000000048e0 T Java_java_util_zip_ZipFile_getMappedAddr
      00000000000048f0 T Java_java_util_zip_ZipFile_getMappedLen
      0000000000004a40 T Java_java_util_zip_ZipFile_getMethod
      0000000000004a30 T Java_java_util_zip_ZipFile_getNextEntry
      0000000000004a80 T Java_java_util_zip_ZipFile_getSize
      00000000000048d0 T Java_java_util_zip_ZipFile_getTotal
      0000000000004d50 T Java_java_util_zip_ZipFile_getZipMessage
      0000000000004760 T Java_java_util_zip_ZipFile_initIDs
      0000000000004800 T Java_java_util_zip_ZipFile_open
      0000000000004aa0 T Java_java_util_zip_ZipFile_read
      00000000000080c0 T _tr_align
      0000000000008340 T _tr_flush_block
      0000000000007030 T _tr_init
      0000000000008030 T _tr_stored_block
      0000000000008570 T _tr_tally
      0000000000008d20 T zcalloc
      0000000000008d40 T zcfree
      0000000000008d00 T zError
      000000000000c370 T ZIP_Close
      0000000000003950 T ZIP_CRC32
      000000000000cc30 T ZIP_FindEntry
      000000000000c710 T ZIP_FreeEntry
      000000000000c780 T ZIP_GetEntry
      000000000000c8e0 T ZIP_GetNextEntry
      000000000000c940 T ZIP_Lock
      000000000000c360 T ZIP_Open
      000000000000c100 T ZIP_Open_Generic
      000000000000c960 T ZIP_Read
      000000000000cc80 T ZIP_ReadEntry
      000000000000cdb0 T ZIP_ReadMappedEntry
      000000000000c950 T ZIP_Unlock
      0000000000008cf0 T zlibVersion

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      use the test program in bug 4953050 on amd64 on linux jdk-1.5.0_06,07,?08, 09 for same failure.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      Without -lz, the example works fine:
      LD_LIBRARY_PATH=/opt/java/jdk1.5.0_09/jre/lib/amd64/server:/opt/java/jdk1.5.0_09/jre/lib/amd64 ./works
      Hello World

      ACTUAL -
      With -lz, we cannot find classes inside jar files:
      LD_LIBRARY_PATH=/opt/java/jdk1.5.0_09/jre/lib/amd64/server:/opt/java/jdk1.5.0_09/jre/lib/amd64 ./busted
      Cannot find Hello class..


      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      see bug 4953050.
      Used unmodified except to point to current jvm.
      ---------- END SOURCE ----------

            sherman Xueming Shen
            ndcosta Nelson Dcosta (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: