JDK-6821291 : assertion failure in awt_Frame.h
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 7
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: generic,windows
  • CPU: generic,x86
  • Submitted: 2009-03-24
  • Updated: 2012-10-01
  • Resolved: 2011-03-07
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 b64Fixed
Related Reports
Duplicate :  
Relates :  
Description
A debug version of jdk7 b51 fails with assertion in awt_Frame.h, line 121:

	INLINE HWND GetProxyFocusOwner() {
-->		DASSERT(AwtToolkit::MainThread() == ::GetCurrentThreadId());

Any regression focus test can verify it, e.g. test/java/awt/Focus/Window/*

Comments
SUGGESTED FIX http://sa.sfbay.sun.com/projects/awt_data/7/6821291.1
24-06-2009

EVALUATION It's a regression of 6806217. Looks like the reason is in WKeyboardFocusManagerPeer.setNativeFocusOwner. This is a native method that calls GetProxyFocusOwner in a certain moment. The method is called on EDT, via AwtToolkit::SyncCall(). We should probably call it by means of AwtToolkit::InvokeFunction().
24-03-2009