JDK-6984540 : closed/java/awt/dnd/DragInterceptorAppletTest/DragInterceptorAppletTest.html test fails
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 7
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2010-09-14
  • Updated: 2011-05-19
  • Resolved: 2011-04-21
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.
JDK 7
7 b138Fixed
Related Reports
Duplicate :  
Relates :  
Description
closed/java/awt/dnd/DragInterceptorAppletTest/DragInterceptorAppletTest.html test fails
see comments

Comments
SUGGESTED FIX src/windows/native/sun/windows/awt_Toolkit.cpp @@ -526,20 +526,20 @@ return FALSE; } tk.m_isActive = FALSE; - awt_dnd_uninitialize(); awt_clipboard_uninitialize((JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2)); // dispose Direct3D-related resources. This should be done // before AwtObjectList::Cleanup() as the d3d will attempt to // shutdown when the last of its windows is disposed of D3DInitializer::GetInstance().Clean(); AwtObjectList::Cleanup(); AwtFont::Cleanup(); + awt_dnd_uninitialize(); if (tk.m_inputMethodHWnd != NULL) { ::SendMessage(tk.m_inputMethodHWnd, WM_IME_CONTROL, IMC_OPENSTATUSWINDOW, 0); } tk.m_inputMethodHWnd = NULL;
30-03-2011

EVALUATION The call stack is: > awt.dll!AwtDropTarget::RegisterTarget(unsigned short show) Line 454 + 0x3 bytes C++ awt.dll!AwtComponent::DestroyDropTarget() Line 5329 C++ awt.dll!AwtComponent::Dispose() Line 302 + 0xa bytes C++ awt.dll!AwtObjectList::Cleanup() Line 110 C++ awt.dll!AwtToolkit::Dispose() Line 540 C++ awt.dll!Java_sun_awt_windows_WToolkit_eventLoop(JNIEnv_ * env, _jobject * self) Line 2189 C++ 009c9ba7() So by the time we are cleanin the object list up OLE has already been uninitialized. Should defer the awt_dnd_uninitialize() call to the later time.
30-03-2011

EVALUATION Looks like the issue does not related to the problem that verifies the regression test. I found that the test log does not contain any useful message from the child vm. Theefor I loooked into test directory and found a crash log. the important part of the log is C [awt.dll+0x91791] C [awt.dll+0x66e71] according to jdk7 build 106 map file the problem might occur in DoGetData@AwtDropTarget@@UAEPAV_jobject@@_J@Z 100917b1 DestroyDropTarget@AwtComponent@@UAEXXZ 10066e60 But that does not seem true because DestroyDropTarget does not invoke DoGetData(). It might be that 0x66e71 is sone unnamed adress. So the problem should be investigated with debugger.
02-03-2011

EVALUATION At least it could be reproducible. The problem should be investigated.
15-09-2010

EVALUATION Currently, I cannot reproduce the problem with jdk 7 build 109.
14-09-2010