Timer already canceled

2007-02-28 Thread Spotts, Joel \(ISS Atlanta\)
I am getting the following exception when geronimo starts up and tries
to initialize my ear. What could cause the geronimo timer to be
canceled?

[*** ] 93%  70s Starting iss/SiteProtector/1.0...
[*** ] 93%  70s Starting
iss/SiteProtector/1.0...2007-02-23 10:52:49,687 [main] ERROR
[GBeanInstanceState] Error while starting; GBean is now in the FAILED
state:
abstractName=iss/SiteProtector/1.0/car?J2EEApplication=iss/SiteProtecto
r/1.0/car,j2eeType=WebModule,name=spmain.war
java.lang.IllegalStateException: Timer already cancelled.
at java.util.Timer.sched(Timer.java:354)
at java.util.Timer.schedule(Timer.java:170)
at
org.apache.geronimo.system.configuration.LocalAttributeManager.attribute
Changed(LocalAttributeManager.java:642)
at
org.apache.geronimo.system.configuration.LocalAttributeManager.setValue(
LocalAttributeManager.java:295)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.updateManageableAttribut
e(GBeanInstance.java:765)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.setAttribute(GBeanInstan
ce.java:718)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.setAttribute(GBeanInstan
ce.java:698)
at
org.apache.geronimo.gbean.runtime.RawInvoker.setAttribute(RawInvoker.jav
a:53)
at
org.apache.geronimo.kernel.basic.RawSetAttributeInvoker.invoke(RawSetAtt
ributeInvoker.java:35)
at
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyM
ethodInterceptor.java:96)
at
org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$914f4ec.set
CatalinaHome(generated)
at
org.apache.geronimo.tomcat.TomcatContainer.init(TomcatContainer.java:8
7)
at
org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$914f4ec.in
it(generated)
at
org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$914f4ec$$Fa
stClassByCGLIB$$6f2babf5.newInstance(generated)
at net.sf.cglib.reflect.FastClass.newInstance(FastClass.java:91)
at
org.apache.geronimo.kernel.basic.BasicProxyManager$ManagedProxyFactory.c
reateProxy(BasicProxyManager.java:213)
at
org.apache.geronimo.kernel.basic.BasicProxyManager.createProxy(BasicProx
yManager.java:103)
at
org.apache.geronimo.gbean.runtime.GBeanSingleReference.start(GBeanSingle
Reference.java:82)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInst
ance.java:887)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GB
eanInstanceState.java:267)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstance
State.java:102)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBea
nInstanceState.java:124)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInst
ance.java:540)
at
org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKe
rnel.java:379)
at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGB
eans(ConfigurationUtil.java:374)
at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGB
eans(ConfigurationUtil.java:411)
at
org.apache.geronimo.kernel.config.KernelConfigurationManager.start(Kerne
lConfigurationManager.java:187)
at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfig
uration(SimpleConfigurationManager.java:527)
at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfig
uration(SimpleConfigurationManager.java:508)
at
org.apache.geronimo.kernel.config.SimpleConfigurationManager$$FastClassB
yCGLIB$$ce77a924.invoke(generated)
at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInv
oker.java:38)
at
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.j
ava:122)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.jav
a:817)
at
org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
at
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperation
Invoker.java:35)
at
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyM
ethodInterceptor.java:96)
at
org.apache.geronimo.gbean.GBeanLifecycle$$EnhancerByCGLIB$$206c0a2d.star
tConfiguration(generated)
at
org.apache.geronimo.system.main.Daemon.doStartup(Daemon.java:297)
at org.apache.geronimo.system.main.Daemon.init(Daemon.java:74)
at org.apache.geronimo.system.main.Daemon.main(Daemon.java:377)


Thanks,

Yoel


Re: Timer already canceled

2007-02-28 Thread David Jencks
It's a little hard to tell from this, especially without knowing the  
geronimo version.

LocalAttributeManager
line 642 is in the doFail method in my copy, which would mean  
something pretty serious happened to prevent server startup from  
continuing.  Did you really supply the entire stack trace?  I'd  
expect something more in the blank lines.  Maybe var/log/geronimo.log  
has more detail?


You might get more information by setting load=false for your app in  
config.xml and then starting the app using the admin console.


thanks
david jencks



On Feb 28, 2007, at 12:37 PM, Spotts, Joel ((ISS Atlanta)) wrote:

I am getting the following exception when geronimo starts up and  
tries to initialize my ear. What could cause the geronimo timer to  
be canceled?


[*** ] 93%  70s Starting iss/SiteProtector/1.0...
[*** ] 93%  70s Starting iss/SiteProtector/ 
1.0...2007-02-23 10:52:49,687 [main] ERROR [GBeanInstanceState]  
Error while starting; GBean is now in the FAILED state:  
abstractName=iss/SiteProtector/1.0/car?J2EEApplication=iss/ 
SiteProtector/1.0/car,j2eeType=WebModule,name=spmain.war


java.lang.IllegalStateException: Timer already cancelled.
at java.util.Timer.sched(Timer.java:354)
at java.util.Timer.schedule(Timer.java:170)
at  
org.apache.geronimo.system.configuration.LocalAttributeManager.attribu 
teChanged(LocalAttributeManager.java:642)


at  
org.apache.geronimo.system.configuration.LocalAttributeManager.setValu 
e(LocalAttributeManager.java:295)
at  
org.apache.geronimo.gbean.runtime.GBeanInstance.updateManageableAttrib 
ute(GBeanInstance.java:765)
at  
org.apache.geronimo.gbean.runtime.GBeanInstance.setAttribute 
(GBeanInstance.java:718)
at  
org.apache.geronimo.gbean.runtime.GBeanInstance.setAttribute 
(GBeanInstance.java:698)
at org.apache.geronimo.gbean.runtime.RawInvoker.setAttribute 
(RawInvoker.java:53)
at  
org.apache.geronimo.kernel.basic.RawSetAttributeInvoker.invoke 
(RawSetAttributeInvoker.java:35)
at  
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept 
(ProxyMethodInterceptor.java:96)
at org.apache.geronimo.tomcat.TomcatContainer$ 
$EnhancerByCGLIB$$914f4ec.setCatalinaHome(generated)
at org.apache.geronimo.tomcat.TomcatContainer.init 
(TomcatContainer.java:87)
at org.apache.geronimo.tomcat.TomcatContainer$ 
$EnhancerByCGLIB$$914f4ec.init(generated)
at org.apache.geronimo.tomcat.TomcatContainer$ 
$EnhancerByCGLIB$$914f4ec$$FastClassByCGLIB$$6f2babf5.newInstance 
(generated)


at net.sf.cglib.reflect.FastClass.newInstance 
(FastClass.java:91)
at org.apache.geronimo.kernel.basic.BasicProxyManager 
$ManagedProxyFactory.createProxy(BasicProxyManager.java:213)


at  
org.apache.geronimo.kernel.basic.BasicProxyManager.createProxy 
(BasicProxyManager.java:103)
at  
org.apache.geronimo.gbean.runtime.GBeanSingleReference.start 
(GBeanSingleReference.java:82)
at  
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance 
(GBeanInstance.java:887)
at  
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart( 
GBeanInstanceState.java:267)
at  
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start 
(GBeanInstanceState.java:102)
at  
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive 
(GBeanInstanceState.java:124)
at  
org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive 
(GBeanInstance.java:540)
at  
org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean 
(BasicKernel.java:379)
at  
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfiguration 
GBeans(ConfigurationUtil.java:374)
at  
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfiguration 
GBeans(ConfigurationUtil.java:411)
at  
org.apache.geronimo.kernel.config.KernelConfigurationManager.start 
(KernelConfigurationManager.java:187)
at  
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConf 
iguration(SimpleConfigurationManager.java:527)


at  
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConf 
iguration(SimpleConfigurationManager.java:508)


at  
org.apache.geronimo.kernel.config.SimpleConfigurationManager$ 
$FastClassByCGLIB$$ce77a924.invoke(generated)

at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at  
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke 
(FastMethodInvoker.java:38)
at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke 
(GBeanOperation.java:122)
at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke 
(GBeanInstance.java:817)
at org.apache.geronimo.gbean.runtime.RawInvoker.invoke 
(RawInvoker.java:57)
at  
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke 
(RawOperationInvoker.java:35)
at  

java.lang.ClassNotFoundException: [Ljavax.net.ssl.KeyManager; in classloader geronimo/jetty/1.1.1/car

2007-02-28 Thread Miki

Hi,

I just downloaded geronima an when i try to start the server I get the
following error message:
.
java.lang.ClassNotFoundException: [Ljavax.net.ssl.KeyManager; in classloader
geronimo/jetty/1.1.1/car
.

I use (X)ubuntu 6.06.
The full log is attached.

Any ideea?

Thanks
00:36:10,669 DEBUG [GBeanSingleReference] Waiting to start geronimo/j2ee-system/1.1.1/car?ServiceModule=geronimo/j2ee-system/1.1.1/car,j2eeType=ConfigurationManager,name=ConfigurationManager because no targets are running for reference ArtifactResolver matching the patterns geronimo/j2ee-system/1.1.1/car?ServiceModule=geronimo/j2ee-system/1.1.1/car,j2eeType=ArtifactResolver,name=ArtifactResolver
00:36:10,745 DEBUG [GBeanSingleReference] Waiting to start geronimo/j2ee-system/1.1.1/car?ServiceModule=geronimo/j2ee-system/1.1.1/car,j2eeType=ConfigurationManager,name=ConfigurationManager because no targets are running for reference ArtifactManager matching the patterns geronimo/j2ee-system/1.1.1/car?ServiceModule=geronimo/j2ee-system/1.1.1/car,j2eeType=ArtifactManager,name=ArtifactManager
00:36:10,747 DEBUG [GBeanSingleReference] Waiting to start geronimo/j2ee-system/1.1.1/car?ServiceModule=geronimo/j2ee-system/1.1.1/car,j2eeType=ArtifactResolver,name=ArtifactResolver because no targets are running for reference ArtifactManager matching the patterns geronimo/j2ee-system/1.1.1/car?ServiceModule=geronimo/j2ee-system/1.1.1/car,j2eeType=ArtifactManager,name=ArtifactManager
00:36:12,996 DEBUG [GBeanSingleReference] Waiting to start geronimo/j2ee-server/1.1.1/car?ServiceModule=geronimo/j2ee-server/1.1.1/car,j2eeType=JCAWorkManager,name=DefaultWorkManager because no targets are running for reference ScheduledPool matching the patterns geronimo/j2ee-server/1.1.1/car?ServiceModule=geronimo/j2ee-server/1.1.1/car,j2eeType=GBean,name=ConnectorThreadPool
00:36:12,997 DEBUG [GBeanSingleReference] Waiting to start geronimo/j2ee-server/1.1.1/car?ServiceModule=geronimo/j2ee-server/1.1.1/car,j2eeType=JCAWorkManager,name=DefaultWorkManager because no targets are running for reference SyncPool matching the patterns geronimo/j2ee-server/1.1.1/car?ServiceModule=geronimo/j2ee-server/1.1.1/car,j2eeType=GBean,name=ConnectorThreadPool
00:36:12,997 DEBUG [GBeanSingleReference] Waiting to start geronimo/j2ee-server/1.1.1/car?ServiceModule=geronimo/j2ee-server/1.1.1/car,j2eeType=JCAWorkManager,name=DefaultWorkManager because no targets are running for reference TransactionContextManager matching the patterns geronimo/j2ee-server/1.1.1/car?ServiceModule=geronimo/j2ee-server/1.1.1/car,j2eeType=TransactionContextManager,name=TransactionContextManager
00:36:12,997 DEBUG [GBeanSingleReference] Waiting to start geronimo/j2ee-server/1.1.1/car?ServiceModule=geronimo/j2ee-server/1.1.1/car,j2eeType=JCAWorkManager,name=DefaultWorkManager because no targets are running for reference StartPool matching the patterns geronimo/j2ee-server/1.1.1/car?ServiceModule=geronimo/j2ee-server/1.1.1/car,j2eeType=GBean,name=ConnectorThreadPool
00:36:12,998 DEBUG [GBeanSingleReference] Waiting to start geronimo/j2ee-server/1.1.1/car?ServiceModule=geronimo/j2ee-server/1.1.1/car,j2eeType=TransactionLog,name=HOWLTransactionLog because no targets are running for reference XidFactory matching the patterns geronimo/j2ee-server/1.1.1/car?ServiceModule=geronimo/j2ee-server/1.1.1/car,j2eeType=XIDFactory,name=XidFactory
00:36:13,000 DEBUG [GBeanSingleReference] Waiting to start geronimo/j2ee-server/1.1.1/car?ServiceModule=geronimo/j2ee-server/1.1.1/car,j2eeType=TransactionManager,name=TransactionManager because no targets are running for reference TransactionLog matching the patterns geronimo/j2ee-server/1.1.1/car?ServiceModule=geronimo/j2ee-server/1.1.1/car,j2eeType=TransactionLog,name=HOWLTransactionLog
00:36:13,234 DEBUG [GBeanSingleReference] Waiting to start geronimo/j2ee-server/1.1.1/car?ServiceModule=geronimo/j2ee-server/1.1.1/car,j2eeType=JCAWorkManager,name=DefaultWorkManager because no targets are running for reference ScheduledPool matching the patterns geronimo/j2ee-server/1.1.1/car?ServiceModule=geronimo/j2ee-server/1.1.1/car,j2eeType=GBean,name=ConnectorThreadPool
00:36:13,234 DEBUG [GBeanSingleReference] Waiting to start geronimo/j2ee-server/1.1.1/car?ServiceModule=geronimo/j2ee-server/1.1.1/car,j2eeType=JCAWorkManager,name=DefaultWorkManager because no targets are running for reference SyncPool matching the patterns geronimo/j2ee-server/1.1.1/car?ServiceModule=geronimo/j2ee-server/1.1.1/car,j2eeType=GBean,name=ConnectorThreadPool
00:36:13,282 DEBUG [GBeanSingleReference] Waiting to start geronimo/j2ee-server/1.1.1/car?ServiceModule=geronimo/j2ee-server/1.1.1/car,j2eeType=JCAWorkManager,name=DefaultWorkManager because no targets are running for reference StartPool matching the patterns geronimo/j2ee-server/1.1.1/car?ServiceModule=geronimo/j2ee-server/1.1.1/car,j2eeType=GBean,name=ConnectorThreadPool
00:36:14,649 DEBUG [GBeanSingleReference] Waiting to start 

Re: java.lang.ClassNotFoundException: [Ljavax.net.ssl.KeyManager; in classloader geronimo/jetty/1.1.1/car

2007-02-28 Thread David Jencks
My guess is that you might not be running with a full certified jdk?   
Geronimo 1.1.1 works with sun and ibm jdks = 1.4.2_08 but not with  
the gpl partial jvms such as gjc that often come as default on linux  
distros.


What does java -version say?

thanks
david jencks

On Feb 28, 2007, at 2:54 PM, Miki wrote:


Hi,

I just downloaded geronima an when i try to start the server I get  
the following error message:

.
java.lang.ClassNotFoundException: [Ljavax.net.ssl.KeyManager; in  
classloader geronimo/jetty/1.1.1/car

.

I use (X)ubuntu 6.06.
The full log is attached.

Any ideea?

Thanks

geronimo.log




Re: Timer already canceled

2007-02-28 Thread Jay D. McHugh

Joel,


Another thing you might check is your heap size (if you are using a 
geronimo version below 2.0).  Since I started working with 2.0, I have 
been able to set a rather low minimum heap.  When I was working with 1.x 
versions (and Java 1.4) I needed to increase my heap size or I would get 
'timer already cancelled' errors.  There was a JIRA created for this to 
make the error message reflect what had actually happened but I don't 
know if it got fixed (just checked it and it's still open).


Try setting a higher maximum heap size for Java and try again - maybe 
that will be all you need.


Jay

David Jencks wrote:
It's a little hard to tell from this, especially without knowing the 
geronimo version.
LocalAttributeManager 
line 642 is in the doFail method in my copy, which would mean 
something pretty serious happened to prevent server startup from 
continuing.  Did you really supply the entire stack trace?  I'd expect 
something more in the blank lines.  Maybe var/log/geronimo.log has 
more detail?


You might get more information by setting load=false for your app in 
config.xml and then starting the app using the admin console.


thanks
david jencks



On Feb 28, 2007, at 12:37 PM, Spotts, Joel ((ISS Atlanta)) wrote:

I am getting the following exception when geronimo starts up and 
tries to initialize my ear. What could cause the geronimo timer to be 
canceled?


[*** ] 93%  70s Starting iss/SiteProtector/1.0...
[*** ] 93%  70s Starting 
iss/SiteProtector/1.0...2007-02-23 10:52:49,687 [main] ERROR 
[GBeanInstanceState] Error while starting; GBean is now in the FAILED 
state: 
abstractName=iss/SiteProtector/1.0/car?J2EEApplication=iss/SiteProtector/1.0/car,j2eeType=WebModule,name=spmain.war


java.lang.IllegalStateException: Timer already cancelled.
at java.util.Timer.sched(Timer.java:354)
at java.util.Timer.schedule(Timer.java:170)
at 
org.apache.geronimo.system.configuration.LocalAttributeManager.attributeChanged(LocalAttributeManager.java:642)


at 
org.apache.geronimo.system.configuration.LocalAttributeManager.setValue(LocalAttributeManager.java:295) 

at 
org.apache.geronimo.gbean.runtime.GBeanInstance.updateManageableAttribute(GBeanInstance.java:765) 

at 
org.apache.geronimo.gbean.runtime.GBeanInstance.setAttribute(GBeanInstance.java:718) 

at 
org.apache.geronimo.gbean.runtime.GBeanInstance.setAttribute(GBeanInstance.java:698) 

at 
org.apache.geronimo.gbean.runtime.RawInvoker.setAttribute(RawInvoker.java:53) 

at 
org.apache.geronimo.kernel.basic.RawSetAttributeInvoker.invoke(RawSetAttributeInvoker.java:35) 

at 
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96) 

at 
org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$914f4ec.setCatalinaHome(generated) 

at 
org.apache.geronimo.tomcat.TomcatContainer.init(TomcatContainer.java:87) 

at 
org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$914f4ec.init(generated) 

at 
org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$914f4ec$$FastClassByCGLIB$$6f2babf5.newInstance(generated)


at net.sf.cglib.reflect.FastClass.newInstance(FastClass.java:91)
at 
org.apache.geronimo.kernel.basic.BasicProxyManager$ManagedProxyFactory.createProxy(BasicProxyManager.java:213)


at 
org.apache.geronimo.kernel.basic.BasicProxyManager.createProxy(BasicProxyManager.java:103) 

at 
org.apache.geronimo.gbean.runtime.GBeanSingleReference.start(GBeanSingleReference.java:82) 

at 
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:887) 

at 
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:267) 

at 
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102) 

at 
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124) 

at 
org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:540) 

at 
org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379) 

at 
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:374) 

at 
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:411) 

at 
org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:187) 

at 
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:527)


at 
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:508)


at 

Re: Timer already canceled

2007-02-28 Thread Kevan Miller


On Feb 28, 2007, at 6:50 PM, Jay D. McHugh wrote:


Joel,


Another thing you might check is your heap size (if you are using a  
geronimo version below 2.0).  Since I started working with 2.0, I  
have been able to set a rather low minimum heap.  When I was  
working with 1.x versions (and Java 1.4) I needed to increase my  
heap size or I would get 'timer already cancelled' errors.  There  
was a JIRA created for this to make the error message reflect what  
had actually happened but I don't know if it got fixed (just  
checked it and it's still open).


Try setting a higher maximum heap size for Java and try again -  
maybe that will be all you need.


Jay,
Excellent point. Something about this problem was bothering me, but I  
just couldn't remember what... Time to do something about this class  
of error, I guess. Although it's hard to make it foolproof.


Even with the Jira (https://issues.apache.org/jira/browse/ 
GERONIMO-2114), I had a hard time remembering how this error could  
occur...


So, let me try again...

java.util.Timer creates a Thread which is used to dispatch Task  
execution. If an Error or RuntimeException occurs on this Thread, the  
Timer will be marked as cancelled. Any further attempts to use this  
Timer will result in a Timer already cancelled IllegalStateException.


We can do the following:

1) catch Throwable in TimerTask.run() and log errors. Note that  
errors could still occur in the Timer Thread which we cannot catch...
2) catch IllegalStateExceptions thrown by Timer.schedule() and throw  
an exception explaining that an OOME might have caused the error.


--kevan