On Sep 13, 2009, at 2:02 PM, Juergen Weber wrote:


Hi,

my startup hangs 180s at 37%

        2.2-SNAPSHOT
Build   2009.09.10-08:12:53.147-0400
Ubuntu 9.0.4 in VMWare Player

I took this thread dump:

[**************                          ]  37%  43s Starting
org.apache.ger...2009-09-13 19:56:32

<snip>

"main" prio=10 tid=0x08eab800 nid=0x10ab runnable [0xb7576000]
  java.lang.Thread.State: RUNNABLE
       at java.io.FileInputStream.readBytes(Native Method)
       at java.io.FileInputStream.read(FileInputStream.java:199)
       at
sun.security.provider.NativePRNG$RandomIO.readFully(NativePRNG.java: 185)
       at
sun.security.provider.NativePRNG $RandomIO.implGenerateSeed(NativePRNG.java:202)
       - locked <0xad931778> (a java.lang.Object)
       at
sun.security.provider.NativePRNG$RandomIO.access$300(NativePRNG.java: 108)
       at
sun.security.provider.NativePRNG.engineGenerateSeed(NativePRNG.java: 102) at java.security.SecureRandom.generateSeed(SecureRandom.java: 495)
       at
com .sun .net.ssl.internal.pkcs12.PKCS12KeyStore.getSalt(PKCS12KeyStore.java: 477)
       at
com .sun .net .ssl.internal.pkcs12.PKCS12KeyStore.calculateMac(PKCS12KeyStore.java: 834)
       at
com .sun .net .ssl.internal.pkcs12.PKCS12KeyStore.engineStore(PKCS12KeyStore.java: 788)
       - locked <0xad5a0740> (a
com.sun.net.ssl.internal.pkcs12.PKCS12KeyStore)
       at java.security.KeyStore.store(KeyStore.java:1117)
       at
org.apache.geronimo.crypto.KeystoreUtil.<clinit>(KeystoreUtil.java: 101)
       at
org .apache .geronimo .tomcat .TomcatManagerImpl.addSslConnectorAttributes(TomcatManagerImpl.java: 459)
       at
org .apache .geronimo.tomcat.TomcatManagerImpl.<clinit>(TomcatManagerImpl.java: 112) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)

<snip>

Hi Jurgen,
Your system is running low on entropy. The main thread is trying to generate a random number and is reading from /dev/random to generate a seed value. However, there's not enough external events for the system to generate "random" data for /dev/random.

There's some discussion, here -- 
http://www.nabble.com/Startup-time-delay-in-Ubuntu-server-td21301711s134.html

Using /dev/urandom is likely to be your best bet, though it may affect the quality (i.e. randomness) of your random number. I'm not an expert. So, don't know how concerned you should be...

You may find these useful:

http://n0tablog.wordpress.com/2007/11/24/running-out-of-entropy-in-debian-etch/
http://whatan00b.com/slow-apache-starts-on-ubuntu
http://en.wikipedia.org/wiki/Urandom

--kevan
--kevan

Reply via email to