JDK-4200425 : JAVAW caused an invalid page fault in module AWT.DLL
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 1.2.0,1.2.1,1.2.2
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows_95,windows_nt
  • CPU: x86
  • Submitted: 1999-01-04
  • Updated: 1999-09-10
  • Resolved: 1999-09-10
Related Reports
Duplicate :  
Duplicate :  
Description

Name: dbT83986			Date: 01/04/99


This happens irregularly, so I don't have extra information, but I thought
the trace data may be of interest to you.

JAVAW caused an invalid page fault in
module AWT.DLL at 0137:5008e682.
Registers:
EAX=00000094 CS=0137 EIP=5008e682 EFLGS=00010246
EBX=bff3215a SS=013f ESP=056eeaa8 EBP=bff798bb
ECX=c107b8f0 DS=013f ESI=0652c9a8 FS=39af
EDX=0001203e ES=013f EDI=bff34517 GS=0000
Bytes at CS:EIP:
8b 46 18 85 c0 74 12 6a 0f ff d7 8b 4e 0c 50 51 
Stack dump:
00914564 00914550 017a5dd8 5009180a 00856780 0652d32c 5008e57d 0652d32c 00856780 0652d32c 500904fe 00856780 054dc264 017a5cc0 017a5dd8 017a5de0
(Review ID: 48890)
======================================================================

Name: tb29552			Date: 03/14/99


Well, one thing I know for sure. Java should in no way, 
no matter what I tell it to do perform illegal operations.
It would be difficult to tell you how to reproduce the problem
since I myself don't know exactly where is the problem coming 
from though I am willing to send the code that I suspect causes
the illegal operation.

  What I will do though are 2 things:
A. I will explain shortly what my program does.
B. I will include the Details displayed by windows on the 
   Illegal Operation performed by Java.

A. My program is a client for a chess server. So far all I am
   doing is receiving the text from the server (in a thread)
   and displaying it char by char in an JInternalFrame, which
   is within a JFrame. After I connect to the server and work 
   with it for a while, the error occurs. It does not occur at
   any particular place but each time in a different state of my
   work with the server.

B. Here is a copy of Details stated in the window that informs
   me that it will close Java because it performed an illegal
   operation:
   start
   JAVA caused an invalid page fault in
   module AWT.DLL at 0137:5008e682.
   Registers:
   EAX=00000094 CS=0137 EIP=5008e682 EFLGS=00010246
   EBX=bff2215a SS=013f ESP=05c6fb68 EBP=bff798b6
   ECX=c2be0c18 DS=013f ESI=05f34dec FS=482f
   EDX=00010000 ES=013f EDI=bff2451b GS=0000
   Bytes at CS:EIP:
   8b 46 18 85 c0 74 12 6a 0f ff d7 8b 4e 0c 50 51 
   Stack dump:
   05489314 05489300 01521988 5009180a 054d8e40 05f35770 5008e57d 05f35770 054d8e40 05f35770 500904fe 054d8e40 0516c5ec 014f2038 01521988 059171c5 
   end

Please inform me about this bug and what I can do about it.

                                  Alexander Maryanovsky.
======================================================================

Test program from JDC Comments:

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

/**
 * Demonstrates Java 1.2 bug 4200425
 * @author Barton A. Smith 
 */
public class BugTest extends javax.swing.JFrame {
  static javax.swing.JTextField JTextField_out = new javax.swing.JTextField();
  private static int i;
  static BugTest bt;

  public BugTest() {
    setTitle("Bug 4200425 Test");
    setDefaultCloseOperation(javax.swing.JFrame.DO_NOTHING_ON_CLOSE);
    getContentPane().setLayout(new BorderLayout(0,0));
    setSize(300,300);
    setVisible(false); 

    JTextField_out.setDoubleBuffered(true);
    this.getContentPane().add(JTextField_out);
    JTextField_out.setBounds(100,100,100,18);
  }

  static public void main(String args[]) {
    bt = new BugTest();
    bt.setVisible(true); 

    try { // delay 1 second 
      Thread.sleep(1000);
    } 
    catch (InterruptedException e) {} 

    for(i=0; i<Integer.MAX_VALUE; i++) {
      JTextField_out.setText(String.valueOf(i));

      try { // delay 1 second 
	Thread.sleep(10);
      } 
      catch (InterruptedException e) {}
    }
  }
}

Comments
EVALUATION May be related to various DC corruption/synchronization issues. These were fixed in kestrel FCS "F". Not sure how to verify this since I don't have a reproducible test case. david.mendenhall@eng 1999-09-08 Modified the JDC test case to call setText via invokeLater. I then shrunk the Window down to one line and put an animated cursor over the text. Under 1.2.2, the program crashed as described in about 10 minutes. The same test ran for 18 hours with the latest kestrel build. I suspect that the fixes for BugIds 4045781, 4148117, 4236062, 4264410, 4265501, and 4265503 all contributed to the improved stability. I am closing this bug as a duplicate for now. My impression is that it has been fixed. If it turns out that the bug is still reproducible, then we can open a new bug. david.mendenhall@eng 1999-09-09
09-09-1999