JDK-4425087 : Click on applets cause AWT to crash in Merlin
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 1.4.0
  • Priority: P1
  • Status: Closed
  • Resolution: Fixed
  • OS: windows_98,windows_nt,windows_2000
  • CPU: generic,x86
  • Submitted: 2001-03-13
  • Updated: 2001-10-09
  • Resolved: 2001-04-04
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
1.4.0 betaFixed
Related Reports
Duplicate :  
Duplicate :  
Duplicate :  
Relates :  
Description
When running Java Plug-in for Merlin, visit demo page http://java.sun.com/products/plugin/1.3/demos/applets.html. Applet will be loaded fine and ran. However, when clicking on any area in the applet (pure AWT or Swing), the JRE will crash and cause the browser window to go away. This happens on Win32/Solaris/Linux.

However, switching the same plug-in with older version of J2SE (e.g. 1.3), the applets ran fine. Thus, apparently this is possibly problem in AWT in Merlin.

> Could you send us a stack trace or core file, or anything
> that would indicate the problem is in the AWT?

        The following trace are obtained by attaching Internet Explorer with
Visual Studio when plugin is running. Click on the applet will cause the
browser process to crash because AWT.dll has generated access violation
exception.


Loaded 'C:\Program Files\Plus!\Microsoft Internet\IEXPLORE.EXE', no
matching symbolic information found.
Loaded 'C:\WINNT\system32\NTDLL.DLL', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\KERNEL32.DLL', no matching symbolic
information found.
Loaded 'C:\WINNT\system32\USER32.DLL', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\GDI32.DLL', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\ADVAPI32.DLL', no matching symbolic
information found.
Loaded 'C:\WINNT\system32\RPCRT4.DLL', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\SHLWAPI.DLL', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\shdocvw.dll', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\COMCTL32.DLL', no matching symbolic
information found.
Loaded 'C:\WINNT\system32\SHELL32.DLL', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\SHDOCLC.DLL', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\indicdll.dll', no matching symbolic
information found.
Loaded 'C:\WINNT\system32\imm32.dll', no matching symbolic information
found.
Loaded 'C:\WINNT\trayhook.dll', no matching symbolic information found.
Loaded 'C:\WINNT\system32\OLE32.DLL', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\BROWSEUI.DLL', no matching symbolic
information found.
Loaded 'C:\WINNT\system32\BROWSELC.DLL', no matching symbolic
information found.
Loaded 'C:\WINNT\system32\linkinfo.dll', no matching symbolic
information found.
Loaded 'C:\WINNT\system32\MPR.DLL', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\NTSHRUI.DLL', no matching symbolic information
found.
Loaded symbols for 'C:\WINNT\system32\MSVCRT.DLL'
Loaded 'C:\WINNT\system32\NETAPI32.DLL', no matching symbolic
information found.
Loaded 'C:\WINNT\system32\netrap.dll', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\SAMLIB.DLL', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\wininet.dll', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\RPCLTC1.DLL', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\SHFOLDER.DLL', no matching symbolic
information found.
Loaded 'C:\WINNT\system32\nzdd.dll', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\COMDLG32.DLL', no matching symbolic
information found.
Loaded 'C:\WINNT\system32\OLEAUT32.DLL', no matching symbolic
information found.
Loaded 'C:\WINNT\system32\WSOCK32.DLL', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\WS2_32.DLL', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\WS2HELP.DLL', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\version.dll', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\lz32.dll', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\TAPI32.DLL', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\urlmon.dll', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\MLANG.DLL', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\MSAFD.DLL', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\WSHTCPIP.DLL', no matching symbolic
information found.
Loaded 'C:\WINNT\system32\msidle.dll', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\mshtml.dll', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\PDM.DLL', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\MSDBG.DLL', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\dimm.dll', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\KBDUS.DLL', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\msls31.dll', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\JSCRIPT.DLL', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\winmm.dll', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\ctmm32.dll', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\devcon32.dll', no matching symbolic
information found.
Loaded 'C:\WINNT\system32\ctsyn32.dll', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\MSACM32.DRV', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\msacm32.dll', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\msadp32.acm', no matching symbolic information
found.
Loaded symbols for 'C:\Program Files\JavaSoft\Jre\1.4\bin\NPJPI140.dll'
Loaded symbols for 'C:\Program Files\JavaSoft\Jre\1.4\bin\beans.ocx'
Loaded 'C:\WINNT\system32\RNR20.DLL', no matching symbolic information
found.
Loaded symbols for 'C:\Program Files\JavaSoft\Jre\1.4\bin\jpishare.dll'
Loaded 'C:\Program Files\JavaSoft\Jre\1.4\bin\hotspot\jvm.dll', no
matching symbolic information found.
Loaded symbols for 'C:\Program Files\JavaSoft\Jre\1.4\bin\hpi.dll'
Loaded symbols for 'C:\Program Files\JavaSoft\Jre\1.4\bin\verify.dll'
Loaded symbols for 'C:\Program Files\JavaSoft\Jre\1.4\bin\java.dll'
Loaded symbols for 'C:\Program Files\JavaSoft\Jre\1.4\bin\zip.dll'
Loaded symbols for 'C:\Program Files\JavaSoft\Jre\1.4\bin\awt.dll'
Loaded 'C:\WINNT\system32\WINSPOOL.DRV', no matching symbolic
information found.
Loaded symbols for 'C:\Program
Files\JavaSoft\Jre\1.4\bin\fontmanager.dll'
Loaded 'C:\WINNT\system32\DDRAW.DLL', no matching symbolic information
found.
Loaded symbols for 'C:\Program Files\JavaSoft\Jre\1.4\bin\net.dll'
Loaded symbols for 'C:\Program Files\JavaSoft\Jre\1.4\bin\nio.dll'
The thread 0x15D has exited with code 0 (0x0).
First-chance exception in iexplore.exe (AWT.DLL): 0xC0000005: Access
Violation.
Loaded 'C:\WINNT\system32\IMAGEHLP.DLL', no matching symbolic
information found.
Loaded 'C:\WINNT\system32\Psapi.dll', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\Psapi.dll', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\Psapi.dll', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\Psapi.dll', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\Psapi.dll', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\Psapi.dll', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\Psapi.dll', no matching symbolic information
found.
Loaded 'C:\WINNT\system32\Psapi.dll', no matching symbolic information
found.
The thread 0x14C has exited with code 1 (0x1).
The thread 0x14E has exited with code 1 (0x1).
The thread 0x12A has exited with code 1 (0x1).
The thread 0xBF has exited with code 1 (0x1).
The thread 0x153 has exited with code 1 (0x1).
The thread 0x122 has exited with code 1 (0x1).
The thread 0xE3 has exited with code 1 (0x1).
The thread 0x117 has exited with code 1 (0x1).
The thread 0xC9 has exited with code 1 (0x1).
The thread 0x149 has exited with code 1 (0x1).
The thread 0x7E has exited with code 1 (0x1).
The thread 0x7D has exited with code 1 (0x1).
The thread 0x11E has exited with code 1 (0x1).
The thread 0x13A has exited with code 1 (0x1).
The thread 0xF6 has exited with code 1 (0x1).
The thread 0x103 has exited with code 1 (0x1).
The thread 0x135 has exited with code 1 (0x1).
The thread 0xEA has exited with code 1 (0x1).
The thread 0x68 has exited with code 1 (0x1).
The thread 0xE4 has exited with code 1 (0x1).
The thread 0x67 has exited with code 1 (0x1).
The thread 0x124 has exited with code 1 (0x1).
The thread 0x11D has exited with code 1 (0x1).
The thread 0x144 has exited with code 1 (0x1).
The thread 0x15C has exited with code 1 (0x1).
The thread 0xFE has exited with code 1 (0x1).
First-chance exception in iexplore.exe (AWT.DLL): 0xC0000005: Access
Violation.
The thread 0x151 has exited with code 1 (0x1).
The program 'C:\PROGRA~1\Plus!\MICROS~1\iexplore.exe' has exited with
code 1 (0x1).

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: merlin-beta FIXED IN: merlin-beta INTEGRATED IN: merlin-beta VERIFIED IN: merlin-beta3
14-06-2004

EVALUATION Commit to fix in Merlin-beta (serious crash). eric.hawkes@eng 2001-03-19 Name: dkR10074 Date: 03/30/2001 ###@###.### 2001-03-30 I contacted the submitter, Stanley Ho, asking him about additional information about reproducing this bug on Solaris/Linux. He answered that crashes on Solaris/Linux, as they figured out we caused by different problem: >> The code where it crashes on Windows is very Windows-specific, >> so it doesn't help with Solaris and Linux part. >> Could you provide any additional debug information similar to what >> is already in the bug report for Windows part (core file would >> be fine if it of reasonable size to send via e-mail, or dbx trace, or >> whatever)? > > Sorry, we found that the Solaris/Linux crash is actually related to > another bug in AWT, so this bug is specified for Win32. So the bug reproduces on Win32 only. In awt_Component.cpp, AwtComponent::WmComponentSetFocus contains the following code: AwtWindow *awtWindow = (AwtWindow *) AwtComponent::GetComponent(topLevel); where topLevel is a result of GetTopLevelParentForWindow(GetHWnd()). In case of an applet window GetTopLevelParentForWindow returns HWND for Internet Explorer's main window which isn't an AWT component, so AwtComponent::GetComponent always returns NULL. To fix the bug we have to check awtWindow. ======================================================================
11-06-2004

WORK AROUND No workaround.
11-06-2004

SUGGESTED FIX Name: dkR10074 Date: 03/30/2001 ------- awt_Component.cpp ------- *** d:\Temp\geta252 Thu Mar 29 14:28:32 2001 --- awt_Component.cpp Thu Mar 29 14:28:26 2001 *************** *** 1484,1492 **** } else { AwtWindow *awtWindow = (AwtWindow *) AwtComponent::GetComponent(topLevel); ! AwtFrame *owner = awtWindow->GetOwningFrameOrDialog(); ! focusedWindowChangeAllowed = ! (owner != NULL && owner->GetHWnd() == active); } } --- 1484,1494 ---- } else { AwtWindow *awtWindow = (AwtWindow *) AwtComponent::GetComponent(topLevel); ! if (awtWindow != NULL) { ! AwtFrame *owner = awtWindow->GetOwningFrameOrDialog(); ! focusedWindowChangeAllowed = ! (owner != NULL && owner->GetHWnd() == active); ! } } } ======================================================================
11-06-2004