Thanks to gcj's ability to compile native code that can be debugged with gdb, I finally could narrow down and report this bug that I first noticed with libgcj4 or libgcj5. The program runs fine under Sun's JVM, but libgcj aborts because of an assertion failure.
I keep getting an assertion failure and SIGABRT when my program calls JTabbedPane.addTab() with null first argument. If I replace the first argument with a string (even an empty one) or if I run the code under Sun's JVM, there is no assertion failure. Here is a minimal test case: cat > crash.java << EOF import javax.swing.JTabbedPane; import javax.swing.JTable; class crash { public static final void main (String args[]) { JTabbedPane t = new JTabbedPane (); JTable jt = new JTable (); t.addTab (null, null, jt); } } EOF gcj-4.0 --main=crash crash.java ./a.out ** ERROR **: file ../../../src/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c: line 290 (Java_gnu_java_awt_peer_gtk_GdkFontPeer_getTextMetrics): assertion failed: (cstr != NULL) aborting... Replace the first argument of t.addTab() with "", and the assertion won't fail. Note that the program works under Sun's JVM. Marko -- Summary: Assertion failure when calling JTabbedPane.addTab(null, ...) Product: classpath Version: unspecified Status: UNCONFIRMED Severity: normal Priority: P2 Component: classpath AssignedTo: roman at kennke dot org ReportedBy: konqueror at gmx dot de CC: bug-classpath at gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23859 _______________________________________________ Bug-classpath mailing list Bug-classpath@gnu.org http://lists.gnu.org/mailman/listinfo/bug-classpath