timeout on SMTP socket (incoming) causes James to crash with 
IllegalThreadStateException
----------------------------------------------------------------------------------------

                 Key: JAMES-937
                 URL: https://issues.apache.org/jira/browse/JAMES-937
             Project: JAMES Server
          Issue Type: Bug
    Affects Versions: 2.3.2
         Environment: CentOS 5.3, James built with JDK 1.5.0_17, running with 
JDK/JRE 1.6.0_13
            Reporter: Brad Whitaker


Manually constructed and sent a message via telnet from a remote machine. After 
completing the message I left the telnet connection open. Four minutes later 
the james server crashed with this stack trace:

2009-11-20 01:06:16,507 INFO  [Spool Thread #9] transport.JamesSpoolManager 
(JamesSpoolManager.java:362) - Stop JamesSpoolManager: Spool Thread #9
2009-11-20 01:06:17,507 INFO  [Thread-2] transport.JamesSpoolManager 
(JamesSpoolManager.java:477) - JamesSpoolManager thread shutdown completed.
2009-11-20 01:10:39,350 ERROR [default Worker #4] smtpserver.SMTPHandler 
(SMTPHandler.java:459) - Socket to 192.168.0.9 (192.168.0.9) timeout.
java.net.SocketTimeoutException: Read timed out
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
        at 
org.apache.james.util.CRLFTerminatedReader.read(CRLFTerminatedReader.java:153)
        at 
org.apache.james.util.CRLFTerminatedReader.readLine(CRLFTerminatedReader.java:113)
        at 
org.apache.james.smtpserver.SMTPHandler.readCommandLine(SMTPHandler.java:751)
        at 
org.apache.james.smtpserver.SMTPHandler.handleConnection(SMTPHandler.java:372)
        at 
org.apache.james.util.connection.ServerConnection$ClientConnectionRunner.run(ServerConnection.java:432)
        at 
org.apache.excalibur.thread.impl.ExecutableRunnable.execute(ExecutableRunnable.java:55)
        at 
org.apache.excalibur.thread.impl.WorkerThread.run(WorkerThread.java:116)
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:743)
        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
[r...@qavm10 bin]#


-- 
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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to