Attempts to run the HotJava1.0 browser (builds h thru j) with JDK1.1.1b fail.
If the above mentioned browsers are run with JDK1.1.1a, everything works "fine".
The problem typically occurs during or after the execution of the "What's Hot"
applet/welcome mat.
It's difficult to say exactly where the problem is. After a hang, a dbx stack
trace shows the following:
=>[1] _pause(0x6f9, 0x0, 0xef7b0c90, 0x0, 0xef55f6fc, 0xef782c7c), at 0xef4f5ba8
[2] idle_thread(0xed599190, 0x0, 0xfffffff0, 0x1, 0x0, 0x0), at 0xef782c7c
[3] start_func(0x1, 0xed599190, 0xef782c58, 0x0, 0x0, 0x0), at 0xef78e4d4
So possibly we're looking at a deadlock of some sort. Truss shows no
activity. The log file shows no exceptions were thrown at the time of
the hang.
robert.obrien@Eng 1997-03-01
One way to reproduce this is to remove $HOME/.hotjava/properties
first to clear any customization. Also be sure to unsetenv WWW_HOME
if set (since that overrides the default initial home page).
If removing .hotjava/properties is too painful, here are three
properties which should be set as follows (basically hotjava defaults):
hotjava.version=1.325, 02/18/97
hotjava.splash=true
home.url=doc:/lib/hotjava/whats-hot.html
This failure does not happen every time but it seems to happen
more reliably if the mouse cursor is in the middle of the hotjava
window. The whats-hot page is a big imagemap with applets that
do highlighting; so its possible that one of the applets is trying
to do something in response to the mouse cursor position while the
whats-hot.gif image is being loaded (just a thought).
Just to clarify versions. We copy over weekly builds from JavaSoft.
HotJava 1.0j -- built Feb 19 (same as /usr/local/java/hotjava1.0)
JDK1.1.1B -- built Feb 26 (same as /usr/local/java/jdk1.1.1)
JDK1.1.1A -- built Feb 19 (last weeks /usr/local/java/jdk1.1.1)
Per Tim's request here is the java trace when this deadlock occurs:
sunstorm% bin/hotjava -log /dev/tty
HOTJAVA_HOME is set to /net/grifter/export/HotJava/download/hotjava1.0j
THREADS_TYPE is green_threads
[Starting HotJava]
[Initializing globals]
[Creating frame]
[Loading: /home/roberto/.hotjava/urlpool]
[Loaded DTD html32 in 293ms]
^\SIGQUIT 3* quit
Full thread dump:
"ImageMap Animator" (TID:0xed5fe368, sys_thread_t:0xecd10de0, state:CW) prio=1
sun.hotjava.applets.imagemap.ImageMap.run(ImageMap.java:251)
java.lang.Thread.run(Thread.java)
"thread applet-sun.hotjava.applets.imagemap.ImageMap" (TID:0xed5e8f18, sys_thread_t:0xeccb0de0, state:CW) prio=3
java.lang.Object.wait(Object.java)
sun.applet.AppletPanel.getNextEvent(AppletPanel.java:204)
sun.applet.AppletPanel.run(AppletPanel.java:230)
sun.hotjava.tags.TagAppletPanel.run(TagAppletPanel.java:193)
java.lang.Thread.run(Thread.java)
"AWT-Finalizer" (TID:0xed5fe338, sys_thread_t:0xecdd0de0, state:CW) prio=9
java.lang.Object.wait(Object.java)
sun.awt.AWTFinalizer.run(AWTFinalizer.java:48)
"Screen Updater" (TID:0xed5bedd0, sys_thread_t:0xecda0de0, state:CW) prio=4
sun.awt.ScreenUpdater.nextEntry(ScreenUpdater.java:87)
sun.awt.ScreenUpdater.run(ScreenUpdater.java:98)
"AWT-Motif" (TID:0xed5af228, sys_thread_t:0xece30de0, state:CW) prio=5
java.lang.Thread.run(Thread.java)
"AWT-Input" (TID:0xed5af208, sys_thread_t:0xef040de0, state:CW) prio=5
"AWT-EventQueue-0" (TID:0xed5af1e8, sys_thread_t:0xef070de0, state:CW) prio=5
java.awt.EventQueue.getNextEvent(EventQueue.java)
java.awt.EventDispatchThread.run(EventDispatchThread.java)
"Alloc State Notifier" (TID:0xed5adf00, sys_thread_t:0xef1e0de0, state:CW) prio=9
sun.misc.VMNotifierThread.run(VM.java)
"Red Alloc State Notifier" (TID:0xed5adee0, sys_thread_t:0xef210de0, state:CW) prio=10
sun.misc.VMNotifierThread.run(VM.java)
"Request Processor" (TID:0xed5add98, sys_thread_t:0xef240de0, state:CW) 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:0xed5991d8, sys_thread_t:0xef2d0de0, state:CW) prio=1
"Idle thread" (TID:0xed599190, sys_thread_t:0xef300de0, state:R) prio=0 *current thread*
"Clock" (TID:0xed5990d0, sys_thread_t:0xef330de0, state:CW) prio=12
"main" (TID:0xed5990a8, sys_thread_t:0x46550, state:CW) prio=5
Monitor Cache Dump:
java.awt.EventQueue@ED5AF198/ED6D9A88: <unowned>
Waiting to be notified:
"AWT-EventQueue-0"
sun.misc.VMNotifierThread@ED5ADF00/ED6D4A90: <unowned>
Waiting to be notified:
"Alloc State Notifier"
sun.awt.AWTFinalizer@ED5FE338/ED6EE890: <unowned>
Waiting to be notified:
"AWT-Finalizer"
sun.awt.ScreenUpdater@ED5BEDD0/ED6E4F60: <unowned>
Waiting to be notified:
"Screen Updater"
sun.misc.VMNotifierThread@ED5ADEE0/ED6D49D8: <unowned>
Waiting to be notified:
"Red Alloc State Notifier"
sun.hotjava.applets.imagemap.ImageMap@ED5E7A40/ED755E88: <unowned>
Waiting to be notified:
"ImageMap Animator"
sun.hotjava.tags.TagAppletPanel@ED5E9408/ED754C18: <unowned>
Waiting to be notified:
"thread applet-sun.hotjava.applets.imagemap.ImageMap"
sun.awt.motif.MToolkit@ED5AF168/ED6B9A18: <unowned>
Waiting to be notified:
"AWT-Motif"
sun.misc.Queue@ED5ADDC8/ED6D4538: <unowned>
Waiting to be notified:
"Request Processor"
Registered Monitor Dump:
Thread queue lock: <unowned>
Waiting to be notified:
"main"
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"
Monitor IO lock: <unowned>
Child death monitor: <unowned>
Event monitor: <unowned>
I/O monitor: <unowned>
Waiting to be notified:
"AWT-Input"
Alarm monitor: <unowned>
Waiting to be notified:
"Clock"
Sbrk lock: <unowned>
Monitor cache expansion lock: <unowned>
Monitor registry: owner "Idle thread" (0xef300de0, 1 entry)
Thread Alarm Q:
sys_thread_t 0xef040de0 [Timeout in 43 ms]
sys_thread_t 0xecda0de0 [Timeout in 96311 ms]
If the above mentioned browsers are run with JDK1.1.1a, everything works "fine".
The problem typically occurs during or after the execution of the "What's Hot"
applet/welcome mat.
It's difficult to say exactly where the problem is. After a hang, a dbx stack
trace shows the following:
=>[1] _pause(0x6f9, 0x0, 0xef7b0c90, 0x0, 0xef55f6fc, 0xef782c7c), at 0xef4f5ba8
[2] idle_thread(0xed599190, 0x0, 0xfffffff0, 0x1, 0x0, 0x0), at 0xef782c7c
[3] start_func(0x1, 0xed599190, 0xef782c58, 0x0, 0x0, 0x0), at 0xef78e4d4
So possibly we're looking at a deadlock of some sort. Truss shows no
activity. The log file shows no exceptions were thrown at the time of
the hang.
robert.obrien@Eng 1997-03-01
One way to reproduce this is to remove $HOME/.hotjava/properties
first to clear any customization. Also be sure to unsetenv WWW_HOME
if set (since that overrides the default initial home page).
If removing .hotjava/properties is too painful, here are three
properties which should be set as follows (basically hotjava defaults):
hotjava.version=1.325, 02/18/97
hotjava.splash=true
home.url=doc:/lib/hotjava/whats-hot.html
This failure does not happen every time but it seems to happen
more reliably if the mouse cursor is in the middle of the hotjava
window. The whats-hot page is a big imagemap with applets that
do highlighting; so its possible that one of the applets is trying
to do something in response to the mouse cursor position while the
whats-hot.gif image is being loaded (just a thought).
Just to clarify versions. We copy over weekly builds from JavaSoft.
HotJava 1.0j -- built Feb 19 (same as /usr/local/java/hotjava1.0)
JDK1.1.1B -- built Feb 26 (same as /usr/local/java/jdk1.1.1)
JDK1.1.1A -- built Feb 19 (last weeks /usr/local/java/jdk1.1.1)
Per Tim's request here is the java trace when this deadlock occurs:
sunstorm% bin/hotjava -log /dev/tty
HOTJAVA_HOME is set to /net/grifter/export/HotJava/download/hotjava1.0j
THREADS_TYPE is green_threads
[Starting HotJava]
[Initializing globals]
[Creating frame]
[Loading: /home/roberto/.hotjava/urlpool]
[Loaded DTD html32 in 293ms]
^\SIGQUIT 3* quit
Full thread dump:
"ImageMap Animator" (TID:0xed5fe368, sys_thread_t:0xecd10de0, state:CW) prio=1
sun.hotjava.applets.imagemap.ImageMap.run(ImageMap.java:251)
java.lang.Thread.run(Thread.java)
"thread applet-sun.hotjava.applets.imagemap.ImageMap" (TID:0xed5e8f18, sys_thread_t:0xeccb0de0, state:CW) prio=3
java.lang.Object.wait(Object.java)
sun.applet.AppletPanel.getNextEvent(AppletPanel.java:204)
sun.applet.AppletPanel.run(AppletPanel.java:230)
sun.hotjava.tags.TagAppletPanel.run(TagAppletPanel.java:193)
java.lang.Thread.run(Thread.java)
"AWT-Finalizer" (TID:0xed5fe338, sys_thread_t:0xecdd0de0, state:CW) prio=9
java.lang.Object.wait(Object.java)
sun.awt.AWTFinalizer.run(AWTFinalizer.java:48)
"Screen Updater" (TID:0xed5bedd0, sys_thread_t:0xecda0de0, state:CW) prio=4
sun.awt.ScreenUpdater.nextEntry(ScreenUpdater.java:87)
sun.awt.ScreenUpdater.run(ScreenUpdater.java:98)
"AWT-Motif" (TID:0xed5af228, sys_thread_t:0xece30de0, state:CW) prio=5
java.lang.Thread.run(Thread.java)
"AWT-Input" (TID:0xed5af208, sys_thread_t:0xef040de0, state:CW) prio=5
"AWT-EventQueue-0" (TID:0xed5af1e8, sys_thread_t:0xef070de0, state:CW) prio=5
java.awt.EventQueue.getNextEvent(EventQueue.java)
java.awt.EventDispatchThread.run(EventDispatchThread.java)
"Alloc State Notifier" (TID:0xed5adf00, sys_thread_t:0xef1e0de0, state:CW) prio=9
sun.misc.VMNotifierThread.run(VM.java)
"Red Alloc State Notifier" (TID:0xed5adee0, sys_thread_t:0xef210de0, state:CW) prio=10
sun.misc.VMNotifierThread.run(VM.java)
"Request Processor" (TID:0xed5add98, sys_thread_t:0xef240de0, state:CW) 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:0xed5991d8, sys_thread_t:0xef2d0de0, state:CW) prio=1
"Idle thread" (TID:0xed599190, sys_thread_t:0xef300de0, state:R) prio=0 *current thread*
"Clock" (TID:0xed5990d0, sys_thread_t:0xef330de0, state:CW) prio=12
"main" (TID:0xed5990a8, sys_thread_t:0x46550, state:CW) prio=5
Monitor Cache Dump:
java.awt.EventQueue@ED5AF198/ED6D9A88: <unowned>
Waiting to be notified:
"AWT-EventQueue-0"
sun.misc.VMNotifierThread@ED5ADF00/ED6D4A90: <unowned>
Waiting to be notified:
"Alloc State Notifier"
sun.awt.AWTFinalizer@ED5FE338/ED6EE890: <unowned>
Waiting to be notified:
"AWT-Finalizer"
sun.awt.ScreenUpdater@ED5BEDD0/ED6E4F60: <unowned>
Waiting to be notified:
"Screen Updater"
sun.misc.VMNotifierThread@ED5ADEE0/ED6D49D8: <unowned>
Waiting to be notified:
"Red Alloc State Notifier"
sun.hotjava.applets.imagemap.ImageMap@ED5E7A40/ED755E88: <unowned>
Waiting to be notified:
"ImageMap Animator"
sun.hotjava.tags.TagAppletPanel@ED5E9408/ED754C18: <unowned>
Waiting to be notified:
"thread applet-sun.hotjava.applets.imagemap.ImageMap"
sun.awt.motif.MToolkit@ED5AF168/ED6B9A18: <unowned>
Waiting to be notified:
"AWT-Motif"
sun.misc.Queue@ED5ADDC8/ED6D4538: <unowned>
Waiting to be notified:
"Request Processor"
Registered Monitor Dump:
Thread queue lock: <unowned>
Waiting to be notified:
"main"
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"
Monitor IO lock: <unowned>
Child death monitor: <unowned>
Event monitor: <unowned>
I/O monitor: <unowned>
Waiting to be notified:
"AWT-Input"
Alarm monitor: <unowned>
Waiting to be notified:
"Clock"
Sbrk lock: <unowned>
Monitor cache expansion lock: <unowned>
Monitor registry: owner "Idle thread" (0xef300de0, 1 entry)
Thread Alarm Q:
sys_thread_t 0xef040de0 [Timeout in 43 ms]
sys_thread_t 0xecda0de0 [Timeout in 96311 ms]