Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6237410

MAWT: FreeMind on display :0.1 hangs the X server during drag and drop (Java 1.5, Solaris 10)

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: P4 P4
    • None
    • solaris_10, 5.0
    • client-libs
    • generic, other
    • solaris_9, solaris_10

      The FreeMind Java mind mapping application can hang the X server
      when run on screen 1 (eg :0.1). It works fine on screen 0 (eg :0.0).

      The mouse still moves but all actions such as key presses and button
      clicks are ignored. The solution is log in remotely and kill the JVM
      (using SIGKILL, since SIGTERM isn't enough)

      The problem is easily reproduced, download and run FreeMind:

      <http://freemind.sourceforge.net/>

      Then:

      1. Create a simple mind map
      2. Drag one of the nodes to another node
      3. FreeMind and the X server hang

      It's 100% reproducible for me running either Java 1.5.0-b64 or Java
      1.5.0_01-b08 on JDS3 or CDE on Solaris 10 on Sun Ray or local desktop.

      The relevant Java thread looks like this:

       ff33d1c4 pollsys (b1a7e040, 1, 0, 0)
       ff2df934 pselect (b1a7e040, ff367a84, ff367a84, 40, 0, 0) + 1c8
       ff2dfc78 select (25, b1a7e238, 0, 0, 0, 0) + 6c
       b1f9d1b0 _XWaitForReadable (12a8640, 10, 4, b1a7e238, 1, 0) + dc
       b1f9cfe0 _XRead (ffffffff, b1a7e45c, 8, 12a8640, 20, 8) + ec
       b1f9a55c XOpenDisplay (62c2b8, b1fd30f8, 0, b1a7e448, 12a8640, 0) + 534
       fa8cb634 ???????? (5, 1, 254e0, 3a, fa8f0ae0, 4) + 4893160c
       fa8cb728 ???????? (2a59b0, d196d4, f3, d196dc, 18, 0) + 48931700
       fa8cb768 ???????? (2a59b0, 24, 2538c, 363338, fa8f0ae0, 0) + 48931740
       fa8cbcd8 ???????? (2a59b0, 400d48, d, 34, d196c8, fa8f3801) + 48931cb0
       fa8cee94 Java_sun_awt_motif_X11DragSourceContextPeer_startDrag (8d0d50, fa8f564c, 40000003, d, fa8f5a80, fa8f0ae0) + 480
       f880c280 * sun/awt/motif/X11DragSourceContextPeer.startDrag(Ljava/awt/Component;Lsun/awt/motif/MWindowPeer;Ljava/awt/datatransfer/Transferable;Ljava/awt/event/InputEvent;Ljava/awt/Cursor;II[JLjava/util/Map;)J+-25636
       f880c224 * sun/awt/motif/X11DragSourceContextPeer.startDrag(Ljava/awt/Component;Lsun/awt/motif/MWindowPeer;Ljava/awt/datatransfer/Transferable;Ljava/awt/event/InputEvent;Ljava/awt/Cursor;II[JLjava/util/Map;)J+0
       f88058fc * sun/awt/motif/X11DragSourceContextPeer.startDrag(Ljava/awt/datatransfer/Transferable;[JLjava/util/Map;)V+119 (line 74)
       f8805764 * sun/awt/dnd/SunDragSourceContextPeer.startDrag(Ljava/awt/dnd/DragSourceContext;Ljava/awt/Cursor;Ljava/awt/Image;Ljava/awt/Point;)V+91 (line 111)
       f8805c2c * java/awt/dnd/DragSource.startDrag(Ljava/awt/dnd/DragGestureEvent;Ljava/awt/Cursor;Ljava/awt/Image;Ljava/awt/Point;Ljava/awt/datatransfer/Transferable;Ljava/awt/dnd/DragSourceListener;Ljava/awt/datatransfer/FlavorMap;)V+66 (line 306)
       f8805764 * java/awt/dnd/DragSource.startDrag(Ljava/awt/dnd/DragGestureEvent;Ljava/awt/Cursor;Ljava/awt/datatransfer/Transferable;Ljava/awt/dnd/DragSourceListener;)V+9 (line 403)
       f8805764 * java/awt/dnd/DragGestureEvent.startDrag(Ljava/awt/Cursor;Ljava/awt/datatransfer/Transferable;Ljava/awt/dnd/DragSourceListener;)V+8 (line 223)
       f8805764 * freemind/controller/NodeDragListener.dragGestureRecognized(Ljava/awt/dnd/DragGestureEvent;)V+137 (line 82)
       f8805c2c * java/awt/dnd/DragGestureRecognizer.fireDragGestureRecognized(ILjava/awt/Point;)V+25 (line 339)
       f8805764 * sun/awt/motif/MMouseDragGestureRecognizer.mouseDragged(Ljava/awt/event/MouseEvent;)V+105 (line 202)
       f8805c2c * java/awt/AWTEventMulticaster.mouseDragged(Ljava/awt/event/MouseEvent;)V+21 (line 262)
       f8805c2c * java/awt/Component.processMouseMotionEvent(Ljava/awt/event/MouseEvent;)V+52 (line 5536)
       f8805764 * javax/swing/JComponent.processMouseMotionEvent(Ljava/awt/event/MouseEvent;)V+42 (line 3111)
       f8805764 * java/awt/Component.processEvent(Ljava/awt/AWTEvent;)V+92 (line 5257)
       f8805764 * java/awt/Container.processEvent(Ljava/awt/AWTEvent;)V+18 (line 1966)
       f8859400 * C2IAdapter
       f892bc80 * *java/awt/Component.dispatchEventImpl(Ljava/awt/AWTEvent;)V+477 (line 3955)
       f884e57c * java/lang/reflect/Field.setBoolean(Ljava/lang/Object;Z)V+12 (line 686)
       f8805764 * java/awt/Container.dispatchEventImpl(Ljava/awt/AWTEvent;)V+42 (line 2024)
       f8859400 * C2IAdapter
       f88dfdcc * *java/awt/Component.dispatchEvent(Ljava/awt/AWTEvent;)V+2 (line 3803)
       f88dfdcc * *java/awt/LightweightDispatcher.retargetMouseEvent(Ljava/awt/Component;ILjava/awt/event/MouseEvent;)V+304 (line 4212)
       f88a2c44 * java/awt/LightweightDispatcher.isMouseGrab(Ljava/awt/event/MouseEvent;)Z+93 (line 3856)
       f8805764 * java/awt/LightweightDispatcher.processMouseEvent(Ljava/awt/event/MouseEvent;)Z+191 (line 3909)
       f88057a8 * java/awt/LightweightDispatcher.dispatchEvent(Ljava/awt/AWTEvent;)Z+50 (line 3822)
       f88057a8 * java/awt/Container.dispatchEventImpl(Ljava/awt/AWTEvent;)V+12 (line 2010)
       f8805764 * java/awt/Window.dispatchEventImpl(Ljava/awt/AWTEvent;)V+19 (line 1766)
       f8805764 * java/awt/Component.dispatchEvent(Ljava/awt/AWTEvent;)V+2 (line 3803)
       f8805764 * java/awt/EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V+46 (line 463)
       f8805764 * java/awt/EventDispatchThread.pumpOneEventForHierarchy(ILjava/awt/Component;)Z+200 (line 234)
       f88057a8 * java/awt/EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+26 (line 163)
       f8805764 * java/awt/EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4 (line 157)
       f8805764 * java/awt/EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3 (line 149)
       f8805764 * java/awt/EventDispatchThread.run()V+9 (line 110)
       f8800218 * StubRoutines (1)
       fe98d978 void JavaCalls::call_helper(JavaValue*,methodHandle*,JavaCallArguments*,Thread*) (1, 8d0c98, b1a7faa0, b1a7f9a0, 1, f88001c0) + 528
       feaacdec void JavaCalls::call_virtual(JavaValue*,Handle,KlassHandle,symbolHandle,symbolHandle,Thread*) (7074, 8d0c98, 3bf410, 3bf41c, 3bf418, e517b328) + 188
       feaca754 void thread_entry(JavaThread*,Thread*) (b402eea0, 8d0c98, 3bf7fc, fef531b8, fef53284, fef52ca8) + 134
       feac68e4 void JavaThread::run() (8d0c98, 0, feac6784, fef3ba68, 73a0, 7000) + 160
       feabe128 _start (8d0c98, 5800, 638ce, 47ac, feef0000, 59c018) + 13c
       ff33c400 _lwp_start (0, 0, 0, 0, 0, 0)

      The X server is stuck here:

      114379: /usr/openwin/bin/Xsun :17 -nobanner -auth /var/dt/A:17-OQGWmg -nobanne
       ff33d1c4 pollsys (ffbfe6e0, 6, ffbfe9b0, 0)
       ff2df934 pselect (ffbfe6e0, ff367a84, ff367a84, 44, ffbfe9b0, 0) + 1c8
       ff2dfc78 select (4d, 4020e0, ffbfebb8, 0, 0, 0) + 6c
       0002fb44 WaitForSomething (0, 4115f0, 0, 0, 0, 0) + 6ac
       0002f290 Dispatch (ffbfed28, ffffffff, 39, 411614, 1, 0) + a4
       0005023c main (417398, 17cc00, 417398, 411520, 17baa8, 180000) + 8cc
       0005d04c _start (0, 0, 0, 0, 0, 0) + 108

      This was taken on a Sun Ray but the problem has also been seen on
      standard Solaris desktops. This problem doesn't occur on Java 1.4 (eg
      1.4.2_06).

      ###@###.### 2005-04-06 14:48:21 GMT

            denis Denis Fokin (Inactive)
            pgharvey Peter Harvey (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: