Java Web Start & JNLP - Webstart hangs

Hello,

I have an app that I am running in online mode. I have the shortcut tag set to online="true" and I do NOT have the offline-allowed tag in my JNLP.

When the server that the app checks is not running, what should the behavior be?

Under 1.5.0_11 and under 1.6.0 on Windows, it fires up, displays the Java splash screen, and then just stops. The splash screen goes away and it leaves a lingering javaw process.

There is no error message, no other feedback.

I searched the forum a bit, but perhaps I missed this topic already. Could someone point me to how to get it to display an error message, or if it is a bug, point me at the known issue?

Thanks in advance!

[708 byte] By [gennadiusa] at [2007-11-26 23:08:22]
# 1

As an addendum, it appears that even if I specify offline-allowed and online="false" for the shortcut, whenever I attempt to launch from the cache viewer or from the shortcut the behavior is the same as in my original post. In light of that, is this a more general bug that is tied to all the questions that have recently been posted with respects to the offline-allowed behavior and other unresponsive scenarios?

Thanks again!

gennadiusa at 2007-7-10 14:03:01 > top of Java-index,Desktop,Deploying...
# 2
I have the posted the exact same problem on this forum a few days ago. We have experienced this on jre 1.5 and jre 1.6 versions.
phill_dixona at 2007-7-10 14:03:01 > top of Java-index,Desktop,Deploying...
# 3

if the hang is in the java process, you should get the stack trace when the hang happens and post it here.

easiest way to do so is go to your jre/bin directory, make a back up of javaw.exe, and then overwrite javaw.exe with java.exe.

now invoke your app with java web start again and make it hang. this time when java web start starts the java process, it should start up a console window as well (because javaw.exe is replaced by java.exe), and then when the hang happens, you can press ctrl-break in the java console window and get the stack dump.

funchunga at 2007-7-10 14:03:01 > top of Java-index,Desktop,Deploying...
# 4

Just tried replacing javaw with java and the popped up console is completely empty, still fails to launch although it is less frequent. Still an intermitant problem.

Also have looked through the deployment home and this is the contents of the log file:

<?xml version="1.0" encoding="windows-1252" standalone="no"?>

<!DOCTYPE log SYSTEM "logger.dtd">

<log>

</log>

so nothing there either

phill_dixona at 2007-7-10 14:03:01 > top of Java-index,Desktop,Deploying...
# 5
does the app hang or just silently exit ?If it hangs, in the console window (java.exe), press ctrl-break to get the stack dump.
funchunga at 2007-7-10 14:03:01 > top of Java-index,Desktop,Deploying...
# 6

The stack trace from the console (using CTRL-Break thanks)

2007-04-04 08:41:08

Full thread dump Java HotSpot(TM) Client VM (1.6.0-b105 mixed mode):

"AWT-EventQueue-0" prio=6 tid=0x26c5a000 nid=0xe84 in Object.wait() [0x27aaf000.

.0x27aafb14]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x0510e960> (a java.awt.EventQueue)

at java.lang.Object.wait(Object.java:485)

at java.awt.EventQueue.getNextEvent(Unknown Source)

- locked <0x0510e960> (a java.awt.EventQueue)

at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)

"TimerQueue" daemon prio=6 tid=0x2700ec00 nid=0xbc in Object.wait() [0x2779f000.

.0x2779fb14]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x05196aa0> (a javax.swing.TimerQueue)

at javax.swing.TimerQueue.run(Unknown Source)

- locked <0x05196aa0> (a javax.swing.TimerQueue)

at java.lang.Thread.run(Unknown Source)

"CacheCleanUpThread" daemon prio=6 tid=0x26fc9000 nid=0x524 in Object.wait() [0x

275ff000..0x275ffb94]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x05196ab0> (a com.sun.deploy.cache.CleanupThread)

at java.lang.Object.wait(Object.java:485)

at com.sun.deploy.cache.CleanupThread.run(Unknown Source)

- locked <0x05196ab0> (a com.sun.deploy.cache.CleanupThread)

"ConsoleWriterThread" daemon prio=6 tid=0x26fc4800 nid=0xfc4 in Object.wait() [0

x275af000..0x275afc14]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x05196bb8> (a java.lang.Object)

at java.lang.Object.wait(Object.java:485)

at com.sun.deploy.util.ConsoleTraceListener$ConsoleWriterThread.run(Unkn

own Source)

- locked <0x05196bb8> (a java.lang.Object)

"AWT-EventQueue-1" prio=6 tid=0x26fc1400 nid=0x940 in Object.wait() [0x2755f000.

.0x2755fc94]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x05196c40> (a java.awt.EventQueue)

at java.lang.Object.wait(Object.java:485)

at java.awt.EventQueue.getNextEvent(Unknown Source)

- locked <0x05196c40> (a java.awt.EventQueue)

at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)

"traceMsgQueueThread" daemon prio=6 tid=0x26f72400 nid=0xc14 in Object.wait() [0

x2739f000..0x2739fd94]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x05196da8> (a java.util.ArrayList)

at java.lang.Object.wait(Object.java:485)

at com.sun.deploy.util.Trace$TraceMsgQueueChecker.run(Unknown Source)

- locked <0x05196da8> (a java.util.ArrayList)

at java.lang.Thread.run(Unknown Source)

"DestroyJavaVM" prio=6 tid=0x00397000 nid=0x8b0 waiting on condition [0x00000000

..0x003ffd4c]

java.lang.Thread.State: RUNNABLE

"Java Web Start Main Thread" prio=6 tid=0x26f63800 nid=0xc48 in Object.wait() [0

x272ef000..0x272efa14]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x05234a58> (a java.lang.Object)

at com.sun.javaws.Launcher$RapidUpdateCheck.doUpdateCheck(Unknown Source

)

- locked <0x05234a58> (a java.lang.Object)

at com.sun.javaws.Launcher$RapidUpdateCheck.access$000(Unknown Source)

at com.sun.javaws.Launcher.prepareLaunchFile(Unknown Source)

at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)

at com.sun.javaws.Launcher.launch(Unknown Source)

at com.sun.javaws.Main.launchApp(Unknown Source)

at com.sun.javaws.Main.continueInSecureThread(Unknown Source)

at com.sun.javaws.Main$1.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

"AWT-Windows" daemon prio=6 tid=0x26f62c00 nid=0xb10 runnable [0x2729f000..0x272

9fa94]

java.lang.Thread.State: RUNNABLE

at sun.awt.windows.WToolkit.eventLoop(Native Method)

at sun.awt.windows.WToolkit.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

"AWT-Shutdown" prio=6 tid=0x26f61800 nid=0xd90 in Object.wait() [0x2724f000..0x2

724fb14]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x05196fe0> (a java.lang.Object)

at java.lang.Object.wait(Object.java:485)

at sun.awt.AWTAutoShutdown.run(Unknown Source)

- locked <0x05196fe0> (a java.lang.Object)

at java.lang.Thread.run(Unknown Source)

"Java2D Disposer" daemon prio=10 tid=0x26f60800 nid=0xf58 in Object.wait() [0x27

1ff000..0x271ffb94]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x05197078> (a java.lang.ref.ReferenceQueue$Lock)

at java.lang.ref.ReferenceQueue.remove(Unknown Source)

- locked <0x05197078> (a java.lang.ref.ReferenceQueue$Lock)

at java.lang.ref.ReferenceQueue.remove(Unknown Source)

at sun.java2d.Disposer.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

"Low Memory Detector" daemon prio=6 tid=0x26c4c000 nid=0x758 runnable [0x0000000

0..0x00000000]

java.lang.Thread.State: RUNNABLE

"CompilerThread0" daemon prio=10 tid=0x26c47000 nid=0x93c waiting on condition [

0x00000000..0x26e9f998]

java.lang.Thread.State: RUNNABLE

"Attach Listener" daemon prio=10 tid=0x26c46000 nid=0x894 runnable [0x00000000..

0x00000000]

java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x26c45000 nid=0x890 waiting on condition

[0x00000000..0x00000000]

java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=8 tid=0x26c37400 nid=0x620 in Object.wait() [0x26daf000.

.0x26dafa94]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x051972d0> (a java.lang.ref.ReferenceQueue$Lock)

at java.lang.ref.ReferenceQueue.remove(Unknown Source)

- locked <0x051972d0> (a java.lang.ref.ReferenceQueue$Lock)

at java.lang.ref.ReferenceQueue.remove(Unknown Source)

at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

"Reference Handler" daemon prio=10 tid=0x26c33000 nid=0x6e8 in Object.wait() [0x

26d5f000..0x26d5fb14]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x051969e0> (a java.lang.ref.Reference$Lock)

at java.lang.Object.wait(Object.java:485)

at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)

- locked <0x051969e0> (a java.lang.ref.Reference$Lock)

"VM Thread" prio=10 tid=0x26c2fc00 nid=0xfa8 runnable

"VM Periodic Task Thread" prio=10 tid=0x26c4d800 nid=0x51c waiting on condition

JNI global references: 903

Heap

def new generationtotal 4544K, used 4489K [0x02970000, 0x02e50000, 0x050d000

0)

eden space 4096K, 98% used [0x02970000, 0x02d62620, 0x02d70000)

from space 448K, 100% used [0x02de0000, 0x02e50000, 0x02e50000)

tospace 448K,0% used [0x02d70000, 0x02d70000, 0x02de0000)

tenured generationtotal 60544K, used 1912K [0x050d0000, 0x08bf0000, 0x229700

00)

the space 60544K,3% used [0x050d0000, 0x052ae290, 0x052ae400, 0x08bf0000)

compacting perm gen total 12288K, used 11922K [0x22970000, 0x23570000, 0x26970

000)

the space 12288K, 97% used [0x22970000, 0x23514880, 0x23514a00, 0x23570000)

No shared spaces configured.

phill_dixona at 2007-7-10 14:03:01 > top of Java-index,Desktop,Deploying...
# 7
did u do "update check=always" in the jnlp file ?Seems like java web start is trying to do an update check, but never got reply from server, so it keeps spinning.
funchunga at 2007-7-10 14:03:01 > top of Java-index,Desktop,Deploying...
# 8

I am having the same problem & hope someone can help.

Here's my jnlp file (also tried it with <update check="background"/>:

<?xml version="1.0" encoding="utf-8"?>

<jnlp spec="0.2 1.0"

codebase="http://www.mydomain.com/mailfwd/front/downloads/"

href="mailfwdclient.jnlp">

<information>

<title>Mail Forwarding Client</title>

<vendor>us</vendor>

<homepage href=""/>

<description>Allows information to be downloaded and printed onto labels for mail forwarding.</description>

<description kind="short">Print mail forwarding labels.</description>

<offline-allowed/>

</information>

<resources>

<j2se version="1.3+" href="http://java.sun.com/products/autodl/j2se"/>

<j2se version="1.3+"/>

<jar href="mailfwdclient.jar" main="true" download="eager"/>

</resources>

<application-desc main-class="MailForwardApp"/>

</jnlp>

And here's the stack trace:

2007-04-26 10:07:08

Full thread dump Java HotSpot(TM) Client VM (1.6.0-b105 mixed mode):

"AWT-EventQueue-0" prio=6 tid=0x0b345400 nid=0xc00 in Object.wait() [0x0ba8f000.

.0x0ba8fa94]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x02e99ca8> (a java.awt.EventQueue)

at java.lang.Object.wait(Object.java:485)

at java.awt.EventQueue.getNextEvent(Unknown Source)

- locked <0x02e99ca8> (a java.awt.EventQueue)

at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)

"TimerQueue" daemon prio=6 tid=0x0b362400 nid=0x7ac in Object.wait() [0x0af8f000

..0x0af8fa14]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x02f7ae90> (a javax.swing.TimerQueue)

at javax.swing.TimerQueue.run(Unknown Source)

- locked <0x02f7ae90> (a javax.swing.TimerQueue)

at java.lang.Thread.run(Unknown Source)

"AWT-EventQueue-1" prio=6 tid=0x0b32e400 nid=0x620 in Object.wait() [0x0bb2f000.

.0x0bb2fa14]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x02ea33c8> (a java.awt.EventQueue)

at java.lang.Object.wait(Object.java:485)

at java.awt.EventQueue.getNextEvent(Unknown Source)

- locked <0x02ea33c8> (a java.awt.EventQueue)

at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)

"AWT-Shutdown" prio=6 tid=0x0b32dc00 nid=0xc58 in Object.wait() [0x0badf000..0x0

badfa94]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x02eb72d0> (a java.lang.Object)

at java.lang.Object.wait(Object.java:485)

at sun.awt.AWTAutoShutdown.run(Unknown Source)

- locked <0x02eb72d0> (a java.lang.Object)

at java.lang.Thread.run(Unknown Source)

"CacheCleanUpThread" daemon prio=6 tid=0x0b21d800 nid=0xe8c in Object.wait() [0x

0b4af000..0x0b4afc14]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x02ee6668> (a com.sun.deploy.cache.CleanupThread)

at java.lang.Object.wait(Object.java:485)

at com.sun.deploy.cache.CleanupThread.run(Unknown Source)

- locked <0x02ee6668> (a com.sun.deploy.cache.CleanupThread)

"traceMsgQueueThread" daemon prio=6 tid=0x0ab0f000 nid=0x664 in Object.wait() [0

x0b1bf000..0x0b1bfd94]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x02ebbb28> (a java.util.ArrayList)

at java.lang.Object.wait(Object.java:485)

at com.sun.deploy.util.Trace$TraceMsgQueueChecker.run(Unknown Source)

- locked <0x02ebbb28> (a java.util.ArrayList)

at java.lang.Thread.run(Unknown Source)

"DestroyJavaVM" prio=6 tid=0x002a7000 nid=0x424 waiting on condition [0x00000000

..0x003ffd4c]

java.lang.Thread.State: RUNNABLE

"AWT-Windows" daemon prio=6 tid=0x0ab00400 nid=0xaac runnable [0x0ae9f000..0x0ae

9fa94]

java.lang.Thread.State: RUNNABLE

at sun.awt.windows.WToolkit.eventLoop(Native Method)

at sun.awt.windows.WToolkit.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

"Java2D Disposer" daemon prio=10 tid=0x0aafe800 nid=0x99c in Object.wait() [0x0a

dff000..0x0adffb94]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x02eb7368> (a java.lang.ref.ReferenceQueue$Lock)

at java.lang.ref.ReferenceQueue.remove(Unknown Source)

- locked <0x02eb7368> (a java.lang.ref.ReferenceQueue$Lock)

at java.lang.ref.ReferenceQueue.remove(Unknown Source)

at sun.java2d.Disposer.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

"Low Memory Detector" daemon prio=6 tid=0x0aa9c800 nid=0xef0 runnable [0x0000000

0..0x00000000]

java.lang.Thread.State: RUNNABLE

"CompilerThread0" daemon prio=10 tid=0x0aa97800 nid=0x9a4 waiting on condition [

0x00000000..0x0acef69c]

java.lang.Thread.State: RUNNABLE

"Attach Listener" daemon prio=10 tid=0x0aa96400 nid=0xce4 runnable [0x00000000..

0x00000000]

java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x0aa95800 nid=0x830 waiting on condition

[0x00000000..0x00000000]

java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=8 tid=0x0aa87c00 nid=0x604 in Object.wait() [0x0abff000.

.0x0abffa14]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x02eb75c0> (a java.lang.ref.ReferenceQueue$Lock)

at java.lang.ref.ReferenceQueue.remove(Unknown Source)

- locked <0x02eb75c0> (a java.lang.ref.ReferenceQueue$Lock)

at java.lang.ref.ReferenceQueue.remove(Unknown Source)

at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

"Reference Handler" daemon prio=10 tid=0x0aa83800 nid=0xa78 in Object.wait() [0x

0abaf000..0x0abafb14]

java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

- waiting on <0x02eb7188> (a java.lang.ref.Reference$Lock)

at java.lang.Object.wait(Object.java:485)

at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)

- locked <0x02eb7188> (a java.lang.ref.Reference$Lock)

"VM Thread" prio=10 tid=0x0aa80400 nid=0xa90 runnable

"VM Periodic Task Thread" prio=10 tid=0x0aa9dc00 nid=0xaec waiting on condition

JNI global references: 863

Heap

def new generationtotal 960K, used 318K [0x02970000, 0x02a70000, 0x02e50000)

eden space 896K, 28% used [0x02970000, 0x029af990, 0x02a50000)

from space 64K, 100% used [0x02a50000, 0x02a60000, 0x02a60000)

tospace 64K,0% used [0x02a60000, 0x02a60000, 0x02a70000)

tenured generationtotal 4096K, used 1307K [0x02e50000, 0x03250000, 0x0697000

0)

the space 4096K, 31% used [0x02e50000, 0x02f96fd0, 0x02f97000, 0x03250000)

compacting perm gen total 12288K, used 10820K [0x06970000, 0x07570000, 0x0a970

000)

the space 12288K, 88% used [0x06970000, 0x07401228, 0x07401400, 0x07570000)

No shared spaces configured.

rehevkor5a at 2007-7-10 14:03:01 > top of Java-index,Desktop,Deploying...