-
Bug
-
Resolution: Won't Fix
-
P4
-
None
-
1.3.0
-
x86
-
generic
Name: jbT81659 Date: 09/05/2000
OS: Win95 Arabic enabled
JDK: jdk1.4.0-b30
JVM crashes and fails to display any application under Win95 Arabic enabled platform.
The following error message was displayed after compiling the application
jButton.java succesfully, and trying to execute it (java jButton):
-------Error Message-----------
H:\Kestrel\JDK1.3>java -version
"java version "1.4.0beta
)Standard Edition (build 1.4.0beta-b30 ,Java(TM) 2 Runtime Environment
)mixed mode ,Java HotSpot(TM) Client VM (build B22
H:\Kestrel\JDK1.3>javac jButton.java
H:\Kestrel\JDK1.3>java jButton
Font used in Button1 is Dialog
Font used in Button2 is Dialog
Font used in Button3 is Dialog
Font used in Button4 is Dialog
Font used in Button5 is Dialog
Font used in Button6 is Dialog
Font used in Button7 is Dialog
Font used in Button8 is Dialog
Font used in Button9 is Dialog
Font used in Button10 is Dialog
Font used in Button11 is Dialog
Font used in Button12 is Dialog
An EXCEPTION_ACCESS_VIOLATION exception has been detected in native code out # #
side the VM.# Program counter=0x50056ee6
#
Problematic Thread: prio=7 tid=0x6c93e0 nid=0xfffecc0d runnable #
#
>H:\Kestrel\JDK1.3
--------------
Pressing the "DETAILS" button in the "crash dialog message" that is displayed
after JVM crash, the following details are given:
---------------
JAVA caused an invalid page fault inJAVA caused an invalid page fault in
module AWT.DLL at 014f:50056ee6.
Registers:
EAX=00000000 CS=014f EIP=50056ee6 EFLGS=00010246
EBX=00000000 SS=0157 ESP=0057f508 EBP=0057f5ec
ECX=00000000 DS=0157 ESI=06a9f288 FS=29df
EDX=0057f514 ES=0157 EDI=0057f580 GS=0000
Bytes at CS:EIP:
8b 00 52 50 8b 08 ff 51 30 6a 08 8d b5 70 ff ff
Stack dump:
006a1ee0 06a9f288 06a9f250 0000006c 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
---------------
To reproduce bug:
1- Compile the following code jButton.java under windows95 Arabic Enabled
2- Note that compilation produces no errors or warnings
3- Do java jButton
4- Note that an error message has been displayed(as described above) and application halted.
5- Do the same procedure under any other Win95 Configuration (English or Hebrew)
6- Note that application run normally
-------Code------------
/* Copyright (c) Sun Microsystems 1998
$Header: /home/sun/src/JDK1.2/jButton.java,v 1.22 2000/03/30 08:13:08 isam Exp $
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class jButton extends JApplet
{
public void init()
{
jButton1 button = new jButton1();
getContentPane().add(button);
}
public static void main(String[] argv)
{
JFrame frame = new JFrame("\u0645\u062b\u0627\u0644");
frame.setContentPane(new jButton1());
frame.pack();
frame.setVisible(true);
frame.addWindowListener( new WindowAdapter()
{
public void windowClosing( WindowEvent e)
{
System.exit(0);
}
});
}
}
class jButton1 extends JPanel
{
JButton Button1;
JButton Button2;
JButton Button3;
JButton Button4;
JButton Button5;
JButton Button6;
JButton Button7;
JButton Button8;
JButton Button9;
JButton Button10;
JButton Button11;
JButton Button12;
JButton Button13;
JButton Button14;
public jButton1()
{
this.setLayout(new GridLayout(15,1));
Button1= new JButton("\u062c\u0627\u0641\u0627\u0020\u062a\u062a\u0643\u0644\u0645\u0020\u0627\u0644\u0639\u0631\u0628\u064a\u0629");
String f1 = Button1.getFont().getName();
System.out.println("Font used in Button1 is "+ f1 );
Button1.setFont(new Font("Lucida Sans Regular",Font.PLAIN,16));
add(Button1);
Button2 = new JButton("\u05d2\u05f3\u05d0\u05d5\u05d5\u05d4\u0020\u05de\u05d3\u05d1\u05e8\u05ea\u0020\u05e2\u05d1\u05e8\u05d9\u05ea");
String f2 = Button2.getFont().getName();
System.out.println("Font used in Button2 is "+ f2 );
Button2.setFont(new Font("Lucida Sans Regular",Font.PLAIN,16));
add(Button2);
Button3 = new JButton("\u05d6\u05d5\u0020\u05e9\u05e0\u05d4\u0020\u05d9\u05e4\u05d4");
String f3 = Button3.getFont().getName();
System.out.println("Font used in Button3 is "+ f3 );
Button3.setFont(new Font("Lucida Sans Regular",Font.PLAIN,16));
add(Button3);
Button4 = new JButton("\u05ea\u05e4\u05d5\u05d6\u05d9\u05dd\u0020\u05d8\u05e2\u05de\u05d9\u05dd\u0020\u006c\u0069\u006d\u0065\u0020\u0069\u0073\u0020\u0067\u0072\u0065\u0065\u006e");
String f4 = Button4.getFont().getName();
System.out.println("Font used in Button4 is "+ f4 );
Button4.setFont(new Font("Lucida Sans Regular",Font.PLAIN,28));
add(Button4);
Button5 = new JButton("\u006c\u0069\u006d\u0065\u0020\u0069\u0073\u0020\u0067\u0072\u0065\u0065\u006e\u05d7\u05d5\u05de\u05d5\u05e1\u0020\u05d9\u05e7\u05e8");
String f5 = Button5.getFont().getName();
System.out.println("Font used in Button5 is "+ f5 );
Button5.setFont(new Font("Lucida Sans Regular",Font.PLAIN,18));
add(Button5);
Button6 = new JButton("\u006c\u0069\u006d\u0065\u0020\u05d7\u05d5\u05de\u05d5\u05e1\u0020\u05d9\u05e7\u05e8\u0069\u0073\u0020\u0067\u0072\u0065\u0065\u006e");
String f6 = Button6.getFont().getName();
System.out.println("Font used in Button6 is "+ f6 );
Button6.setFont(new Font("Lucida Sans Regular",Font.PLAIN,18));
add(Button6);
Button7 = new JButton("\u05d7\u05d5\u05de\u05d5\u05e1\u0020\u006c\u0069\u006d\u0065\u0020\u0069\u0073\u0020\u0067\u0072\u0065\u0065\u006e\u0020\u05d9\u05e7\u05e8");
String f7 = Button7.getFont().getName();
System.out.println("Font used in Button7 is "+ f7 );
Button7.setFont(new Font("Lucida Sans Regular",Font.PLAIN,18));
add(Button7);
Button8 = new JButton("\u062a\u0641\u0627\u062d\u0020\u0623\u062d\u0645\u0631\u0020\u0643\u0628\u064a\u0631");
String f8 = Button8.getFont().getName();
System.out.println("Font used in Button8 is "+ f8 );
Button8.setFont(new Font("Lucida Sans Regular",Font.PLAIN,18));
add(Button8);
Button9 = new JButton("\u0648\u0644\u062f\u0020\u0635\u063a\u064a\u0631\u0020\u006c\u0069\u006d\u0065\u0020\u0069\u0073\u0020\u0067\u0072\u0065\u0065\u006e\u0020\u0648\u062c\u0645\u064a\u0644");
String f9 = Button9.getFont().getName();
System.out.println("Font used in Button9 is "+ f9 );
Button9.setFont(new Font("Lucida Sans Regular",Font.PLAIN,18));
add(Button9);
Button10 = new JButton("\u0647\u0630\u0627\u0020\u05d6\u05d4\u0020\u05d9\u05d5\u05dd\u0020\u05e0\u05e2\u05d9\u05dd\u0020\u064a\u0648\u0645\u0020\u0644\u0637\u064a\u0641");
String f10 = Button10.getFont().getName();
System.out.println("Font used in Button10 is "+ f10 );
Button10.setFont(new Font("Lucida Sans Regular",Font.PLAIN,18));
add(Button10);
Button11 = new JButton("\u0647\u0630\u0647\u0020\u0633\u0646\u0629\u0020\u0661\u0669\u0665\u0668\u0020\u0031\u0039\u0035\u0038");
String f11 = Button11.getFont().getName();
System.out.println("Font used in Button11 is "+ f11 );
Button11.setFont(new Font("Lucida Sans Regular",Font.PLAIN,18));
add(Button11);
Button12 = new JButton("\u05d6\u05d4\u0020\u05d9\u05d5\u05dd\u0020\u0648\u0644\u062f\u0020\u0635\u063a\u064a\u0631\u0020\u0648\u062c\u0645\u064a\u0644\u0020\u05e0\u05e2\u05d9\u05dd");
String f12 = Button12.getFont().getName();
System.out.println("Font used in Button12 is "+ f12 );
Button12.setFont(new Font("Lucida Sans Regular",Font.PLAIN,18));
add(Button12);
}
}
WorkAround:
======================================================================