You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by "Spotts, Joel (ISS Atlanta)" <js...@us.ibm.com> on 2007/02/28 21:37:52 UTC
Timer already canceled
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
Posted by Kevan Miller <ke...@gmail.com>.
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
Re: Timer already canceled
Posted by "Jay D. McHugh" <ja...@joyfulnoisewebdesign.com>.
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
>> 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
>> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
>>
>> at
>> org.apache.geronimo.gbean.GBeanLifecycle$$EnhancerByCGLIB$$206c0a2d.startConfiguration(<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
Posted by David Jencks <da...@yahoo.com>.
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
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept
> (ProxyMethodInterceptor.java:96)
> at org.apache.geronimo.gbean.GBeanLifecycle$$EnhancerByCGLIB
> $$206c0a2d.startConfiguration(<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
>