You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Markus Wiederkehr (JIRA)" <se...@james.apache.org> on 2008/09/10 19:21:44 UTC

[jira] Commented: (JAMES-767) exception when shutting down server

    [ https://issues.apache.org/jira/browse/JAMES-767?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12629871#action_12629871 ] 

Markus Wiederkehr commented on JAMES-767:
-----------------------------------------

This also happens with phoenix.sh start/stop. The only difference is that the console output (including the ugly stacktrace) is redirected to temp/phoenix.console.

Stefano, may I ask why you consider this to be harmless?

I have a setup where the VM does not exit when James gets stopped. This can be accomplished by setting up the classpath manually and invoking org.apache.avalon.phoenix.frontends.CLIMain.main() and CLIMain.shutdown() to start and stop Phoenix including James. I know this might be a bit brutal but it has always worked without problems with older versions of James (or Phoenix respectively).

So because in my case the VM continues to run I am a bit worried about this one.

A brief look into org.apache.avalon.phoenix.components.application.DefaultApplication.doRunPhase(String) seems to indicate that the loop that is supposed to shut down all components gets interrupted once an exception occurs. So subsequent components are not shut down at all.

> exception when shutting down server
> -----------------------------------
>
>                 Key: JAMES-767
>                 URL: https://issues.apache.org/jira/browse/JAMES-767
>             Project: James
>          Issue Type: Bug
>    Affects Versions: 2.3.0
>         Environment: Mac OS X 10.4.8, intel Mac 2.16 GHz dual core, Java VM build 1.5.0_06-112
>            Reporter: Ray Kiddy
>            Priority: Minor
>
> I have set up a James server to test a mail client. I configure it with the IP address of the machine. I do not use DNS, but instead us e-mail addresses like "adam@[10.0.1.6]". When I shut down the server with ctl-C, I get:
> ^CJVM exiting abnormally. Shutting down Phoenix.
> org.apache.avalon.phoenix.containerkit.lifecycle.LifecycleException: Component named "thread-manager" failed to pass through the Destruction stage. (Reason: java.lang.IllegalThreadStateException).
>         at org.apache.avalon.phoenix.containerkit.lifecycle.LifecycleHelper.fail(LifecycleHelper.java:354)
>         at org.apache.avalon.phoenix.containerkit.lifecycle.LifecycleHelper.shutdown(LifecycleHelper.java:288)
>         at org.apache.avalon.phoenix.components.application.DefaultApplication.shutdown(DefaultApplication.java:566)
>         at org.apache.avalon.phoenix.components.application.DefaultApplication.doRunPhase(DefaultApplication.java:482)
>         at org.apache.avalon.phoenix.components.application.DefaultApplication.runPhase(DefaultApplication.java:409)
>         at org.apache.avalon.phoenix.components.application.DefaultApplication.stop(DefaultApplication.java:233)
>         at org.apache.avalon.framework.container.ContainerUtil.stop(ContainerUtil.java:292)
>         at org.apache.avalon.framework.container.ContainerUtil.shutdown(ContainerUtil.java:66)
>         at org.apache.avalon.phoenix.components.kernel.DefaultKernel.shutdown(DefaultKernel.java:346)
>         at org.apache.avalon.phoenix.components.kernel.DefaultKernel.removeApplication(DefaultKernel.java:455)
>         at org.apache.avalon.phoenix.components.deployer.DefaultDeployer.undeploy(DefaultDeployer.java:244)
>         at org.apache.avalon.phoenix.components.deployer.DefaultDeployer.dispose(DefaultDeployer.java:154)
>         at org.apache.avalon.framework.container.ContainerUtil.dispose(ContainerUtil.java:306)
>         at org.apache.avalon.framework.container.ContainerUtil.shutdown(ContainerUtil.java:67)
>         at org.apache.avalon.phoenix.components.embeddor.DefaultEmbeddor.shutdownComponents(DefaultEmbeddor.java:598)
>         at org.apache.avalon.phoenix.components.embeddor.DefaultEmbeddor.dispose(DefaultEmbeddor.java:342)
>         at org.apache.avalon.framework.container.ContainerUtil.dispose(ContainerUtil.java:306)
>         at org.apache.avalon.framework.container.ContainerUtil.shutdown(ContainerUtil.java:67)
>         at org.apache.avalon.phoenix.frontends.CLIMain.shutdown(CLIMain.java:326)
>         at org.apache.avalon.phoenix.frontends.CLIMain.forceShutdown(CLIMain.java:295)
>         at org.apache.avalon.phoenix.frontends.ShutdownHook.run(CLIMain.java:386)
> Caused by: java.lang.IllegalThreadStateException
>         at java.lang.ThreadGroup.destroy(ThreadGroup.java:750)
>         at org.apache.avalon.excalibur.thread.impl.DefaultThreadPool.dispose(DefaultThreadPool.java:76)
>         at org.apache.avalon.framework.container.ContainerUtil.dispose(ContainerUtil.java:306)
>         at org.apache.avalon.cornerstone.blocks.threads.AbstractThreadManager.dispose(AbstractThreadManager.java:69)
>         at org.apache.avalon.framework.container.ContainerUtil.dispose(ContainerUtil.java:306)
>         at org.apache.avalon.phoenix.containerkit.lifecycle.LifecycleHelper.shutdown(LifecycleHelper.java:274)
>         ... 19 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org