JDK-6271871 : PIT: System hangs when cascading java windows, win32
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 6
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: windows_xp
  • CPU: generic
  • Submitted: 2005-05-17
  • Updated: 2011-01-19
  • Resolved: 2005-07-12
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 6
6 b43Fixed
Related Reports
Relates :  
Description
I am running an application that pops up 2 frames and a window. On clicking a menu on one of the frames, a modal dialog is shown. This dialog is set with application modality. On clicking a button on the modal dialog, a file dialog opens up. When all these frames are shown, I am right clicking the java group of windows on the taskbar and clicking 'cascade' option. As soon as I click this, I could see lot of flickering happening on the screen and the system hangs. I could not do anything on the system. Even I am not able to kill the java process. 

This is noticed only on WinXP with the following PIT build: 
java version "1.6.0-awt.pit-int-jcg-win-03"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.6.0-awt.pit-int-jcg-win-03-java2d_06_may_2005_09_06-b00)
Java HotSpot(TM) Client VM (build 1.6.0-ea-b35, mixed mode)

This is pretty serious since it brings the entire system to halt. I am not able to reproduce this on Mustang-b36. 

Run the attached test and you would see 2 frames and a window. Click on the menu in the frame. A dialog will open up. Click on the open button on the dialog. A file dialog would come up. Right click on the java group of windows in the taskbar and click cascade option. That's the end of it.
###@###.### 2005-05-17 18:39:58 GMT

Comments
EVALUATION The following BringWindowTop call in awt_Component.cpp is causing the endless message recursion. It doesn't seem to be necessary and may be removed. case WM_WINDOWPOSCHANGED: { HWND blocker = AwtWindow::GetModalBlocker(GetHWnd()); if (::IsWindow(blocker)) { ::BringWindowToTop(blocker); } ###@###.### 2005-05-19 17:33:43 GMT
19-05-2005

SUGGESTED FIX ------- awt_Component.cpp ------- *** - Thu May 19 21:32:31 2005 --- awt_Component.cpp Thu May 19 21:31:26 2005 *************** *** 1388,1396 **** --- 1388,1399 ---- case WM_WINDOWPOSCHANGED: { HWND blocker = AwtWindow::GetModalBlocker(GetHWnd()); + // Fixed 6271871 + /* if (::IsWindow(blocker)) { ::BringWindowToTop(blocker); } + */ // Release lock grabbed in the POSCHANGING message if (windowMoveLockHeld) { windowMoveLockHeld = FALSE; ###@###.### 2005-05-19 17:33:43 GMT
19-05-2005