JDK-6397447 : Splash screen (-splash:splash.png) + text drag = KDE/GNOME freeze
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 6,6u10,6u15
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • OS: linux,open_solaris
  • CPU: generic,x86
  • Submitted: 2006-03-13
  • Updated: 2011-02-16
  • Resolved: 2010-09-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 6
6u21 b01Fixed
Related Reports
Duplicate :  
Relates :  
Relates :  
Description
FULL PRODUCT VERSION :
java version "1.6.0-beta2"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.6.0-beta2-b73)
Java HotSpot(TM) Client VM (build 1.6.0-beta2-b73, mixed mode, sharing)

ADDITIONAL OS VERSION INFORMATION :
Linux localhost 2.6.14.5 #2 PREEMPT Mon Jan 2 17:57:26 CET 2006 i686 GNU/Linux

EXTRA RELEVANT SYSTEM CONFIGURATION :
X Window System Version 6.8.2 (Ubuntu 6.8.2-77 20051010174523 ###@###.###dd)
  Release Date: 9 February 2005

KDE 3.5.1/Qt 3.3.5, GNOME 2.12.x

A DESCRIPTION OF THE PROBLEM :
When I try to drag the selected text, the X11 session (KDE or GNOME) completely freezes.
This problem occurs only if I use the new "-splash" command line option.

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Part 1

1. Restart your KDE/GNOME session to make sure the Java-DND wasn't initialized before
2. Run "make test" (compile and run WITH the splash screen)
3. Select and drag the text
4. [The X11 session will freeze; sometimes Ctrl+Alt+Backspace/Fn does not work]

Part 2

1. Restart your KDE/GNOME session
2. Run "make runnosplash" (run the same test but WITHOUT the splash screen)
3. Select and drag the text
4. [Now everything is OK]
5. Run "make runsplash" (run the test WITH the splash screen like in "Part 1")
6. Select and drag the text
7. [Now everything is OK too]


REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
Attached seperatly
---------- END SOURCE ----------

Comments
EVALUATION Going to be fixed along with 6557810 in 6u19 (or, at least, 6u20).
18-01-2010

SUGGESTED FIX http://sa.sfbay.sun.com/projects/awt_data/7/6557810/
11-01-2010

EVALUATION According to Java stack trace, the freeze happens during XSync call: java.lang.Thread.State: RUNNABLE at sun.awt.X11.XlibWrapper.XSync(Native Method) at sun.awt.X11.XToolkit.XSync(XToolkit.java:965) at sun.awt.X11.XToolkit.WITH_XERROR_HANDLER(XToolkit.java:111) at sun.awt.X11.MotifDnDConstants.createMotifWindow(MotifDnDConstants.java:174) at sun.awt.X11.MotifDnDConstants.getMotifWindow(MotifDnDConstants.java:210) at sun.awt.X11.MotifDnDConstants.getIndexForTargetList(MotifDnDConstants.java:429) at sun.awt.X11.MotifDnDDragSourceProtocol.initializeDragImpl(MotifDnDDragSourceProtocol.java:58) at sun.awt.X11.XDragSourceProtocol.initializeDrag(XDragSourceProtocol.java:79) ... There is a known performance issue related to the splash screen functionality (6557810): " the SplashScreen code set the _Xdebug variable to 1 at the SplashInitPlatform() function at the src/solaris/native/sun/awt/splashscreen/splashscreen_sys.c file. This caused the Xlib to operate in debug mode, and the debug mode is a synchronous mode. Hence, Xlib invoked the XSync() function after almost every X method invokation. The XSync() function actually generates the GetInputFocus request ... Eliminating the _Xdebug setting should considerably improve the performance of applications using the splash screen. " Applying the changes for 6557810 eliminates the freeze problem.
11-01-2010