[OpenJDK 2D-Dev] JVM Crash: printing character \u0DDD in Swing app

Phil Race Phil.Race at Sun.COM
Fri Jan 16 23:39:59 UTC 2009


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.Race at 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
>>>



More information about the 2d-dev mailing list