Hi
First--if necessary, am glad to file a bug for this, but wanted to
check and see if there was something I'm missing.
In trying to render a table of characters using their Unicode
identifiers, I found that the character \u0DDD crashes my JVM as soon
as it is rendered to a Swing component. I'm not particularly
interested in that character--I am just trying to print out different
characters in different fonts to easily track which glyphs are
available per font. I found this by accident. I'm writing to this list
as I suspect (but don't know) that it may be an issue with the font
system.
java -version
java version "1.6.0_10"
Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode, sharing)
Ubuntu 8.10
uname -r
2.6.27-7-generic
Small app that shows the problem:
import javax.swing.*;
import javax.swing.border.LineBorder;
import java.awt.*;
import java.awt.event.ActionEvent;
public class TestChar {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new TestChar().run();
}
});
}
private void run() {
JFrame frame = new JFrame("Test Character");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
final JLabel label = new JLabel("(empty)");
label.setSize(400, 100);
label.setBorder(new LineBorder(Color.black));
JButton button = new JButton("Set Char x0DDD");
button.addActionListener(new AbstractAction() {
public void actionPerformed(ActionEvent actionEvent) {
label.setText(Character.toString('\u0DDD'));
}
});
panel.add(button);
panel.add(label);
frame.getContentPane().add(panel);
frame.pack();
frame.setVisible(true);
}
}
Run this, then click the button. On my Ubuntu system, clicking the
button causes an immediate crash of the VM. Have also tested on OS X
java -version
java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06-153)
Java HotSpot(TM) 64-Bit Server VM (build 1.6.0_07-b06-57, mixed mode)
and the VM _did not crash_.
Output in the Ubuntu console following the crash is attached.
If I should just file a bug for this, please let me know.
Thanks!
Patrick
$ java -cp out/production/Samples TestChar &>out.txt
*** glibc detected *** java: free(): invalid next size (fast): 0x09db39d0 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb7f833f4]
/lib/tls/i686/cmov/libc.so.6(cfree+0x96)[0xb7f85456]
/usr/java/jdk1.6.0_10/jre/lib/i386/libfontmanager.so[0xb55c92cc]
/usr/java/jdk1.6.0_10/jre/lib/i386/libfontmanager.so[0xb55d0b22]
/usr/java/jdk1.6.0_10/jre/lib/i386/libfontmanager.so[0xb55d1e4d]
/usr/java/jdk1.6.0_10/jre/lib/i386/libfontmanager.so[0xb55cf90d]
/usr/java/jdk1.6.0_10/jre/lib/i386/libfontmanager.so(Java_sun_font_SunLayoutEngine_nativeLayout+0x24f)[0xb55d193f]
[0xb5e13f1d]
[0xb5e0cfcd]
[0xb5e0d4a9]
[0xb5e0cfcd]
[0xb5e0ce67]
[0xb5e0ce67]
[0xb5e0ce67]
[0xb5e0ce67]
[0xb5e0d409]
[0xb5e0cfcd]
[0xb5e0cfcd]
[0xb5e0ce67]
[0xb5e0cfcd]
[0xb5e0cfcd]
[0xb5e0cea9]
[0xb5e0cea9]
[0xb5e0ce67]
[0xb5e0ce67]
[0xb5e0ce67]
[0xb5e0ce67]
[0xb5e0ce67]
[0xb5e0d4a9]
[0xb5e0cfcd]
[0xb5e0cfcd]
[0xb5e0cfcd]
[0xb5e0cfcd]
[0xb5e0cfcd]
[0xb5e0cfcd]
[0xb5e0cfcd]
[0xb5e0cfcd]
[0xb5e0d4a9]
[0xb5e0d4a9]
[0xb5e0cfcd]
[0xb5e0cda1]
[0xb5e0cfcd]
[0xb5e0cfcd]
[0xb5e0cfcd]
[0xb5e0cfcd]
[0xb5e0a2cc]
/usr/java/jdk1.6.0_10/jre/lib/i386/client/libjvm.so[0x621b03d]
/usr/java/jdk1.6.0_10/jre/lib/i386/client/libjvm.so[0x630f778]
/usr/java/jdk1.6.0_10/jre/lib/i386/client/libjvm.so[0x621a950]
/usr/java/jdk1.6.0_10/jre/lib/i386/client/libjvm.so[0x621a9dd]
/usr/java/jdk1.6.0_10/jre/lib/i386/client/libjvm.so[0x628b045]
/usr/java/jdk1.6.0_10/jre/lib/i386/client/libjvm.so[0x63a01bd]
/usr/java/jdk1.6.0_10/jre/lib/i386/client/libjvm.so[0x63108a9]
/lib/tls/i686/cmov/libpthread.so.0[0xb808650f]
/lib/tls/i686/cmov/libc.so.6(clone+0x5e)[0xb7ff57ee]
======= Memory map: ========
06000000-0642a000 r-xp 00000000 08:01 126234
/usr/java/jdk1.6.0_10/jre/lib/i386/client/libjvm.so
0642a000-06444000 rwxp 0042a000 08:01 126234
/usr/java/jdk1.6.0_10/jre/lib/i386/client/libjvm.so
06444000-06864000 rwxp 06444000 00:00 0
08048000-08052000 r-xp 00000000 08:01 148279 /usr/java/jdk1.6.0_10/bin/java
08052000-08053000 rwxp 00009000 08:01 148279 /usr/java/jdk1.6.0_10/bin/java
09b14000-09e4d000 rwxp 09b14000 00:00 0 [heap]
8bfd0000-8c0d0000 rwxp 8bfd0000 00:00 0
8c0d0000-8c4b0000 rwxp 8c0d0000 00:00 0
8c4b0000-8c8b0000 rwxp 8c4b0000 00:00 0
8c8b0000-8ffd0000 rwxp 8c8b0000 00:00 0
8ffd0000-90bd0000 rwxp 8ffd0000 00:00 0
90bd0000-93fd0000 rwxp 90bd0000 00:00 0
93fd0000-945c4000 r-xs 00001000 08:01 126754
/usr/java/jdk1.6.0_10/jre/lib/i386/client/classes.jsa
945c4000-947d0000 rwxp 945c4000 00:00 0
947d0000-94ede000 rwxp 005f5000 08:01 126754
/usr/java/jdk1.6.0_10/jre/lib/i386/client/classes.jsa
94ede000-953d0000 rwxp 94ede000 00:00 0
953d0000-954ac000 rwxp 00d03000 08:01 126754
/usr/java/jdk1.6.0_10/jre/lib/i386/client/classes.jsa
954ac000-957d0000 rwxp 954ac000 00:00 0
957d0000-957d4000 r-xs 00ddf000 08:01 126754
/usr/java/jdk1.6.0_10/jre/lib/i386/client/classes.jsa
957d4000-95bd0000 rwxp 957d4000 00:00 0
b5200000-b5221000 rwxp b5200000 00:00 0
b5221000-b5300000 ---p b5221000 00:00 0
b53e1000-b53ee000 r-xp 00000000 08:01 408862 /lib/libgcc_s.so.1
b53ee000-b53ef000 r-xp 0000c000 08:01 408862 /lib/libgcc_s.so.1
b53ef000-b53f0000 rwxp 0000d000 08:01 408862 /lib/libgcc_s.so.1
b53fe000-b5405000 rwxs 00000000 00:09 173080610 /SYSV00000000 (deleted)
b5405000-b5418000 r-xp 00000000 08:01 126281
/usr/java/jdk1.6.0_10/jre/lib/i386/libnet.so
b5418000-b5419000 rwxp 00013000 08:01 126281
/usr/java/jdk1.6.0_10/jre/lib/i386/libnet.so
b5419000-b541c000 ---p b5419000 00:00 0
b541c000-b546a000 rwxp b541c000 00:00 0
b546a000-b546d000 ---p b546a000 00:00 0
b546d000-b54bb000 rwxp b546d000 00:00 0
b54bb000-b54be000 ---p b54bb000 00:00 0
b54be000-b550c000 rwxp b54be000 00:00 0
b550c000-b5510000 r-xp 00000000 08:01 49144 /usr/lib/libXfixes.so.3.1.0
b5510000-b5511000 rwxp 00003000 08:01 49144 /usr/lib/libXfixes.so.3.1.0
b5511000-b5519000 r-xp 00000000 08:01 49164 /usr/lib/libXrender.so.1.3.0
b5519000-b551a000 r-xp 00007000 08:01 49164 /usr/lib/libXrender.so.1.3.0
b551a000-b551b000 rwxp 00008000 08:01 49164 /usr/lib/libXrender.so.1.3.0
b551b000-b5523000 r-xp 00000000 08:01 49134 /usr/lib/libXcursor.so.1.0.2
b5523000-b5524000 rwxp 00007000 08:01 49134 /usr/lib/libXcursor.so.1.0.2
b5524000-b5527000 ---p b5524000 00:00 0
b5527000-b5575000 rwxp b5527000 00:00 0
b5575000-b55f4000 r-xp 00000000 08:01 126302
/usr/java/jdk1.6.0_10/jre/lib/i386/libfontmanager.so
b55f4000-b55fe000 rwxp 0007e000 08:01 126302
/usr/java/jdk1.6.0_10/jre/lib/i386/libfontmanager.so
b55fe000-b5636000 rwxp b55fe000 00:00 0
b5636000-b57c6000 r-xs 02eed000 08:01 126757
/usr/java/jdk1.6.0_10/jre/lib/rt.jar
b57c6000-b57ca000 r-xp 00000000 08:01 49138 /usr/lib/libXdmcp.so.6.0.0
b57ca000-b57cb000 rwxp 00003000 08:01 49138 /usr/lib/libXdmcp.so.6.0.0
b57cb000-b57e2000 r-xp 00000000 08:01 65549 /usr/lib/libxcb.so.1.0.0
b57e2000-b57e3000 r-xp 00016000 08:01 65549 /usr/lib/libxcb.so.1.0.0
b57e3000-b57e4000 rwxp 00017000 08:01 65549 /usr/lib/libxcb.so.1.0.0
b57e4000-b57e5000 r-xp 00000000 08:01 65547 /usr/lib/libxcb-xlib.so.0.0.0
b57e5000-b57e6000 r-xp 00000000 08:01 65547 /usr/lib/libxcb-xlib.so.0.0.0
b57e6000-b57e7000 rwxp 00001000 08:01 65547 /usr/lib/libxcb-xlib.so.0.0.0
b57e7000-b57e9000 r-xp 00000000 08:01 49127 /usr/lib/libXau.so.6.0.0
b57e9000-b57ea000 rwxp 00001000 08:01 49127 /usr/lib/libXau.so.6.0.0
b57ea000-b57f2000 r-xp 00000000 08:01 4915Aborted