Debugging the test program it seems that the problem is a missing
ZoneInfoMappings file.
The stack trace is:

Thread [main] (Suspended)       
        ZoneInfoFile$2.run() line: 1075 
        ZoneInfoFile$2.run() line: 1073 
        AccessController.doPrivileged(PrivilegedExceptionAction<T>) line: not
available [native method]
        ZoneInfoFile.readZoneInfoFile(String) line: 1073        
        ZoneInfoFile.getZoneInfoMappings() line: 1042   
        ZoneInfoFile.getZoneIDs() line: 783     
        ZoneInfo.getAvailableIDs() line: 535    
        TimeZone.getAvailableIDs() line: 514    
        tztest.main(String[]) line: 3   


readZoneInfoFile opens this file:
/usr/share/javazi/ZoneInfoMappings
which does not exists; the null return value is propagated up to
getZoneIDs, leading to the NullPointerException.
That file is indeed present in the older package:

# ls /usr/share/javazi/
Africa   Antarctica  Atlantic   CET      EET  EST5EDT  Europe  HST
MET  MST7MDT  PST8PDT  WET
America  Asia        Australia  CST6CDT  EST  Etc      GMT     Indian
MST  Pacific  SystemV  ZoneInfoMappings

# dpkg -S /usr/share/javazi/ZoneInfoMappings
tzdata-java: /usr/share/javazi/ZoneInfoMappings

Hum. So upgrading the openjdk packages somehow deletes files from
another package...

[upgrade]
Unpacking replacement openjdk-6-jre-lib ...
dpkg: warning: unable to delete old directory
'/usr/lib/jvm/java-6-openjdk/jre/lib/zi/Antarctica': Directory not
empty
dpkg: warning: unable to delete old directory
'/usr/lib/jvm/java-6-openjdk/jre/lib/zi/Pacific': Directory not empty
dpkg: warning: unable to delete old directory
'/usr/lib/jvm/java-6-openjdk/jre/lib/zi/America': Directory not empty

# ls /usr/share/javazi
America  Antarctica  Pacific

The preinst file of openjdk-6-jre-lib shows:

with_tzdata=yes

if [ "$with_tzdata" = yes ]; then
    if [ ! -h /usr/lib/jvm/java-6-openjdk/jre/lib/zi ] && [ -d
/usr/lib/jvm/java-6-openjdk/jre/lib/zi ]; then
        rm -rf /usr/lib/jvm/java-6-openjdk/jre/lib/zi
    fi
fi

But, even with 6b18-1.8.1-2 installed that directory is a symlink;

# ll /usr/lib/jvm/java-6-openjdk/jre/lib/zi
lrwxrwxrwx 1 root root 27 Oct 15 17:19
/usr/lib/jvm/java-6-openjdk/jre/lib/zi -> ../../../../../share/javazi

The rm -rf should not be triggered. Double hum :)

Luca



-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to