-
Bug
-
Resolution: Duplicate
-
P4
-
None
-
1.1.5
-
sparc
-
solaris_2.5.1
Name: mf23781 Date: 12/01/97
This bug was discovered on AIX, but will also apply to Solaris.
It causes a hang. ** DEFECT 3881 ***************
The code in src/unix/sun/awt_Selection.c that does modal waits
actually uses a global variable to decide when to stop. This
stack trace gives an example where more
than one thread is using this function at a time. These
modalWait functions will not work correctly if called
symultaneously on different threads.
The trace:
----
This happened while viewing the sample presentation using a114-19971201
with defect 3875 and 3880 applied.
I think I resized the window while it was trying to go to the previous
page.
^\SIGQUIT received. Processing terminated
Full thread dump:
"AWT-Selection" (TID:0x30246348, sys_thread_t:0x21463de8)
Native Thread State: ThreadID: 200bd998 Reuse: 130 USER MONITOR WAIT) prio=5
sun.awt.motif.SelectionThread.run(X11Selection.java:298)
"AWT-Selection" (TID:0x30246388, sys_thread_t:0x211b1308)
Native Thread State: ThreadID: 200bda98 Reuse: 39 USER MONITOR WAIT) prio=5
sun.awt.motif.SelectionThread.run(X11Selection.java:298)
"Thread-6" (TID:0x301f8428, sys_thread_t:0x20de36c8)
Native Thread State: ThreadID: 200bdd98 Reuse: 1 USER MONITOR WAIT) prio=5
java.lang.Object.wait(Object.java)
lotus.ccmail.session.LauncherThread$LaunchQueue.getItem(LauncherThread.java:112)
lotus.ccmail.session.LauncherThread.run(LauncherThread.java:59)
"Screen Updater" (TID:0x301f84a8, sys_thread_t:0x20c8cef8)
Native Thread State: ThreadID: 200bde98 Reuse: 1 USER MONITOR WAIT) prio=4
java.lang.Object.wait(Object.java)
sun.awt.ScreenUpdater.nextEntry(ScreenUpdater.java:78)
sun.awt.ScreenUpdater.run(ScreenUpdater.java:98)
"Thread-5" (TID:0x301d01e8, sys_thread_t:0x20c89ec8)
Native Thread State: ThreadID: 200bdf98 Reuse: 1 USER SUSPENDED) prio=5
java.lang.Thread.suspend(Thread.java)
lotus.ccmail.session.ServerWorker.run(ccMsgServer.java:561)
java.lang.Thread.run(Thread.java)
"Thread-4" (TID:0x301d01b0, sys_thread_t:0x20c859a8)
Native Thread State: ThreadID: 200be098 Reuse: 1 USER SUSPENDED) prio=5
java.lang.Thread.suspend(Thread.java)
lotus.ccmail.session.ServerWorker.run(ccMsgServer.java:561)
java.lang.Thread.run(Thread.java)
"Thread-3" (TID:0x301d0178, sys_thread_t:0x20c784e8)
Native Thread State: ThreadID: 200be198 Reuse: 1 USER SUSPENDED) prio=5
java.lang.Thread.suspend(Thread.java)
lotus.ccmail.session.ServerWorker.run(ccMsgServer.java:561)
java.lang.Thread.run(Thread.java)
"Thread-2" (TID:0x301d0140, sys_thread_t:0x20c78318)
Native Thread State: ThreadID: 200be298 Reuse: 1 USER SUSPENDED) prio=5
java.lang.Thread.suspend(Thread.java)
lotus.ccmail.session.ServerWorker.run(ccMsgServer.java:561)
java.lang.Thread.run(Thread.java)
"Thread-7" (TID:0x301d0418, sys_thread_t:0x20939a68)
Native Thread State: ThreadID: 200be398 Reuse: 2 USER MONITOR WAIT) prio=4
com.lotus.desktop.main.DesktopClock.run(DesktopClock.java:216)
java.lang.Thread.run(Thread.java)
"Thread-1" (TID:0x30203720, sys_thread_t:0x209393c8)
Native Thread State: ThreadID: 200ca498 Reuse: 2 USER MONITOR WAIT) prio=5
com.lotus.desktop.main.DesktopWatchDog.run(DesktopWatchDog.java:46)
"Thread-13" (TID:0x3020b9b0, sys_thread_t:0x20939fc8)
Native Thread State: ThreadID: 200ca598 Reuse: 3 USER MONITOR WAIT) prio=5
java.lang.Object.wait(Object.java)
sun.awt.motif.X11Selection.getTransferData(X11Selection.java:244)
lotus.graphics.GrSelection.getTextFromSystemClipboard(GrSelection.java:1442)
lotus.graphics.GrSelection.systemClipboardHasDataForUs(GrSelection.java:1516)
lotus.graphics.GrSelection.isPasteDataAvailable(GrSelection.java:1285)
lotus.fc.ic.ClipboardCommander.getPropertyOptions(ClipboardCommander.java:146)
lotus.fc.ic.ActionBarPanel.setState(ActionBarPanel.java:273)
lotus.fc.ic.ActionBarPanel.setState(ActionBarPanel.java:240)
lotus.fc.ic.ActionBarPanel.setState(ActionBarPanel.java:236)
lotus.fc.ic.ActionBarPanel.setState(ActionBarPanel.java:220)
lotus.fc.ic.ActionBar.setState(ActionBar.java:285)
lotus.fc.ic.ActionBar.updatePanel(ActionBar.java:200)
lotus.fc.ic.ActionBar.setCurrentBarFromAD(ActionBar.java:160)
lotus.fc.ic.ActionBar.setCurrentBarFromID(ActionBar.java:121)
lotus.fc.ic.ActionBar.setTopLevelBarFromID(ActionBar.java:92)
lotus.fc.ic.InfoCenter.showCurrentBar(InfoCenter.java:2220)
lotus.fc.ic.InfoCenter.setCurrent(InfoCenter.java:2173)
lotus.fc.ic.InfoCenter.update(InfoCenter.java:792)
java.util.Observable.notifyObservers(Observable.java)
lotus.fc.ui.RefreshThreadObservable.ping(RefreshThread.java:375)
"Thread-8" (TID:0x3019cc58, sys_thread_t:0x20939df8)
Native Thread State: ThreadID: 200ca698 Reuse: 2 USER MONITOR WAIT) prio=5
lotus.ccmail.ibmailsource.IBMailEnable.run(IBMailEnable.java:191)
java.lang.Thread.run(Thread.java)
"AWT-Finalizer" (TID:0x30355560, sys_thread_t:0x20939028)
Native Thread State: ThreadID: 200ca898 Reuse: 3 DAEMON MONITOR WAIT) prio=9
java.lang.Object.wait(Object.java)
sun.awt.AWTFinalizer.run(AWTFinalizer.java:48)
"Thread-16" (TID:0x3008c930, sys_thread_t:0x20938e58)
Native Thread State: ThreadID: 200ca998 Reuse: 3 USER MONITOR WAIT) prio=6
java.lang.Object.wait(Object.java)
lotus.wp.CEventQueue.GetEvent(CEventQueue.java:24)
lotus.wp.CDocument.run(CDocument.java:3687)
"Thread-18" (TID:0x30300ec8, sys_thread_t:0x207fb1c8)
Native Thread State: ThreadID: 200caa98 Reuse: 4 USER MONITOR WAIT) prio=6
java.lang.Object.wait(Object.java)
lotus.wp.CEventQueue.GetEvent(CEventQueue.java:24)
lotus.wp.CDocument.run(CDocument.java:3687)
"ccMsgServer" (TID:0x30203810, sys_thread_t:0x206f5bd8)
Native Thread State: ThreadID: 200cab98 Reuse: 2 USER BLOCKING) prio=1
java.net.PlainSocketImpl.accept(PlainSocketImpl.java:387)
java.net.ServerSocket.implAccept(ServerSocket.java:206)
java.net.ServerSocket.accept(ServerSocket.java:189)
lotus.ccmail.session.ccMsgServer.run(ccMsgServer.java:989)
"AWT-Motif" (TID:0x300a4920, sys_thread_t:0x204c1008)
Native Thread State: ThreadID: 200cac98 Reuse: 1 USER MONITOR WAIT) prio=5
java.lang.Thread.run(Thread.java)
"AWT-Input" (TID:0x300a48e8, sys_thread_t:0x204c0e38)
Native Thread State: ThreadID: 200cad98 Reuse: 1 USER MONITOR WAIT) prio=5
"AWT-EventQueue-0" (TID:0x300029a0, sys_thread_t:0x204bcb88)
Native Thread State: ThreadID: 200cae98 Reuse: 1 USER MONITOR WAIT) prio=5
java.lang.Object.wait(Object.java)
sun.awt.motif.X11Selection.getTransferData(X11Selection.java:244)
lotus.graphics.GrSelection.getTextFromSystemClipboard(GrSelection.java:1442)
lotus.graphics.GrSelection.systemClipboardHasDataForUs(GrSelection.java:1516)
lotus.graphics.GrSelection.isPasteDataAvailable(GrSelection.java:1285)
lotus.fc.ic.ClipboardCommander.getPropertyOptions(ClipboardCommander.java:146)
lotus.fc.ic.ActionBarPanel.setState(ActionBarPanel.java:273)
lotus.fc.ic.ActionBarPanel.setState(ActionBarPanel.java:240)
lotus.fc.ic.ActionBarPanel.setState(ActionBarPanel.java:236)
lotus.fc.ic.ActionBarPanel.setState(ActionBarPanel.java:220)
lotus.fc.ic.ActionBar.setState(ActionBar.java:285)
lotus.fc.ic.ActionBar.setState(ActionBar.java:276)
lotus.fc.ic.ActionBar.performAction(ActionBar.java:499)
lotus.fc.ic.ActionBar.performAction(ActionBar.java:422)
lotus.fc.ic.ActionBar.performAction(ActionBar.java:409)
lotus.fc.ic.ActionBar.itemClicked(ActionBar.java:346)
lotus.fc.ic.ActionBarPanel.notifyActionBarPanelEventListeners(ActionBarPanel.java:430)
lotus.fc.ic.ActionBarPanel.actionPerformed(ActionBarPanel.java:445)
lotus.fc.ic.ICLabelPanel.notifyActionListeners(ICLabelPanel.java:1255)
lotus.fc.ic.ICLabelPanel.access$0(ICLabelPanel.java:1242)
"Alloc State Notifier" (TID:0x30002960, sys_thread_t:0x203fc468)
Native Thread State: ThreadID: 200caf98 Reuse: 1 USER MONITOR WAIT) prio=9
sun.misc.VMNotifierThread.run(VM.java)
"Red Alloc State Notifier" (TID:0x300028a0, sys_thread_t:0x203fbdd8)
Native Thread State: ThreadID: 200cb098 Reuse: 1 USER MONITOR WAIT) prio=10
sun.misc.VMNotifierThread.run(VM.java)
"Request Processor" (TID:0x300015b8, sys_thread_t:0x2039e0c8)
Native Thread State: ThreadID: 200cb198 Reuse: 1 USER MONITOR WAIT) prio=7
sun.misc.Queue.dequeue(Queue.java:90)
sun.misc.Queue.dequeue(Queue.java:74)
sun.misc.RequestProcessor.run(RequestProcessor.java:56)
java.lang.Thread.run(Thread.java)
"Finalizer thread" (TID:0x30001078, sys_thread_t:0x202f1778)
Native Thread State: ThreadID: 200cb298 Reuse: 1 DAEMON MONITOR WAIT
Native Stack Data : base: 20350d1c pointer 20350178 used(2980) free(255068)) prio=1 *current thread*
"main" (TID:0x30001008, sys_thread_t:0x202bfa98)
Native Thread State: ThreadID: 200cb398 Reuse: 1 USER PRIMORDIAL MONITOR WAIT) prio=5
Monitor Cache Dump:
<unknown key> (0x0): monitor owner: "AWT-Selection".
<unknown key> (0x0): monitor owner: "AWT-Selection".
Registered Monitor Dump:
Thread Sleep lock 0x21463de8: unowned.
Thread Sleep lock 0x209391f8: unowned.
Thread Sleep lock 0x211b1308: unowned.
Thread Sleep lock 0x207fb1c8: unowned.
Thread Sleep lock 0x20939fc8: unowned.
Thread Sleep lock 0x209918c8: unowned.
Thread Sleep lock 0x20939a68: unowned.
Thread Sleep lock 0x20991a98: unowned.
Thread Sleep lock 0x20939df8: unowned.
Thread Sleep lock 0x209393c8: unowned.
Thread queue lock: unowned.
Name and type hash table lock: unowned.
String intern lock: unowned.
JNI pinning lock: unowned.
JNI global reference lock: unowned.
BinClass lock: unowned.
Class loading lock: unowned.
Java stack lock: unowned.
Code rewrite lock: unowned.
Has finalization queue lock: unowned.
Finalize me queue lock: unowned.
Monitor cache lock: unowned.
Monitor registry: monitor owner: "Finalizer thread".
^C$
======================================================================
- duplicates
-
JDK-4182518 Race condition with clipboard modal waits
- Closed