JDK-4482430 : Unexpected exception from NativeFontWrapper.registerFonts(Native Method)
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 1.4.0,1.4.1
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS:
    windows_95,windows_98,windows_nt,windows_2000,windows_xp windows_95,windows_98,windows_nt,windows_2000,windows_xp
  • CPU: generic,x86
  • Submitted: 2001-07-20
  • Updated: 2004-07-02
  • Resolved: 2003-06-02
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
5.0 tigerFixed
Related Reports
Duplicate :  
Duplicate :  
Duplicate :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Description
.installUI(BasicTextUI.java:593)
	at
javax.swing.plaf.basic.BasicTextFieldUI.installUI(BasicTextFieldUI.java:58)
	at javax.swing.JComponent.setUI(JComponent.java:405)
	at javax.swing.text.JTextComponent.setUI(JTextComponent.java:268)
	at javax.swing.text.JTextComponent.updateUI(JTextComponent.java:278)
	at javax.swing.text.JTextComponent.<init>(JTextComponent.java:252)
	at javax.swing.JTextField.<init>(JTextField.java:214)
	at javax.swing.JPasswordField.<init>(JPasswordField.java:115)
	at javax.swing.JPasswordField.<init>(JPasswordField.java:85)
	at
com.sun.enterprise.security.PassphraseDialog.initbox(GUILoginDialog.java:162)
	at
com.sun.enterprise.security.PassphraseDialog.<init>(GUILoginDialog.java:151)
	at
com.sun.enterprise.security.GUILoginDialog.<init>(GUILoginDialog.java:50)
	at
com.sun.enterprise.security.auth.login.LoginCallbackHandler.handle(LoginCallback
Handler.java:49)
	at javax.security.auth.login.LoginContext$5.run(LoginContext.java:801)
	at java.security.AccessController.doPrivileged(Native Method)
	at
javax.security.auth.login.LoginContext$SecureCallbackHandler.handle(LoginContext
.java:797)
	at
com.sun.enterprise.security.auth.login.SharedPasswordLoginModule.login(SharedPas
swordLoginModule.java:111)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:30)
	at
sun.reflect.InflatableMethodAccessorImpl.invoke(InflatableMethodAccessorImpl.jav
a:48)
	at java.lang.reflect.Method.invoke(Method.java:306)
	at javax.security.auth.login.LoginContext.invoke(LoginContext.java:664)
	at
javax.security.auth.login.LoginContext.access$000(LoginContext.java:129)
	at javax.security.auth.login.LoginContext$4.run(LoginContext.java:599)
	at java.security.AccessController.doPrivileged(Native Method)
	at
javax.security.auth.login.LoginContext.invokeModule(LoginContext.java:596)
	at javax.security.auth.login.LoginContext.login(LoginContext.java:523)
	at
com.sun.enterprise.appclient.AppContainer.preInvoke(AppContainer.java:94)
	at com.sun.enterprise.appclient.Main.main(Main.java:144)

Dynamic libraries:
0x76AC0000 - 0x76ADD000 	C:\WINDOWS\SYSTEM\IMAGEHLP.DLL

Local Time = Tue Aug 14 10:41:37 2001
Elapsed Time = 90
#
# The exception above was detected in native code outside the VM
#
# Java VM: Java HotSpot(TM) Client VM (1.4.0-beta-b65 mixed mode)
#
(Review ID: 129964)
======================================================================

Name: rmT116609			Date: 08/17/2001


java version "1.4.0-beta"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta-b65)
Java HotSpot(TM) Client VM (build 1.4.0-beta-b65, mixed mode)

Following code compiled without problem, but crashes completely in execution:

code:

import java.awt.*;
import javax.swing.*;
import java.text.*;

class ComponentenVoorbeeld extends JFrame {

  JLabel lblTitel = new JLabel("Vaste tekst");

   JFormattedTextField tf = new JFormattedTextField("(###) ###-####");

  ComponentenVoorbeeld() {
    super("Enkele Swingcomponenten");
    Container c = getContentPane();
    c.setLayout(new FlowLayout());
    c.add(lblTitel);
    tf.setColumns(25);
    c.add(tf);

    setSize(300, 200);
    show();
  }

  public static void main(String[] args) {
    new ComponentenVoorbeeld();
  }
}



Errorlog:


An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x6D1E2AFB
Function=[Unknown.]
Library=C:\Program Files\JavaSoft\JRE\1.4\bin\fontmanager.dll

NOTE: We are unable to locate the function name symbol for the error
      just occurred. Please refer to release documentation for possible
      reason and solutions.


Current Java thread:
	at sun.awt.font.NativeFontWrapper.registerFonts(Native Method)
	- locked <06C984A0> (a java.lang.Class)
	at sun.java2d.SunGraphicsEnvironment.addPathFonts(Unknown Source)
	at sun.java2d.SunGraphicsEnvironment.registerFonts(Unknown Source)
	at sun.java2d.SunGraphicsEnvironment.access$100(Unknown Source)
	at sun.java2d.SunGraphicsEnvironment$2.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.java2d.SunGraphicsEnvironment.loadFonts(Unknown Source)
	- locked <02E1BD20> (a sun.awt.Win32GraphicsEnvironment)
	at sun.java2d.SunGraphicsEnvironment.mapFamilyName(Unknown Source)
	at java.awt.Font.initializeFont(Unknown Source)
	at java.awt.Font.<init>(Unknown Source)
	at sun.awt.windows.WDesktopProperties.setFontProperty(Unknown Source)
	- locked <02B88AD8> (a sun.awt.windows.WDesktopProperties)
	at sun.awt.windows.WDesktopProperties.getWindowsParameters(Native
Method)
	at sun.awt.windows.WDesktopProperties.<init>(Unknown Source)
	at sun.awt.windows.WToolkit.initializeDesktopProperties(Unknown Source)
	at java.awt.Toolkit.getDesktopProperty(Unknown Source)
	- locked <02E1AA88> (a sun.awt.windows.WToolkit)
	at javax.swing.plaf.basic.BasicDropTargetListener.<init>(Unknown Source)
	at javax.swing.plaf.basic.BasicTextUI$TextDropTargetListener.<init>
(Unknown Source)
	at javax.swing.plaf.basic.BasicTextUI.installDefaults(Unknown Source)
	at javax.swing.plaf.basic.BasicTextUI.installUI(Unknown Source)
	at javax.swing.plaf.basic.BasicTextFieldUI.installUI(Unknown Source)
	at javax.swing.JComponent.setUI(Unknown Source)
	at javax.swing.text.JTextComponent.setUI(Unknown Source)
	at javax.swing.text.JTextComponent.updateUI(Unknown Source)
	at javax.swing.text.JTextComponent.<init>(Unknown Source)
	at javax.swing.JTextField.<init>(Unknown Source)
	at javax.swing.JTextField.<init>(Unknown Source)
	at javax.swing.JFormattedTextField.<init>(Unknown Source)
	at javax.swing.JFormattedTextField.<init>(Unknown Source)
	at ComponentenVoorbeeld.<init>(ComponentenVoorbeeld.java:9)
	at ComponentenVoorbeeld.main(ComponentenVoorbeeld.java:24)

Dynamic libraries:
0x00400000 - 0x00405000 	C:\WINNT\system32\java.exe
0x77F60000 - 0x77FBE000 	C:\WINNT\System32\ntdll.dll
0x77DC0000 - 0x77DFF000 	C:\WINNT\system32\ADVAPI32.dll
0x77F00000 - 0x77F5E000 	C:\WINNT\system32\KERNEL32.dll
0x77E70000 - 0x77EC5000 	C:\WINNT\system32\USER32.dll
0x77ED0000 - 0x77EFC000 	C:\WINNT\system32\GDI32.dll
0x77E10000 - 0x77E67000 	C:\WINNT\system32\RPCRT4.dll
0x78000000 - 0x78046000 	C:\WINNT\system32\MSVCRT.dll
0x6D400000 - 0x6D503000 	C:\Program Files\JavaSoft\JRE\1.4
\bin\hotspot\jvm.dll
0x77FD0000 - 0x77FFA000 	C:\WINNT\system32\WINMM.dll
0x6BD00000 - 0x6BD0D000 	C:\WINNT\system32\sbpcint4.dll
0x77A90000 - 0x77A9B000 	C:\WINNT\system32\VERSION.dll
0x77C40000 - 0x77D7C000 	C:\WINNT\system32\SHELL32.dll
0x71700000 - 0x7178A000 	C:\WINNT\system32\COMCTL32.dll
0x779C0000 - 0x779C8000 	C:\WINNT\system32\LZ32.dll
0x10000000 - 0x10005000 	C:\WINNT\system32\sbENG32.dll
0x6D200000 - 0x6D207000 	C:\Program Files\JavaSoft\JRE\1.4\bin\hpi.dll
0x6D3D0000 - 0x6D3DD000 	C:\Program Files\JavaSoft\JRE\1.4\bin\verify.dll
0x6D240000 - 0x6D255000 	C:\Program Files\JavaSoft\JRE\1.4\bin\java.dll
0x6D3F0000 - 0x6D3FD000 	C:\Program Files\JavaSoft\JRE\1.4\bin\zip.dll
0x6D010000 - 0x6D0FB000 	C:\Program Files\JavaSoft\JRE\1.4\bin\awt.dll
0x77C00000 - 0x77C18000 	C:\WINNT\system32\WINSPOOL.DRV
0x76AB0000 - 0x76AB5000 	C:\WINNT\system32\IMM32.dll
0x77B20000 - 0x77BD7000 	C:\WINNT\system32\ole32.dll
0x6D1B0000 - 0x6D1FF000 	C:\Program Files\JavaSoft\JRE\1.4
\bin\fontmanager.dll
0x6D350000 - 0x6D357000 	C:\Program Files\JavaSoft\JRE\1.4\bin\nio.dll
0x776B0000 - 0x776C4000 	C:\WINNT\system32\WS2_32.dll
0x776A0000 - 0x776A7000 	C:\WINNT\system32\WS2HELP.dll
0x6D340000 - 0x6D34E000 	C:\Program Files\JavaSoft\JRE\1.4\bin\net.dll
0x776D0000 - 0x776D8000 	C:\WINNT\system32\WSOCK32.dll
0x74FF0000 - 0x74FFE000 	C:\WINNT\System32\rnr20.dll
0x76AC0000 - 0x76ADD000 	C:\WINNT\system32\imagehlp.dll
0x73A10000 - 0x73A22000 	C:\WINNT\system32\PSAPI.DLL

Local Time = Thu Aug 16 08:56:23 2001
Elapsed Time = 0
#
# The exception above was detected in native code outside the VM
#
# Java VM: Java HotSpot(TM) Client VM (1.4.0-beta-b65 mixed mode)
#



1)Exact steps to reproduce the problem.

It happens when running the application. even before anything appears on the
screen.

2)System Configuration on which the problem is reproducible.

BOOKSHELF=C:\SQLLIB\BOOK
classpath=C:\IBMCON~1\CICS\Classes\CTGCLI~1.JAR;
ComSpec=C:\WINNT\system32\cmd.exe
Include=C:\IBMCON~1\CICS\Include;C:\IBMCON~1\CICS\Samples\Include;C:\SQLLIBINCL
UDE
Lib=C:\IBMCON~1\CICS\Lib;C:\SQLLIB\LIB
NLSPATH=C:\IBM Connectors\Encina\%L\%N
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
Os2LibPath=C:\WINNT\system32\os2\dll;
Path=C:\WINNT\MS\SMS\CORE\BIN;C:\WINNT\MS\SMS\CORE\BIN;C:\IBM
Connectors\Encinabin;;C:\IBMCON~1\CICS\BIN;C:\Program
Files\Reflection;C:\PROGRA~1\REFLEC~1;C:\Pr
ogram
Files\Reflection;C:\WINNT\system32;C:\WINNT;C:\ZZORANT\BIN;C:\ORANT\BIN;;C
:\WIN32APP\TOOLKIT;C:\SQLLIB\BIN;C:\SQLLIB\FUNCTION;C:\WINNT\System32\WBEM;C
:\IM
Nnq_NT
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 8 Stepping 6, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=0806
PROMPT=$P$G
SMS_LOCAL_DIR=C:\WINNT
SystemDrive=C:
SystemRoot=C:\WINNT
TEMP=C:\TEMP
TMP=C:\TEMP
windir=C:\WINNT

windows = NT 4.0 Service Pack 6



3)Any other additonal information that will aid us in reproducing the
problem.

I got the error some times again today. Hereby I include all the error logs
and the .java that caused the 2 last crashes.
ps: sometimes even the Java2D demo gives sometimes the same kind of error
(hs_err_pid240.log), other times this demo works perfectly.

IBM VisualAge is also installed on the machine.
(Review ID: 130117)
======================================================================

Name: rmT116609			Date: 11/13/2001


java version "1.4.0-beta3"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta3-b84)
Java HotSpot(TM) Client VM (build 1.4.0-beta3-b84, mixed mode)

VM crashed when I closed an IE 6.0 window having shown the java.sun.com site. It seems that this is very similar to the situation I encountered when trying to run SwingSet2 in the previous releases of J2SE 1.4 beta. At that time, I used Windows 2000 and upgraded to Windows XP recently.

I can't reproduce this problem. But some pecuriarity in my system is that I
have some Korean TTFs installed in my system.


(Review ID: 135535)
======================================================================

I have attached further evidence from a pogo.com user.

###@###.### 2001-12-20
======================================================================


Name: rmT116609			Date: 03/04/2002


FULL OPERATING SYSTEM VERSION :
Microsoft Windows XP [Version 5.1.2600]

EXTRA RELEVANT SYSTEM CONFIGURATION :
- AMD Duron 1300
- ASUS A7V133C
- 512 MB SDRAM
- Realtek RTL8139 Ethernet Adapter

A DESCRIPTION OF THE PROBLEM :
Compiling and running the example code crashes the VM.

If the line marked with <--#### is commented out, no
crash occurs.

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1.Compile and run sent application

---------- BEGIN SOURCE ----------

import java.awt.*;
import java.io.*;
import javax.swing.*;
import javax.swing.text.*;

public class JEditorPaneHTMLTest extends JFrame {

  public JEditorPaneHTMLTest(){
    super( "JEditorPaneHTML" );

    JEditorPane editorPane;

    try {
      editorPane = new JEditorPane( "http://www.amazon.de" );
    }
    catch( IOException ex ) {
      editorPane = new JEditorPane( "text/html","<html><body><h1>IO-Error</h1></body></html>" );
    }
    JScrollPane scroller = new JScrollPane( editorPane );
    getContentPane().add( scroller );

    getContentPane().add( new JButton( "Ok" ), BorderLayout.SOUTH ); // <--####
    setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
    pack();
  }

  public static void main(String args[]) {
    JEditorPaneHTMLTest frame = new JEditorPaneHTMLTest();
    frame.setVisible( true );
  }
}

---------- END SOURCE ----------

(Review ID: 143641)
======================================================================
Name: bsC130419			Date: 07/20/2001


description : java version "1.4.0-beta"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta-b65)
Java HotSpot(TM) Client VM (build 1.4.0-beta-b65, mixed mode)


I am pasting the log file created by the HotSpot VM in here:

// ------------------------------------------------------------

An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x6D1E2AFB
Function=[Unknown.]
Library=(N/A)

NOTE: We are unable to locate the function name symbol for the error
      just occurred. Please refer to release documentation for possible
      reason and solutions.


Current Java thread:
	at sun.awt.font.NativeFontWrapper.registerFonts(Native Method)
	- locked <0698FDC8> (a java.lang.Class)
	at sun.java2d.SunGraphicsEnvironment.addPathFonts
(SunGraphicsEnvironment.java:575)
	at sun.java2d.SunGraphicsEnvironment.registerFonts
(SunGraphicsEnvironment.java:480)
	at sun.java2d.SunGraphicsEnvironment.access$100
(SunGraphicsEnvironment.java:54)
	at sun.java2d.SunGraphicsEnvironment$2.run
(SunGraphicsEnvironment.java:157)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.java2d.SunGraphicsEnvironment.loadFonts
(SunGraphicsEnvironment.java:136)
	- locked <02AE3ED8> (a sun.awt.Win32GraphicsEnvironment)
	at sun.java2d.SunGraphicsEnvironment.mapFamilyName
(SunGraphicsEnvironment.java:326)
	at java.awt.Font.initializeFont(Font.java:278)
	at java.awt.Font.<init>(Font.java:310)
	at sun.awt.windows.WDesktopProperties.setFontProperty
(WDesktopProperties.java:151)
	- locked <02828510> (a sun.awt.windows.WDesktopProperties)
	at sun.awt.windows.WDesktopProperties.getWindowsParameters(Native
Method)
	at sun.awt.windows.WDesktopProperties.<init>(WDesktopProperties.java:59)
	at sun.awt.windows.WToolkit.initializeDesktopProperties
(WToolkit.java:832)
	at java.awt.Toolkit.getDesktopProperty(Toolkit.java:1531)
	- locked <02AE2938> (a sun.awt.windows.WToolkit)
	at javax.swing.plaf.basic.BasicDropTargetListener.<init>
(BasicDropTargetListener.java:60)
	at javax.swing.plaf.basic.BasicTableUI$TableDropTargetListener.<init>
(BasicTableUI.java:1117)
	at javax.swing.plaf.basic.BasicTableUI.installDefaults
(BasicTableUI.java:658)
	at javax.swing.plaf.basic.BasicTableUI.installUI(BasicTableUI.java:609)
	at javax.swing.JComponent.setUI(JComponent.java:405)
	at javax.swing.JTable.setUI(JTable.java:2565)
	at javax.swing.JTable.updateUI(JTable.java:2616)
	at javax.swing.JTable.<init>(JTable.java:361)
	at javax.swing.JTable.<init>(JTable.java:298)
	at siph.setupGUI(siph.java:55)
	at siph.<init>(siph.java:26)
	at siph.main(siph.java:90)

Dynamic libraries:
0x7D750000 - 0x7D76D000 	C:\WINDOWS\SYSTEM\IMAGEHLP.DLL

Local Time = Wed Jul 18 20:24:45 2001
Elapsed Time = 3
#
# The exception above was detected in native code outside the VM
#
# Java VM: Java HotSpot(TM) Client VM (1.4.0-beta-b65 mixed mode)
#

// ------------------------------------------------------------

The following code seems to produce the problem every once in awhile (not
consistently reproducible).  The code consists of five main classes (3 files):
siph.java, IrcUser.java, SiphUser.java.  The main class is siph which has the
main method.  The exception is being thrown during the siph.setupGUI() method.
I do not believe the other files are causing any problems as they are just data
structures.

I am using Windows 98 Second Edition.  I am using the -hotspot option on the
Java executable.  I have not seen this problem with JDK 1.3.1.  However,
occasionally I was seeing the application crash the entire Windows operating
system (app freezes with no GUI updates, have to manually kill the Java.exe
task, causing blue screens of death and forcing a reboot of the system).  I do
not know if this was "fixed" in the JVM and the above problem is something new,
or if the JVM is now more robust and is catching these native exceptions...

siph.java:
// --------------------------------------------------------------

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;

public class siph extends JFrame
{
  // This SIPH User
  SiphUser User = null;

  // ---------------------------------------------------------------------//
  // GUI components                                                       //
  // ---------------------------------------------------------------------//
  JLabel label1 = new JLabel("Test Label");
  javax.swing.JTable table = null;
  SIPHTableModel model = null;
  JScrollPane TableScroll = null;
  // ---------------------------------------------------------------------//

  public siph(String Title)
  {
    super(Title);

    User = new SiphUser(null, "Unknown", "", false, "Unknown");

    setupGUI();

    // -------------------------------------------------------------------//
    // call closeWindow() upon getting a window close event
    // -------------------------------------------------------------------//
    this.addWindowListener(new WindowAdapter()
      {
        public void windowClosing(WindowEvent e)
        {
          closeWindow();
        }
      });
    // -------------------------------------------------------------------//

    this.show();
  }

  /**
   * This method sets up the GUI (menus, table, scroll pane)
   */
  void setupGUI()
  {

    // -------------------------------------------------------------------//
    // set up table model, table and the scroll pane
    // -------------------------------------------------------------------//
    model = new SIPHTableModel(User, new Vector());
    table = new javax.swing.JTable(model);
    table.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_ALL_COLUMNS);
    for(int loop = 0; loop < table.getColumnCount(); loop++)
    {
      table.setDefaultRenderer(table.getColumnClass(loop),
        new SIPHTableRenderer());
    }

    TableScroll = new javax.swing.JScrollPane(table);
    // -------------------------------------------------------------------//

    // -------------------------------------------------------------------//
    // main window and content pane setting up
    // -------------------------------------------------------------------//

    this.setSize(250, 200);

    this.getContentPane().setLayout(new java.awt.BorderLayout());

    this.getContentPane().add(label1, BorderLayout.NORTH);
    this.getContentPane().add(TableScroll, java.awt.BorderLayout.CENTER);
    // -------------------------------------------------------------------//
  }

  public void closeWindow()
  {
    this.dispose();
    System.exit(0);
  }

  // ---------------------------------------------------------------------//
  // the main method                                                      //
  // ---------------------------------------------------------------------//
  public static void main(String[] args)
  {
    siph app = new siph("JDK 1.4 Bugs");
  }
  // ---------------------------------------------------------------------//

  // ---------------------------------------------------------------------//
  // Class SIPHTableModel                                                 //
  // ---------------------------------------------------------------------//
  class SIPHTableModel extends javax.swing.table.AbstractTableModel
  {
    SiphUser[] People = new SiphUser[0];

    public int getRowCount() {return People.length;}
    public int getColumnCount() {return 2;}

    public SIPHTableModel(SiphUser user, java.util.Vector BuddyList)
    {
      updateBuddyList(user, BuddyList);
    }

    public void updateBuddyList(SiphUser user, java.util.Vector BuddyList)
    {
      People = new SiphUser[BuddyList.size() + 1];
      People[0] = user;
      for(int loop = 0; loop < BuddyList.size(); loop++)
        People[loop+1] = (SiphUser)BuddyList.get(loop);
    }

    public String getColumnName(int column)
    {
      switch(column)
      {
        case 0:
          return "Col 1";
        case 1:
          return "Col 2";
        default:
          return "Error!  Unknown column!";
      }
    }

    public Object getValueAt(int row, int column)
    {
      switch(column)
      {
        case 0:
          if(row == 0)
            return People[0].SNN;
          else
            return People[row].SNN;
        case 1:
          if(People[row].IPString != null)
            return People[row].IPString;
          else
            return "Unknown";
        default:
          return null;
      } // switch(column)
    }

  }
  // ---------------------------------------------------------------------//
  // End of Class SIPHTableModel                                          //
  // ---------------------------------------------------------------------//


  // ---------------------------------------------------------------------//
  // Class SIPHTableRenderer                                              //
  // ---------------------------------------------------------------------//
  class SIPHTableRenderer extends javax.swing.table.DefaultTableCellRenderer
  {
    private java.awt.Font PLAINFONT = new java.awt.Font("Arial",
        java.awt.Font.PLAIN, 12);
    private java.awt.Font BOLDFONT = new java.awt.Font("Arial",
        java.awt.Font.BOLD, 12);
    private java.awt.Font ITALICFONT = new java.awt.Font("Arial",
        java.awt.Font.ITALIC, 12);

    public SIPHTableRenderer()
    {
    }

    public java.awt.Component getTableCellRendererComponent(
                                  javax.swing.JTable table,
                                  Object value,
                                  boolean isSelected,
                                  boolean hasFocus,
                                  int row,
                                  int column)
    {
      String val = value.toString();

      this.setValue(val);

      if (isSelected)
      {
        this.setBackground(table.getSelectionBackground());
      }
      else
      {
        this.setBackground(table.getBackground());
      }

      this.setForeground(java.awt.Color.black);
      this.setFont(BOLDFONT);

      return this;
    }

  }
  // ---------------------------------------------------------------------//
  // End of Class SIPHTableRenderer                                       //
  // ---------------------------------------------------------------------//

}
// --------------------------------------------------------------


IrcUser.java:
// --------------------------------------------------------------

public class IrcUser
{
  public String Password = "";
  public String Nickname = "";
  public String Username = "";
  public String Domainname = "";
  public String Fullname = "";

  public IrcUser()
  {
  }

  public IrcUser(String password, String nickname, String username,
      String domainname, String fullname)
  {
    Password = password;
    Nickname = nickname;
    Username = username;
    Domainname = domainname;
    Fullname = fullname;
  }
}
// --------------------------------------------------------------

SiphUser.java:
// --------------------------------------------------------------

class SiphUser extends IrcUser
{
  public String SNN = ""; // 8-20 character string (SIPH NickName)
  public String SLC = ""; // 64 character string (SIPH Long Code)
  public boolean OP = false; // flag for determining OP
  public String IPString = null; // IP address string

  public SiphUser(String password, String nickname, String username,
    String domainname, String fullname, String snn, String slc, boolean op,
    String ipstring)
  {
    super(password, nickname, username, domainname, fullname);

    SNN = snn;
    SLC = slc;
    OP = op;
    IPString = ipstring;
    if(IPString == null)
    {
      IPString = "Unknown";
    }
  }

  public SiphUser(String nickname, String snn, String slc,
      boolean op, String ipstring)
  {
    Password = "SIPHPASSWORD";

    Nickname = nickname;

    Username = "SIPHUSER";
    Domainname = "";
    Fullname = "Sy Phillis";

    SNN = snn;
    SLC = slc;
    OP = op;
    IPString = ipstring;
    if(IPString == null)
    {
      IPString = "UNKNOWN";
    }
  }
}
// --------------------------------------------------------------


Jeff Schiller
###@###.###
(Review ID: 128386) 
======================================================================

Name: krC82822			Date: 08/15/2001


C:\JAVA\j2eetutorial\examples\src\ejb\converter>java -version
java version "1.4.0-beta"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta-b65)
Java HotSpot(TM) Client VM (build 1.4.0-beta-b65, mixed mode)

I tried running the client of the Converter EJB demo from the J2EE tutorial.

The command-line I used is:

C:\JAVA\j2eetutorial\examples\src\ejb\converter>runclient -client ConverterApp.e
ar -name ConverterClient

EARs, JAR, WARs etc built according to tutorial.

This crashed the JVM, although on a 2nd try it was successful in opening the
loginwindow, so the problem is not 100% reproducible.

The text from the crashlog-file:

An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x6D1E2AFB
Function=[Unknown.]
Library=(N/A)

NOTE: We are unable to locate the function name symbol for the error
      just occurred. Please refer to release documentation for possible
      reason and solutions.

Current Java thread:
	at sun.awt.font.NativeFontWrapper.registerFonts(Native Method)
	- locked <0AE10AA0> (a java.lang.Class)
	at
sun.java2d.SunGraphicsEnvironment.addPathFonts(SunGraphicsEnvironment.java:575)
	at
sun.java2d.SunGraphicsEnvironment.registerFonts(SunGraphicsEnvironment.java:480)
	at
sun.java2d.SunGraphicsEnvironment.access$100(SunGraphicsEnvironment.java:54)
	at
sun.java2d.SunGraphicsEnvironment$2.run(SunGraphicsEnvironment.java:157)
	at java.security.AccessController.doPrivileged(Native Method)
	at
sun.java2d.SunGraphicsEnvironment.loadFonts(SunGraphicsEnvironment.java:136)
	- locked <02B526A0> (a sun.awt.Win32GraphicsEnvironment)
	at
sun.java2d.SunGraphicsEnvironment.mapFamilyName(SunGraphicsEnvironment.java:326)
	at java.awt.Font.initializeFont(Font.java:278)
	at java.awt.Font.<init>(Font.java:310)
	at
sun.awt.windows.WDesktopProperties.setFontProperty(WDesktopProperties.java:151)
	- locked <0284B140> (a sun.awt.windows.WDesktopProperties)
	at sun.awt.windows.WDesktopProperties.getWindowsParameters(Native
Method)
	at sun.awt.windows.WDesktopProperties.<init>(WDesktopProperties.java:59)
	at
sun.awt.windows.WToolkit.initializeDesktopProperties(WToolkit.java:832)
	at java.awt.Toolkit.getDesktopProperty(Toolkit.java:1531)
	- locked <02B67A70> (a sun.awt.windows.WToolkit)
	at
javax.swing.plaf.basic.BasicDropTargetListener.<init>(BasicDropTargetListener.ja
va:60)
	at
javax.swing.plaf.basic.BasicTextUI$TextDropTargetListener.<init>(BasicTextUI.jav
a:1902)
	at
javax.swing.plaf.basic.BasicTextUI.installDefaults(BasicTextUI.java:286)
	at javax.swing.plaf.basic.BasicTextUI

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: tiger FIXED IN: tiger INTEGRATED IN: tiger tiger-b08
28-09-2004

WORK AROUND Name: bsC130419 Date: 07/20/2001 Re-run the application and cross your fingers. ======================================================================
28-09-2004

EVALUATION Transferring over to 2D team (NativeFontWrapper). michael.martak@Eng 2001-07-20 ============================== This is not a single bug. JDK 1.4.2 will plug a number of holes, but undoubtedly not all, so we will hold this bug open until we are satisfied that enough of the cases are fixed that the remainder can be addressed under specific bug ids. Anyone seeing a bug like this is encouraged to update this bug on the JDC with contact information so that we can see if it is a new case. The following specific bugs will be addressed in 1.4.2: 4514102: Installing certain fonts with bad data, will crash VM. 4599491: Assertion failed: pos <= t->maxPos in sun/awt/font/t2k/t2kstrm.c 4755210: RFE: JRE win32 install time support for identifying bad fonts. 4755211: Java2D font scaler has memory alignment bug in TrueType hinting code. 4755212: Java2D rasteriser has problems with some TT fonts. 4762039: EXCEPTION_ACCESS_VIOLATION in Fontmanager.dll 4772892: Java2D: bad TrueType font data can crash Java font scaler. 4755210 is new win32 install time functionality which will identify some of the problem fonts up-front. It is not yet certain to make it into the 1.4.2 release. ###@###.### 2002-09-29 ============================= 4670227: headline/noWarningApps test cause jvm to crash is a bug that is fixed in JDK 1.4.1. It addresses one specific hole where a bad cmap in the font could cause us to crash in some circumstances. ###@###.### 2002-10-03 ============================ 4593165: Assertion failed message when corrupt font file encountered isn't expected to be fixed in 1.4.2 (it was not assigned to the right group until too late in the release). However all the other problems known as of 1st November 2002 should be fixed in 1.4.2 beta. ###@###.### 2002-11-01 ============================ As noted, this bug is many bugs. 1.4.2 has fixed all but a single known case. 1.5 has eliminated that last remaining known vulnerability of 4593165 when simply opening a font to get its name etc. As such I am marking 4482430 fixed in 1.5. (And probably should also mark it fixed in 1.4.2 also). All new reports of similar bugs need to be verified first against 1.4.2 and then if still reproducible and different than 4593165, should be submitted as a new bug report together with a reproducible test case, or contact information. ###@###.### 2003-04-28 ============================ Removing "comimt to fix" for this bug against 1.4.2_06 as various bugs mentioned here are fixed in 1.4.2_05 or it's predecessors. Please track status on individual bug basis, rather than collectively here against this bug 4482430 ###@###.### 2004-07-01
01-07-2004