-
Bug
-
Resolution: Cannot Reproduce
-
P4
-
None
-
1.1.7
-
sparc
-
solaris_2.6
To reproduce this bug, run the regression test
test/java/awt/Dialog/HideDialogTest/HideDialogTest.html
(The test has also been attached to this bug for convenience.)
Click the "test" button to show the modal dialog, and then click the "dismiss-
with-dispose" button. You will need to repeat this about 50 times to see the
following crash:
Xt error
SIGSEGV 11* segmentation violation
si_signo [11]: SIGSEGV 11* segmentation violation
si_errno [0]: Error 0
si_code [1]: SEGV_MAPERR [addr: 0x154]
stackbase=EDDF2000, stackpointer=EDDF0FD0
Full thread dump:
"Screen Updater" (TID:0xee314680, sys_thread_t:0xeddc1db8, state:CW) prio=4
java.lang.Object.wait(Object.java)
sun.awt.ScreenUpdater.nextEntry(ScreenUpdater.java:70)
sun.awt.ScreenUpdater.run(ScreenUpdater.java:90)
"AWT-Motif" (TID:0xee312640, sys_thread_t:0xeddf1db8, state:R) prio=5: pending=java.lang.NullPointerException *current thread*
java.lang.Thread.run(Thread.java)
"AWT-Input" (TID:0xee312660, sys_thread_t:0xedfc1db8, state:CW) prio=5
"AWT-EventQueue-0" (TID:0xee312678, sys_thread_t:0xedff1db8, state:CW) prio=5
java.lang.Object.wait(Object.java)
java.awt.EventQueue.getNextEvent(EventQueue.java:118)
java.awt.EventDispatchThread.run(EventDispatchThread.java:67)
"thread applet-HideDialogTest" (TID:0xee311b00, sys_thread_t:0xef2c1db8, state:CW) prio=4
java.lang.Object.wait(Object.java)
sun.applet.AppletPanel.getNextEvent(AppletPanel.java:214)
sun.applet.AppletPanel.run(AppletPanel.java:238)
java.lang.Thread.run(Thread.java)
"Finalizer thread" (TID:0xee300210, sys_thread_t:0xef2f1db8, state:CW) prio=1
"Async Garbage Collector" (TID:0xee300258, sys_thread_t:0xef3f1db8, state:R) prio=1
"Idle thread" (TID:0xee3002a0, sys_thread_t:0xef4c1db8, state:R) prio=0
"Clock" (TID:0xee300088, sys_thread_t:0xef4f1db8, state:CW) prio=12
"main" (TID:0xee3000b0, sys_thread_t:0x45f20, state:CW) prio=5
Monitor Cache Dump:
sun.awt.ScreenUpdater@EE314680/EE381030: <unowned>
Waiting to be notified:
"Screen Updater" (0xeddc1db8)
sun.awt.motif.MToolkit@EE312440/EE379230: owner "AWT-Motif" (0xeddf1db8, 1 entry)
Waiting to be notified:
"AWT-Input" (0xedfc1db8)
java.awt.EventQueue@EE312410/EE379680: <unowned>
Waiting to be notified:
"AWT-EventQueue-0" (0xedff1db8)
sun.applet.AppletViewerPanel@EE3117E0/EE3764A8: <unowned>
Waiting to be notified:
"thread applet-HideDialogTest" (0xef2c1db8)
<unknown key> (0xef3f1db8): owner "Async Garbage Collector" (0xef3f1db8, 1 entry)
Registered Monitor Dump:
Thread queue lock: <unowned>
Waiting to be notified:
"main" (0x45f20)
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>
Heap lock: <unowned>
Has finalization queue lock: <unowned>
Finalize me queue lock: <unowned>
Waiting to be notified:
"Finalizer thread" (0xef2f1db8)
Dynamic loading lock: <unowned>
Monitor IO lock: <unowned>
Child death monitor: <unowned>
Event monitor: <unowned>
I/O monitor: <unowned>
Alarm monitor: <unowned>
Waiting to be notified:
"Clock" (0xef4f1db8)
Sbrk lock: <unowned>
Monitor registry: owner "AWT-Motif" (0xeddf1db8, 1 entry)
Thread Alarm Q:
Abort (core dumped)
The crash seems to happen only with green threads. A core file has been
attached. Analyzing the core in dbx, we can see that the XEvent structure
has a NIL display. This probably causes the crash in _XtSortPerDisplayList.
This bug may have been introduced by the XPutBack change to awt_Component.c.
We know that this change is wrong for at least one reason: it can cause
out-of-order execution of XEvents. This problem has been fixed in 1.2, but
not in 1.1.7. See the current 1.2 codebase for the corrected implementation.
test/java/awt/Dialog/HideDialogTest/HideDialogTest.html
(The test has also been attached to this bug for convenience.)
Click the "test" button to show the modal dialog, and then click the "dismiss-
with-dispose" button. You will need to repeat this about 50 times to see the
following crash:
Xt error
SIGSEGV 11* segmentation violation
si_signo [11]: SIGSEGV 11* segmentation violation
si_errno [0]: Error 0
si_code [1]: SEGV_MAPERR [addr: 0x154]
stackbase=EDDF2000, stackpointer=EDDF0FD0
Full thread dump:
"Screen Updater" (TID:0xee314680, sys_thread_t:0xeddc1db8, state:CW) prio=4
java.lang.Object.wait(Object.java)
sun.awt.ScreenUpdater.nextEntry(ScreenUpdater.java:70)
sun.awt.ScreenUpdater.run(ScreenUpdater.java:90)
"AWT-Motif" (TID:0xee312640, sys_thread_t:0xeddf1db8, state:R) prio=5: pending=java.lang.NullPointerException *current thread*
java.lang.Thread.run(Thread.java)
"AWT-Input" (TID:0xee312660, sys_thread_t:0xedfc1db8, state:CW) prio=5
"AWT-EventQueue-0" (TID:0xee312678, sys_thread_t:0xedff1db8, state:CW) prio=5
java.lang.Object.wait(Object.java)
java.awt.EventQueue.getNextEvent(EventQueue.java:118)
java.awt.EventDispatchThread.run(EventDispatchThread.java:67)
"thread applet-HideDialogTest" (TID:0xee311b00, sys_thread_t:0xef2c1db8, state:CW) prio=4
java.lang.Object.wait(Object.java)
sun.applet.AppletPanel.getNextEvent(AppletPanel.java:214)
sun.applet.AppletPanel.run(AppletPanel.java:238)
java.lang.Thread.run(Thread.java)
"Finalizer thread" (TID:0xee300210, sys_thread_t:0xef2f1db8, state:CW) prio=1
"Async Garbage Collector" (TID:0xee300258, sys_thread_t:0xef3f1db8, state:R) prio=1
"Idle thread" (TID:0xee3002a0, sys_thread_t:0xef4c1db8, state:R) prio=0
"Clock" (TID:0xee300088, sys_thread_t:0xef4f1db8, state:CW) prio=12
"main" (TID:0xee3000b0, sys_thread_t:0x45f20, state:CW) prio=5
Monitor Cache Dump:
sun.awt.ScreenUpdater@EE314680/EE381030: <unowned>
Waiting to be notified:
"Screen Updater" (0xeddc1db8)
sun.awt.motif.MToolkit@EE312440/EE379230: owner "AWT-Motif" (0xeddf1db8, 1 entry)
Waiting to be notified:
"AWT-Input" (0xedfc1db8)
java.awt.EventQueue@EE312410/EE379680: <unowned>
Waiting to be notified:
"AWT-EventQueue-0" (0xedff1db8)
sun.applet.AppletViewerPanel@EE3117E0/EE3764A8: <unowned>
Waiting to be notified:
"thread applet-HideDialogTest" (0xef2c1db8)
<unknown key> (0xef3f1db8): owner "Async Garbage Collector" (0xef3f1db8, 1 entry)
Registered Monitor Dump:
Thread queue lock: <unowned>
Waiting to be notified:
"main" (0x45f20)
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>
Heap lock: <unowned>
Has finalization queue lock: <unowned>
Finalize me queue lock: <unowned>
Waiting to be notified:
"Finalizer thread" (0xef2f1db8)
Dynamic loading lock: <unowned>
Monitor IO lock: <unowned>
Child death monitor: <unowned>
Event monitor: <unowned>
I/O monitor: <unowned>
Alarm monitor: <unowned>
Waiting to be notified:
"Clock" (0xef4f1db8)
Sbrk lock: <unowned>
Monitor registry: owner "AWT-Motif" (0xeddf1db8, 1 entry)
Thread Alarm Q:
Abort (core dumped)
The crash seems to happen only with green threads. A core file has been
attached. Analyzing the core in dbx, we can see that the XEvent structure
has a NIL display. This probably causes the crash in _XtSortPerDisplayList.
This bug may have been introduced by the XPutBack change to awt_Component.c.
We know that this change is wrong for at least one reason: it can cause
out-of-order execution of XEvents. This problem has been fixed in 1.2, but
not in 1.1.7. See the current 1.2 codebase for the corrected implementation.