JDK-6857363 : deadlock caused by sun.awt.X11.XTrayIconPeer$Tooltip.display
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 7
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: linux
  • CPU: x86
  • Submitted: 2009-07-03
  • Updated: 2011-01-19
  • Resolved: 2010-02-16
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 Availabitlity Release.

To download the current JDK release, click here.
7 b84Fixed
Related Reports
Relates :  
The problem reported in the SDN comments for 6280857

Comment added by mmikucionis : 
here is the stacktrace of AW-XAWT thread:

	at java.awt.Component.invalidate(Component.java:2768)
	- waiting to lock <0x75c85c78> (a java.awt.Component$AWTTreeLock)
	at java.awt.Component.invalidateIfValid(Component.java:2788)
	at java.awt.Label.setText(Label.java:244)
	at sun.awt.X11.XTrayIconPeer$Tooltip.display(XTrayIconPeer.java:677)
	at sun.awt.X11.XTrayIconPeer$Tooltip$1.run(XTrayIconPeer.java:603)
	at sun.awt.X11.XToolkit.callTimeoutTasks(XToolkit.java:1563)
	at sun.awt.X11.XToolkit.run(XToolkit.java:547)
	at sun.awt.X11.XToolkit.run(XToolkit.java:523)
	at java.lang.Thread.run(Thread.java:619)

Found 1 deadlock.

Comment added by mmikucionis(###@###.###) : 
It seems that the fix is not good enough. I use JDK 1.6.0_14 and get deadlock when Label.setText is involved, i.e. the code at sun.awt.X11.XTrayIconPeer$Tooltip.display(XTrayIconPeer.java:677) should also be executed on EDT to avoid deadlock.

SUGGESTED FIX http://sa.sfbay.sun.com/projects/awt_data/7/6857363/

EVALUATION The fix is to avoid calling Label.setText on the toolkit thread.