United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
JDK-6972329 : user.home has value of "?" when using JDK 1.6 32 bit on a 64 bit Linux RedHat

Details
Type:
Bug
Submit Date:
2010-07-27
Status:
Closed
Updated Date:
2010-09-25
Project Name:
JDK
Resolved Date:
2010-08-15
Component:
core-libs
OS:
solaris_8,linux
Sub-Component:
java.lang
CPU:
x86
Priority:
P3
Resolution:
Not an Issue
Affected Versions:
6u10,6u21
Fixed Versions:

Related Reports
Duplicate:

Sub Tasks

Description
FULL PRODUCT VERSION :
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b06)
Java HotSpot(TM) Server VM (build 17.0-b16, mixed mode)

ADDITIONAL OS VERSION INFORMATION :
Linux dev02.terracotta.lan 2.6.9-78.0.13.ELsmp #1 SMP Wed Jan 7 17:45:52 EST 2009 x86_64 x86_64 x86_64 GNU/Linux

EXTRA RELEVANT SYSTEM CONFIGURATION :
see attachment (strace.txt)


A DESCRIPTION OF THE PROBLEM :
If I use JDK 6u21 32 bit, the user.home, user.name values are "?"

If I use the 64 bit version, it works correctly.

Also, I can only reproduce this behavior if I use a network account. Everything works fine with a local account, even with 32bit JDK

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
[hhuynh@dev02:~]$ /shares/terra/jdk/linux/hotspot1.6.0_21/bin/java -cp /shares/terra/tmp ShowSystemProps | grep "user"

user.country=US
user.dir=/home/hhuynh
user.home=?
user.timezone=
user.name=?
user.language=en

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Works fine  with 6u21 64 bit on the same machine

[hhuynh@dev02:~]$ /shares/terra/jdk/linux/hotspot1.6.0_21_x64/bin/java -cp /shares/terra/tmp ShowSystemProps | grep "user"
user.country=US
user.dir=/home/hhuynh
user.home=/export2/homes/hhuynh
user.timezone=
user.name=hhuynh
user.language=en
ACTUAL -
[hhuynh@dev02:~]$ /shares/terra/jdk/linux/hotspot1.6.0_21/bin/java -cp /shares/terra/tmp ShowSystemProps | grep "user"
user.country=US
user.dir=/home/hhuynh
user.home=?
user.timezone=
user.name=?
user.language=en

REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
ShowSystemProps.java

import java.util.*;

public class ShowSystemProps {

    public static void main(String[] args) {
      Properties props = System.getProperties();
      props.list(System.out);
    }
}
---------- END SOURCE ----------

                                    

Comments
EVALUATION

I think we need more information to diagnose this. I looked at the attached strace and it looks like the system is configued "passwd: files ldap". The user is not found in the passwd file so it falls back to LDAP but it looks like the 32-bit libnss_ldap is not installed. Is it possible that the system has the 64-bit libnss_ldap installed and not the 32-bit?
                                     
2010-07-27
EVALUATION

There hasn't been any update from the submitter in two weeks so I'm closing this bug. If there is any new information, and it suggests a JDK bug, then please re-open this bug.
                                     
2010-08-15



Hardware and Software, Engineered to Work Together