From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22048 invoked by alias); 19 Jan 2010 23:23:14 -0000 Received: (qmail 22028 invoked by uid 48); 19 Jan 2010 23:23:13 -0000 Date: Tue, 19 Jan 2010 23:23:00 -0000 Subject: [Bug java/42811] New: [4.5 regression] java.lang.ExceptionInInitializerError in ecj1 X-Bugzilla-Reason: CC Message-ID: Reply-To: gcc-bugzilla@gcc.gnu.org To: java-prs@gcc.gnu.org From: "jojelino at gmail dot com" Mailing-List: contact java-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: java-prs-owner@gcc.gnu.org X-SW-Source: 2010-q1/txt/msg00051.txt.bz2 configuration ./configure --prefix=/usr --disable-win32-registry --enable-threads=posix --enable-languages=c,c++,java --with-win32-nlsapi=unicode --enable-tls --disable-bootstrap --enable-shared --enable-interpreter --disable-sjlj-exceptions --enable-load-library testcase public class java { public static void main(String arg[]) { System.out.println("Hello World!"); } } debug session Reading symbols from /usr/libexec/gcc/i686-pc-cygwin/4.5.0/ecj1.exe...done. (gdb) set args java.java -g1 -fbootclasspath=./:/usr/share/java/libgcj-4.5.0.j ar -g1 -fsource=1.5 -ftarget=1.5 -fzip-dependency java.zip -fzip-target java.j ar (gdb) directory /tmp/gcc/t/t/t/t Warning: /tmp/gcc/t/t/t/t: No such file or directory. Source directories searched: /tmp/gcc/t/t/t/t:$cdir:$cwd (gdb) start Temporary breakpoint 1 at 0x40112e: file /cygdrive/d/Temp/cache/ccnRjjtS.i, line 11. Starting program: /usr/libexec/gcc/i686-pc-cygwin/4.5.0/ecj1.exe java.java -g1 - fbootclasspath=./:/usr/share/java/libgcj-4.5.0.jar -g1 -fsource=1.5 -ftarget=1.5 -fzip-dependency java.zip -fzip-target java.jar [New Thread 2040.0x1020] warning: section .gnu_debuglink not found in /usr/bin/cygwin1.dbg [New Thread 2040.0x1338] Temporary breakpoint 1, main (argc=, argv=) at /cygdrive/d/Temp/cache/ccnRjjtS.i:11 11 /cygdrive/d/Temp/cache/ccnRjjtS.i: No such file or directory. in /cygdrive/d/Temp/cache/ccnRjjtS.i (gdb) disp /i $eip 1: x/i $eip => 0x40112e : mov 0xc(%ebp),%eax (gdb) b Calendar.java:500 Breakpoint 2 at 0x6c1b0ed6: file ../../../.././libjava/classpath/java/util/Calen dar.java, line 500. (gdb) c Continuing. [New Thread 2040.0x119c] [New Thread 2040.0x1704] Breakpoint 2, java.util.Calendar.()void () at ../../../.././libjava/classpath/java/util/Calendar.java:500 500 properties = new Properties(); 1: x/i $eip => 0x6c1b0ed6 ()void+6>: movl $0x6c5d0fe0,(%esp) (gdb) n 503 properties.load(Calendar.class.getResourceAsStream("weeks.proper ties")); 1: x/i $eip => 0x6c1b0eec ()void+28>: mov 0x6c5d5350,%eax (gdb) n 500 properties = new Properties(); 1: x/i $eip => 0x6c1b0ef1 ()void+33>: mov %ebx,0x6cabc75c (gdb) n 503 properties.load(Calendar.class.getResourceAsStream("weeks.proper ties")); 1: x/i $eip => 0x6c1b0ef7 ()void+39>: movl $0x6c5c84e0,(%esp) (gdb) n Exception in thread "main" java.lang.ExceptionInInitializerError at java.lang.Class.initializeClass(Unknown Source) at java.util.Calendar.getInstance(Unknown Source) at java.util.zip.ZipEntry.getDOSTime(Unknown Source) at java.util.zip.ZipOutputStream.putNextEntry(Unknown Source) at org.eclipse.jdt.internal.compiler.batch.GCCMain.getZipOutput(GCCMain.java: 110) at org.eclipse.jdt.internal.compiler.batch.GCCMain.configure(GCCMain.java:459 ) at org.eclipse.jdt.internal.compiler.batch.Main.compile(Main.java:1628) at org.eclipse.jdt.internal.compiler.batch.GCCMain.compile(GCCMain.java:481) at org.eclipse.jdt.internal.compiler.batch.GCCMain.main(GCCMain.java:498) Caused by: java.lang.NullPointerException at java.io.InputStreamReader.read(Unknown Source) at java.io.BufferedReader.fill(Unknown Source) at java.io.BufferedReader.readLine(Unknown Source) at java.util.Properties.load(Unknown Source) at java.util.Properties.load(Unknown Source) at java.util.Calendar.(Unknown Source) at java.lang.Class.initializeClass(Unknown Source) ...8 more Program exited with code 01. (gdb) it seems that libgcj-bc is disabled except linux (libjava/configure.host) but SUPPRESS_LIBGCJ_BC_TRUE is enabled because it is default. and problematic switches "-fzip-dependency java.zip -fzip-target java.jar" try to load weeks.properties resource. then it invokes url classloader and find resource in libgcj-.jar so results exception. i tried to compile with --disable-libgcj-bc, but it has undefined symbol with namespace org.xml (showing that there is no choice but to use libgcj-bc) -- Summary: [4.5 regression] java.lang.ExceptionInInitializerError in ecj1 Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: java AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jojelino at gmail dot com GCC build triplet: i686-pc-cygwin GCC host triplet: i686-pc-cygwin GCC target triplet: i686-pc-cygwin http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42811