-
Bug
-
Resolution: Incomplete
-
P3
-
8u73, 9
-
x86_64
-
windows_7
FULL PRODUCT VERSION :
java version "1.8.0_91"
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 6.1.7601]
A DESCRIPTION OF THE PROBLEM :
java.awt.Dialog setvisible method has some thread issue.
It does not wait for the completion of org.eclipse.core.runtime.jobs.Job .It interprets the thread and result is dialog gets hang, if the JOB thread goes to runnable state(Thread.sleep).
In JRE1.7 and earlier version it is working fine.
Call Stack
Unsafe.park(boolean, long) line: not available [native method]
LockSupport.park(Object) line: not available
AbstractQueuedSynchronizer$ConditionObject.await() line: not available
EventQueue.getNextEvent(int) line: not available
EventDispatchThread.pumpOneEventForFilters(int) line: not available
EventDispatchThread.pumpEventsForFilter(int, Conditional, EventFilter) line: not available
EventDispatchThread.pumpEventsForHierarchy(int, Conditional, Component) line: not available
EventDispatchThread.pumpEvents(int, Conditional) line: not available
SequencedEvent.dispatch() line: not available [local variables unavailable]
EventQueue.dispatchEventImpl(AWTEvent, Object) line: not available
EventQueue.access$400(EventQueue, AWTEvent, Object) line: not available
EventQueue$3.run() line: not available
EventQueue$3.run() line: not available
AccessController.doPrivileged(PrivilegedAction<T>, AccessControlContext) line: not available [native method]
ProtectionDomain$1.doIntersectionPrivilege(PrivilegedAction<T>, AccessControlContext, AccessControlContext) line: not available
ProtectionDomain$1.doIntersectionPrivilege(PrivilegedAction<T>, AccessControlContext) line: not available
EventQueue$4.run() line: not available
EventQueue$4.run() line: not available
AccessController.doPrivileged(PrivilegedAction<T>, AccessControlContext) line: not available [native method]
ProtectionDomain$1.doIntersectionPrivilege(PrivilegedAction<T>, AccessControlContext, AccessControlContext) line: not available
EventQueue.dispatchEvent(AWTEvent) line: not available
EventDispatchThread.pumpOneEventForFilters(int) line: not available
EventDispatchThread.pumpEventsForFilter(int, Conditional, EventFilter) line: not available
EventDispatchThread.pumpEventsForFilter(Conditional, EventFilter) line: not available
WaitDispatchSupport$2.run() line: not available [local variables unavailable]
WaitDispatchSupport$4.run() line: not available [local variables unavailable]
WaitDispatchSupport$4.run() line: not available [local variables unavailable]
AccessController.doPrivileged(PrivilegedAction<T>) line: not available [native method]
WaitDispatchSupport.enter() line: not available
BOMPasteDialog(Dialog).show() line: not available [local variables unavailable]
BOMPasteDialog(Component).show(boolean) line: not available
BOMPasteDialog(Component).setVisible(boolean) line: not available
BOMPasteDialog(Window).setVisible(boolean) line: not available
BOMPasteDialog(Dialog).setVisible(boolean) line: not available
BOMPasteDialog(AbstractAIFDialog).setVisible(boolean) line: not available
BOMPasteDialog(AbstractProgressDialog).setVisible(boolean) line: 2270
BOMPasteDialog(AbstractProgressDialog).run() line: 2283
MoveToCommand(AbstractAIFCommand).executeCommand() line: not available
MoveToCommand(AbstractAIFCommand).run() line: not available
MoveToCommand(AbstractAIFCommand).executeSwingCommand() line: not available
AbstractAIFCommand$1.run() line: not available
InvocationEvent.dispatch() line: not available
EventQueue.dispatchEventImpl(AWTEvent, Object) line: not available
EventQueue.access$400(EventQueue, AWTEvent, Object) line: not available
EventQueue$3.run() line: not available
EventQueue$3.run() line: not available
AccessController.doPrivileged(PrivilegedAction<T>, AccessControlContext) line: not available [native method]
ProtectionDomain$1.doIntersectionPrivilege(PrivilegedAction<T>, AccessControlContext, AccessControlContext) line: not available
EventQueue.dispatchEvent(AWTEvent) line: not available
EventDispatchThread.pumpOneEventForFilters(int) line: not available
EventDispatchThread.pumpEventsForFilter(int, Conditional, EventFilter) line: not available
EventDispatchThread.pumpEventsForHierarchy(int, Conditional, Component) line: not available
EventDispatchThread.pumpEvents(int, Conditional) line: not available
EventDispatchThread.pumpEvents(Conditional) line: not available
EventDispatchThread.run() line: not available
REGRESSION. Last worked in version 8u73
ADDITIONAL REGRESSION INFORMATION:
Working fine in all the JRE 1.7 version( JRE1.7.0_01)
Issue is only in JRE 1.8 java version "1.8.0_91"
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Call the super.setVisible method of java.awt.Dialog setvisible parallely start a new thread with org.eclipse.core.runtime.jobs.Job incluse Thread.sleep in the job thread.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Dialog gets hang somtime.
REPRODUCIBILITY :
This bug can be reproduced occasionally.
CUSTOMER SUBMITTED WORKAROUND :
Skip the Thread.sleep or object.wait that brings the thread from running state to runnable state.
SUPPORT :
YES
java version "1.8.0_91"
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 6.1.7601]
A DESCRIPTION OF THE PROBLEM :
java.awt.Dialog setvisible method has some thread issue.
It does not wait for the completion of org.eclipse.core.runtime.jobs.Job .It interprets the thread and result is dialog gets hang, if the JOB thread goes to runnable state(Thread.sleep).
In JRE1.7 and earlier version it is working fine.
Call Stack
Unsafe.park(boolean, long) line: not available [native method]
LockSupport.park(Object) line: not available
AbstractQueuedSynchronizer$ConditionObject.await() line: not available
EventQueue.getNextEvent(int) line: not available
EventDispatchThread.pumpOneEventForFilters(int) line: not available
EventDispatchThread.pumpEventsForFilter(int, Conditional, EventFilter) line: not available
EventDispatchThread.pumpEventsForHierarchy(int, Conditional, Component) line: not available
EventDispatchThread.pumpEvents(int, Conditional) line: not available
SequencedEvent.dispatch() line: not available [local variables unavailable]
EventQueue.dispatchEventImpl(AWTEvent, Object) line: not available
EventQueue.access$400(EventQueue, AWTEvent, Object) line: not available
EventQueue$3.run() line: not available
EventQueue$3.run() line: not available
AccessController.doPrivileged(PrivilegedAction<T>, AccessControlContext) line: not available [native method]
ProtectionDomain$1.doIntersectionPrivilege(PrivilegedAction<T>, AccessControlContext, AccessControlContext) line: not available
ProtectionDomain$1.doIntersectionPrivilege(PrivilegedAction<T>, AccessControlContext) line: not available
EventQueue$4.run() line: not available
EventQueue$4.run() line: not available
AccessController.doPrivileged(PrivilegedAction<T>, AccessControlContext) line: not available [native method]
ProtectionDomain$1.doIntersectionPrivilege(PrivilegedAction<T>, AccessControlContext, AccessControlContext) line: not available
EventQueue.dispatchEvent(AWTEvent) line: not available
EventDispatchThread.pumpOneEventForFilters(int) line: not available
EventDispatchThread.pumpEventsForFilter(int, Conditional, EventFilter) line: not available
EventDispatchThread.pumpEventsForFilter(Conditional, EventFilter) line: not available
WaitDispatchSupport$2.run() line: not available [local variables unavailable]
WaitDispatchSupport$4.run() line: not available [local variables unavailable]
WaitDispatchSupport$4.run() line: not available [local variables unavailable]
AccessController.doPrivileged(PrivilegedAction<T>) line: not available [native method]
WaitDispatchSupport.enter() line: not available
BOMPasteDialog(Dialog).show() line: not available [local variables unavailable]
BOMPasteDialog(Component).show(boolean) line: not available
BOMPasteDialog(Component).setVisible(boolean) line: not available
BOMPasteDialog(Window).setVisible(boolean) line: not available
BOMPasteDialog(Dialog).setVisible(boolean) line: not available
BOMPasteDialog(AbstractAIFDialog).setVisible(boolean) line: not available
BOMPasteDialog(AbstractProgressDialog).setVisible(boolean) line: 2270
BOMPasteDialog(AbstractProgressDialog).run() line: 2283
MoveToCommand(AbstractAIFCommand).executeCommand() line: not available
MoveToCommand(AbstractAIFCommand).run() line: not available
MoveToCommand(AbstractAIFCommand).executeSwingCommand() line: not available
AbstractAIFCommand$1.run() line: not available
InvocationEvent.dispatch() line: not available
EventQueue.dispatchEventImpl(AWTEvent, Object) line: not available
EventQueue.access$400(EventQueue, AWTEvent, Object) line: not available
EventQueue$3.run() line: not available
EventQueue$3.run() line: not available
AccessController.doPrivileged(PrivilegedAction<T>, AccessControlContext) line: not available [native method]
ProtectionDomain$1.doIntersectionPrivilege(PrivilegedAction<T>, AccessControlContext, AccessControlContext) line: not available
EventQueue.dispatchEvent(AWTEvent) line: not available
EventDispatchThread.pumpOneEventForFilters(int) line: not available
EventDispatchThread.pumpEventsForFilter(int, Conditional, EventFilter) line: not available
EventDispatchThread.pumpEventsForHierarchy(int, Conditional, Component) line: not available
EventDispatchThread.pumpEvents(int, Conditional) line: not available
EventDispatchThread.pumpEvents(Conditional) line: not available
EventDispatchThread.run() line: not available
REGRESSION. Last worked in version 8u73
ADDITIONAL REGRESSION INFORMATION:
Working fine in all the JRE 1.7 version( JRE1.7.0_01)
Issue is only in JRE 1.8 java version "1.8.0_91"
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Call the super.setVisible method of java.awt.Dialog setvisible parallely start a new thread with org.eclipse.core.runtime.jobs.Job incluse Thread.sleep in the job thread.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Dialog gets hang somtime.
REPRODUCIBILITY :
This bug can be reproduced occasionally.
CUSTOMER SUBMITTED WORKAROUND :
Skip the Thread.sleep or object.wait that brings the thread from running state to runnable state.
SUPPORT :
YES