JDK-7194275 : Memory corruption when doing Inet6AddressImpl_lookupAllHostAddr
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.net
  • Affected Version: 7
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: linux
  • CPU: x86
  • Submitted: 2012-08-27
  • Updated: 2012-08-28
  • Resolved: 2012-08-28
Related Reports
Duplicate :  
Description
FULL PRODUCT VERSION :
java version "1.7.0_04"
Java(TM) SE Runtime Environment (build 1.7.0_04-b20)
Java HotSpot(TM) 64-Bit Server VM (build 23.0-b21, mixed mode)

also tested and reproduced with  jdk1.7.0_06 and  jdk1.6.0_32

ADDITIONAL OS VERSION INFORMATION :
Linux dmstest64 2.6.32-279.5.2.el6.x86_64 #1 SMP Tue Aug 14 11:36:39 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux

A DESCRIPTION OF THE PROBLEM :
I am running our (proprietary) Java application on 2 RedHat machines having the same code and same Java version.

On one machine it crashes with a memory violation caused by the native method
  /usr/java/jdk1.7.0_04/jre/lib/amd64/libnet.so(Java_java_net_Inet6AddressImpl_lookupAllHostAddr+0xe4)[0x7f28773e0ee4]

on the other machine it runs fine.

I should say that the machines are nearly identically configured (some libs differ in their minor version).

Running the application with the switch  -Djava.net.preferIPv4Stack=true resolved the problem.

I checked all  source code references to the native method and attached
a debugger to see if this is a threading issue but this did not prevent the code dumps so I assume threading does not cause this problem.

I should note that the existing bug 7183443 describes the same issue - unfortunately I was not able to add a comment there:(


REGRESSION.  Last worked in version 7

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
I did not find a way to reproduce this issue but I have a linux machine with our software where the issue can be reproduced all the time.


ERROR MESSAGES/STACK TRACES THAT OCCUR :
*** glibc detected *** /usr/java/jdk1.7.0_04/bin/java: free(): invalid pointer: 0x00007f286d6ed995 ***
======= Backtrace: =========
/lib64/libc.so.6[0x36b2c75296]
/lib64/libresolv.so.2(__libc_res_nsearch+0x3cf)[0x36b4809a3f]
/lib64/libnss_dns.so.2(_nss_dns_gethostbyname4_r+0xe7)[0x7f286d7f5797]
/lib64/libc.so.6[0x36b2cce444]
/lib64/libc.so.6(getaddrinfo+0x150)[0x36b2cd0170]
/usr/java/jdk1.7.0_04/jre/lib/amd64/libnet.so(Java_java_net_Inet6AddressImpl_lookupAllHostAddr+0xe4)[0x7f28773e0ee4]
[0x7f287d011f70]
======= Memory map: ========
00400000-00401000 r-xp 00000000 08:01 311702                             /usr/java/jdk1.7.0_04/bin/java
00600000-00601000 rw-p 00000000 08:01 311702                             /usr/java/jdk1.7.0_04/bin/java
0140d000-01509000 rw-p 00000000 00:00 0                                  [heap]
c0000000-c3440000 rw-p 00000000 00:00 0
c3440000-e0000000 rw-p 00000000 00:00 0
e0000000-e5560000 rw-p 00000000 00:00 0
e5560000-f5560000 rw-p 00000000 00:00 0
f5560000-100000000 rw-p 00000000 00:00 0
36b2400000-36b2420000 r-xp 00000000 08:01 655503                         /lib64/ld-2.12.so
36b261f000-36b2620000 r--p 0001f000 08:01 655503                         /lib64/ld-2.12.so
36b2620000-36b2621000 rw-p 00020000 08:01 655503                         /lib64/ld-2.12.so
36b2621000-36b2622000 rw-p 00000000 00:00 0
36b2800000-36b2802000 r-xp 00000000 08:01 655627                         /lib64/libdl-2.12.so
36b2802000-36b2a02000 ---p 00002000 08:01 655627                         /lib64/libdl-2.12.so
36b2a02000-36b2a03000 r--p 00002000 08:01 655627                         /lib64/libdl-2.12.so
36b2a03000-36b2a04000 rw-p 00003000 08:01 655627                         /lib64/libdl-2.12.so
36b2c00000-36b2d86000 r-xp 00000000 08:01 655505                         /lib64/libc-2.12.so
36b2d86000-36b2f86000 ---p 00186000 08:01 655505                         /lib64/libc-2.12.so
36b2f86000-36b2f8a000 r--p 00186000 08:01 655505                         /lib64/libc-2.12.so
36b2f8a000-36b2f8b000 rw-p 0018a000 08:01 655505                         /lib64/libc-2.12.so
36b2f8b000-36b2f90000 rw-p 00000000 00:00 0
36b3000000-36b3017000 r-xp 00000000 08:01 655647                         /lib64/libpthread-2.12.so
36b3017000-36b3216000 ---p 00017000 08:01 655647                         /lib64/libpthread-2.12.so
36b3216000-36b3217000 r--p 00016000 08:01 655647                         /lib64/libpthread-2.12.so
36b3217000-36b3218000 rw-p 00017000 08:01 655647                         /lib64/libpthread-2.12.so
36b3218000-36b321c000 rw-p 00000000 00:00 0
36b3400000-36b3483000 r-xp 00000000 08:01 655507                         /lib64/libm-2.12.so
36b3483000-36b3682000 ---p 00083000 08:01 655507                         /lib64/libm-2.12.so
36b3682000-36b3683000 r--p 00082000 08:01 655507                         /lib64/libm-2.12.so
36b3683000-36b3684000 rw-p 00083000 08:01 655507                         /lib64/libm-2.12.so
36b3c00000-36b3c07000 r-xp 00000000 08:01 655651                         /lib64/librt-2.12.so
36b3c07000-36b3e06000 ---p 00007000 08:01 655651                         /lib64/librt-2.12.so
36b3e06000-36b3e07000 r--p 00006000 08:01 655651                         /lib64/librt-2.12.so
36b3e07000-36b3e08000 rw-p 00007000 08:01 655651                         /lib64/librt-2.12.so
36b4800000-36b4816000 r-xp 00000000 08:01 655642                         /lib64/libresolv-2.12.so
36b4816000-36b4a16000 ---p 00016000 08:01 655642                         /lib64/libresolv-2.12.so
36b4a16000-36b4a17000 r--p 00016000 08:01 655642                         /lib64/libresolv-2.12.so
36b4a17000-36b4a18000 rw-p 00017000 08:01 655642                         /lib64/libresolv-2.12.so
36b4a18000-36b4a1a000 rw-p 00000000 00:00 0
36c3400000-36c3416000 r-xp 00000000 08:01 667736                         /lib64/libnsl-2.12.so
36c3416000-36c3615000 ---p 00016000 08:01 667736                         /lib64/libnsl-2.12.so
36c3615000-36c3616000 r--p 00015000 08:01 667736                         /lib64/libnsl-2.12.so
36c3616000-36c3617000 rw-p 00016000 08:01 667736                         /lib64/libnsl-2.12.so
36c3617000-36c3619000 rw-p 00000000 00:00 0
3e1a800000-3e1a816000 r-xp 00000000 08:01 672344                         /lib64/libgcc_s-4.4.6-20120305.so.1
3e1a816000-3e1aa15000 ---p 00016000 08:01 672344                         /lib64/libgcc_s-4.4.6-20120305.so.1
3e1aa15000-3e1aa16000 rw-p 00015000 08:01 672344                         /lib64/libgcc_s-4.4.6-20120305.so.1
7f282edae000-7f282edb1000 ---p 00000000 00:00 0
7f282edb1000-7f282eeaf000 rw-p 00000000 00:00 0
7f282eeaf000-7f282eeb2000 ---p 00000000 00:00 0
7f282eeb2000-7f282efb0000 rw-p 00000000 00:00 0
7f282efb0000-7f282efb3000 ---p 00000000 00:00 0
7f282efb3000-7f282f0b1000 rw-p 00000000 00:00 0
7f282f0b1000-7f282f0b4000 ---p 00000000 00:00 0
7f282f0b4000-7f282f1b2000 rw-p 00000000 00:00 0
7f282f1b2000-7f282f1b5000 ---p 00000000 00:00 0
7f282f1b5000-7f282f2b3000 rw-p 00000000 00:00 0
7f282f2b3000-7f282f2b6000 ---p 00000000 00:00 0
7f282f2b6000-7f282f3b4000 rw-p 00000000 00:00 0
7f282f3b4000-7f282f3b7000 ---p 00000000 00:00 0
7f282f3b7000-7f282f4b5000 rw-p 00000000 00:00 0
7f282f4b5000-7f282f4b8000 ---p 00000000 00:00 0
7f282f4b8000-7f282f5b6000 rw-p 00000000 00:00 0
7f282f5b6000-7f282f5b9000 ---p 00000000 00:00 0
7f282f5b9000-7f282f6b7000 rw-p 00000000 00:00 0
7f282f6b7000-7f282f6ba000 ---p 00000000 00:00 0
7f282f6ba000-7f282f7b8000 rw-p 00000000 00:00 0
7f282f7b8000-7f282f7bb000 ---p 00000000 00:00 0
7f282f7bb000-7f282f8b9000 rw-p 00000000 00:00 0
7f282f8b9000-7f282f8bc000 ---p 00000000 00:00 0
7f282f8bc000-7f282f9ba000 rw-p 00000000 00:00 0
7f282f9ba000-7f282f9bd000 ---p 00000000 00:00 0
7f282f9bd000-7f282fabb000 rw-p 00000000 00:00 0
7f282fabb000-7f282fabe000 ---p 00000000 00:00 0
7f282fabe000-7f282fbbc000 rw-p 00000000 00:00 0
7f282fbbc000-7f282fbbf000 ---p 00000000 00:00 0
7f282fbbf000-7f282fcbd000 rw-p 00000000 00:00 0
7f282fcbd000-7f282fcc0000 ---p 00000000 00:00 0
7f282fcc0000-7f282fdbe000 rw-p 00000000 00:00 0
7f282fdbe000-7f282fdc1000 ---p 00000000 00:00 0
7f282fdc1000-7f282febf000 rw-p 00000000 00:00 0
7f282febf000-7f282fec2000 ---p 00000000 00:00 0
7f282fec2000-7f282ffc0000 rw-p 00000000 00:00 0
7f282ffc0000-7f282ffc3000 ---p 00000000 00:00 0
7f282ffc3000-7f28300c1000 rw-p 00000000 00:00 0
7f28300c1000-7f28300c4000 ---p 00000000 00:00 0
7f28300c4000-7f28301c2000 rw-p 00000000 00:00 0
7f28301c2000-7f28301c5000 ---p 00000000 00:00 0
7f28301c5000-7f28302c3000 rw-p 00000000 00:00 0
7f28302c3000-7f28302c6000 ---p 00000000 00:00 0
7f28302c6000-7f28303c4000 rw-p 00000000 00:00 0
7f28303c4000-7f28303c7000 ---p 00000000 00:00 0
7f28303c7000-7f28304c5000 rw-p 00000000 00:00 0 ./csp.sh: line 93: 13933 Aborted                 (core dumped) ${JAVARUN} ${ARG} ${LIBPATHARG} ${POLICY} biz.i2z.loader.Loader -run biz.i2z.modules.main.MainModule ${CFG_DIR}/i2z.xml
[csp_test@dmstest64 server]$


REPRODUCIBILITY :
This bug can be reproduced always.

CUSTOMER SUBMITTED WORKAROUND :
-Djava.net.preferIPv4Stack=true