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
FutureTense.
APPLETVIEWER caused an invalid page fault in
module JAVAI.DLL at 0137:10011e05.
Registers:
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...
>
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
FutureTense.
APPLETVIEWER caused an invalid page fault in
module JAVAI.DLL at 0137:10011e05.
Registers:
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...
>
- duplicates
-
JDK-1244843 Crash in javai.dll while executing many threads on Windows '95
- Closed