-
Bug
-
Resolution: Cannot Reproduce
-
P4
-
None
-
1.1.2
-
generic
-
generic
VM teminates when Graphics.drawstring() displays Character 0x00b7 on Japanese Win32 due to general access violation error.
If helvetica, timesroman or courier is set to draw character 0x00b7.
Characters higher than 0x0100 experience the same.
The synopsis does not apply to Windows 95 for English.
(It'll cause a similar problem without setting font to either
helvetica, timesroman or courier if font.properties.ja is missing.)
See example code to reproduce below:
import java.awt.*;
public class Graph extends Frame {
public void paint(Graphics gc){
String str = "\u00b7";
Font font = new Font("helvetica", Font.PLAIN, 20);
gc.setColor(Color.black);
gc.setFont(font);
gc.drawString(str, 100, 100);
System.out.println("paint!");
}
public static void main(String args[]) {
Graph me = new Graph();
me.pack();
me.setBounds(100,100,400,400);
me.setVisible(true);
}
}
JAVA
Ó¼Þ°Ù : GDI.EXE : 0025:000019e0
Registers:
EAX=000000db CS=054f EIP=000019e0 EFLGS=00000246
EBX=00000006 SS=2b1f ESP=00008c1e EBP=00008c24
ECX=80000000 DS=05f7 ESI=00008c66 FS=0d7e
EDX=00dc2126 ES=2126 EDI=00000200 GS=1836
Bytes at CS:EIP:
f2 67 af 75 39 b8 ff 00 2b c1 eb 4a 66 8b df 66
Stack dump:
00008c66 8c44009a 00db199e 00000000 00002126 00012b1f 0d7e10ba 05f7ca24 00000000 8c9a2126 054f12ee 00100001 2b1f8c64 00000001 10ba0d7e 00001836
shoji.ishida@Japan 1998-02-25
If helvetica, timesroman or courier is set to draw character 0x00b7.
Characters higher than 0x0100 experience the same.
The synopsis does not apply to Windows 95 for English.
(It'll cause a similar problem without setting font to either
helvetica, timesroman or courier if font.properties.ja is missing.)
See example code to reproduce below:
import java.awt.*;
public class Graph extends Frame {
public void paint(Graphics gc){
String str = "\u00b7";
Font font = new Font("helvetica", Font.PLAIN, 20);
gc.setColor(Color.black);
gc.setFont(font);
gc.drawString(str, 100, 100);
System.out.println("paint!");
}
public static void main(String args[]) {
Graph me = new Graph();
me.pack();
me.setBounds(100,100,400,400);
me.setVisible(true);
}
}
JAVA
Ó¼Þ°Ù : GDI.EXE : 0025:000019e0
Registers:
EAX=000000db CS=054f EIP=000019e0 EFLGS=00000246
EBX=00000006 SS=2b1f ESP=00008c1e EBP=00008c24
ECX=80000000 DS=05f7 ESI=00008c66 FS=0d7e
EDX=00dc2126 ES=2126 EDI=00000200 GS=1836
Bytes at CS:EIP:
f2 67 af 75 39 b8 ff 00 2b c1 eb 4a 66 8b df 66
Stack dump:
00008c66 8c44009a 00db199e 00000000 00002126 00012b1f 0d7e10ba 05f7ca24 00000000 8c9a2126 054f12ee 00100001 2b1f8c64 00000001 10ba0d7e 00001836
shoji.ishida@Japan 1998-02-25