Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-1240193

Page fault in Windows 95 during garbage collection



    • 1.0.2
    • x86, sparc
    • solaris_2.5, windows_95
    • Not verified


      Page fault in JAVAI.DLL while performing garbage collection.
      It is not easy to reproduce.

      The description field as copied from bug report 1244843 follows:

      I have two JavaSoft ISV customers: FutureTense and Andersen that
      are running into what appears to be the same problem on Windows95.

      They have multiple threads in reading data from multiple source and they
      get a crash in javai.dll. Included is the output from the Appletviewer.

      I have placed a test case in /home/bjnw/win95crash.tar

      The test case is in the eng domain in /home/bjnw/win95crash.tar.
      To run it on Windows 95 Java 1.0:

      1) extract the contents
      2) Add the current working directory to your class path.
      3) From the dos prompt type: appletviewer SportsPage.html

      I have also included some information gathered by Julie Melbin of

      APPLETVIEWER caused an invalid page fault in
      module JAVAI.DLL at 0137:10011e05.
      EAX=04a9e9fc CS=0137 EIP=10011e05 EFLGS=00010283
      EBX=04a9e9fc SS=013f ESP=04d0f474 EBP=00674f38
      ECX=c67a30d0 DS=013f ESI=01393000 FS=31ef
      EDX=bffbf9e0 ES=013f EDI=013931f8 GS=0000
      Bytes at CS:EIP:
      8b 2b f7 c5 07 00 00 00 0f 85 ab 00 00 00 3b f5
      Stack dump:
      00674f38 00000000 10011cc0 01395b88 00000000 0142c990 01692ffc
      04a9ff64 01395b88 10017dda 00674f38 01395b88 0068a4e8 00000000
       24030ec0 006b0304

      From the customer (###@###.###)
       > Here's what I've been able to figure out using Windows 95, Windbg, etc.
       > Perhaps not much, perhaps someone will have insite? I hope!
       > First, using debug windows I see that an invalid object handle is repeatedly
       > flagged in SelectObject - the value in my test case (for the invalid
       > handle) is 0x058f. It is flagged for more than 1 thread (perhaps all of them).
       > Next, I note that ReleaseDC calls are being flagged for using the wrong
       > window parameter (ie not equal to the window on the GetDC call). This also
       > happens across more than 1 thread.
       > In addition, there are calls where 'DC already released' is dumped.
       > I can crash the appletviewer repeatedly in javai.dll; here's the best trace
       > I can get. Sorry it's clipped; windbg crashes soon after and won't let me
       > copy the call stack to the clipboard!!
       > 056cef95 100269de 0xbff76797
       > 056cefb4 10025933 JAVAI_G!sysMonitorEnter+0x73(0x006510DC)
       > 056cefd0 04e69b9d JAVAI_G!monitorEnter+0x47(0x01395a10)
       > 056CEFEC 04E67A24 AWT_G!CAwtApp::MonitorEnter+0x1b(...)
       > 056cf014 04e7db74 AWT_G!sun_awt_image_ImageRepresentation_offscreeInit+0x35(
       > 056cf02c 1000e547
       > AWT_G!Java_sun_awt_image_ImageRepresentation_offscreenInit_stub
       > 056cf058 1001BC9F JAVAI_G!invokeNativeMethod+0x79(0x01398FCO, 0x00726384,
       > 056cfe20 100123c3 JAVAI_G!ExecuteJava+0x8aa7(0x056CFE58, 0X056CFF18)
       > 056cfeac 10011a17 JAVAI_G!do_execute_java_method_vararg+0x58d*0x056CFF18,
       > 056cfeec 1002948b JAVAI_G!execute_java_dynamic_method+0x30(0x056CFF18,
       > 056cff30 10029b5d JAVA_G!ThreadRT0+0xab(0x01393c88)
       > 056cff60 7fd84fb6 JAVA_G!start+0x29(0x00730644)
       > 056cff95 bff8bee6 0x7fd84fb6
       > 056cffc8 bff88d8e 0xbff8bee6
       > 056cffec bff88c69 0xbff88d8e
       > 00000000 00700465 0xbff88c69
       > The other place I crash in sysMonitorEnter is from CAwtApp::SendAppMessage.
       > Any help would be great; if there's something more I might be able to
       > provide, please let me know. Or, if you want me to try something... give a
       > hollar.
       > You probably know this much already...


        Issue Links



              egilbertsunw Eric Gilbertson (Inactive)
              duke J. Duke (Inactive)
              0 Vote for this issue
              0 Start watching this issue