[Bug java/12005] New: TimeZone.getID() produces NPE
paul at gear dot dyndns dot org
gcc-bugzilla@gcc.gnu.org
Thu Aug 21 10:54:00 GMT 2003
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12005
Summary: TimeZone.getID() produces NPE
Product: gcc
Version: 3.2.2
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: java
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: paul at gear dot dyndns dot org
CC: gcc-bugs at gcc dot gnu dot org
Test case:
import java.util.*;
public class TimeZoneTest
{
public static void
main( String[] argv )
{
TimeZone t = TimeZone.getDefault();
System.out.println( t );
String name = t.getDisplayName();
System.out.println( name );
String id = t.getID();
System.out.println( id );
}
} // class TimeZoneTest
Environment: Red Hat Linux 9, standard packages & errata applied. My system is
set to time zone "Australia/Brisbane". Sun j2sdk-1.4.2-fcs RPM (using jikes
1.18 as compiler) produces this result with the above test code:
sun.util.calendar.ZoneInfo[id="Australia/Brisbane",offset=36000000,dstSavings=0,useDaylight=false,transitions=18,lastRule=null]
Eastern Standard Time (Queensland)
Australia/Brisbane
The same test code with gcc-java and libgcj 3.2.2-5 produces:
java.util.SimpleTimeZone[id=UTC,offset=0,dstSavings=3600000,useDaylight=false]
GMT+00:00
Exception in thread "main" java.lang.NullPointerException
at 0x40222ef2: _Jv_ThrowSignal (/usr/lib/libgcj.so.3)
at 0x40222f26: ?? (??:0)
at 0xbfffd26c: ?? (??:0)
at 0x4026e16d: java.lang.StringBuffer.StringBuffer(java.lang.String)
(/usr/lib/libgcj.so.3)
at 0x402a2eda: java.util.Locale.toString() (/usr/lib/libgcj.so.3)
at 0x402a6438: java.util.ResourceBundle.getBundle(java.lang.String,
java.util.Locale, java.lang.ClassLoader) (/usr/lib/libgcj.so.3)
at 0x402a5e34: java.util.ResourceBundle.getBundle(java.lang.String,
java.util.Locale) (/usr/lib/libgcj.so.3)
at 0x403091d2:
java.text.DateFormatSymbols.DateFormatSymbols(java.util.Locale)
(/usr/lib/libgcj.so.3)
at 0x402a7d1f: java.util.TimeZone.getDisplayName(boolean, int,
java.util.Locale) (/usr/lib/libgcj.so.3)
at 0x08048a73: TimeZoneTest::main(JArray<java::lang::String*>*) (??:0)
at 0x4024add8: gnu.gcj.runtime.FirstThread.call_main() (/usr/lib/libgcj.so.3)
at 0x402b502d: gnu.gcj.runtime.FirstThread.run() (/usr/lib/libgcj.so.3)
at 0x40257c4c: _Jv_ThreadRun(java.lang.Thread) (/usr/lib/libgcj.so.3)
at 0x402248ac: _Jv_RunMain(java.lang.Class, byte const, int, byte const,
boolean) (/usr/lib/libgcj.so.3)
at 0x402249cd: JvRunMain (/usr/lib/libgcj.so.3)
at 0x080489a9: main (??:0)
at 0x420156a4: __libc_start_main (/lib/tls/libc.so.6)
at 0x080488ed: _start (../sysdeps/i386/elf/start.S:83)
This seems to be related to the fact that the time zone is not being picked up
correctly in the first place, but doesn't seem to be the same issue as 11941 or
7789.
More information about the Gcc-bugs
mailing list