I remembered we'd never filed a bug on this.
I filed 6795060 and it should show up on bugs.sun.com in a couple of days
if not sooner.
-phil.
Patrick Wright wrote:
Thanks for the update, Phil. The actual glyph wasn't that important to
me--this came up when trying to render tables of glyphs for users
looking for glyph coverage in various fonts. It would be nice to see
it fixed, it's a particularly nasty crash, IMO.
Regards
Patrick
On Thu, Dec 4, 2008 at 7:46 PM, Phil Race <phil.r...@sun.com> wrote:
I reproduced this on JDK 1.6 update 10. The crash is in the ICU layout
library
which is the same in JDk7 and OpenJDk etc. Layout is invoked because this is
an Indic language (Sinhalese) character.
I'm not sure what's going on. I don't think its specific to Ubuntu, although
I didn't see a crash on anything other than Linux, nor do I think its
specific to any particular font. I think its in the Indic character
processing. I'll forward the test case to the ICU layout maintainer.
-phil.
Patrick Wright wrote:
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