geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John Sisson (JIRA)" <...@geronimo.apache.org>
Subject [jira] Commented: (GERONIMO-728) Jetty gives misleading NPE on "port in use" condition
Date Mon, 11 Jul 2005 01:05:15 GMT
    [ http://issues.apache.org/jira/browse/GERONIMO-728?page=comments#action_12315448 ] 

John Sisson commented on GERONIMO-728:
--------------------------------------

Send a mail to the Jetty mail lists asking for the maven jars for the 5.1.4 release to be
uploaded to the maven repos.

Jetty-5.1.4 - 5 June 2005
 + Fixed FTP close issue.
 + setup MX4J with JDK1.5 in start.config
 + set classloader during webapp doStop
 + NPE protection in ThreadedServer
 + ModelMBean handles null signatures
 + Change JAAS impl to be more flexible on finding roles

> Jetty gives misleading NPE on "port in use" condition
> -----------------------------------------------------
>
>          Key: GERONIMO-728
>          URL: http://issues.apache.org/jira/browse/GERONIMO-728
>      Project: Geronimo
>         Type: Improvement
>   Components: web
>     Versions: 1.0-M3
>     Reporter: Aaron Mulder

>
> When Jetty starts up but the port it wants is in use, you get an error like this:
> 19 ERROR [GBeanInstance] Problem in doFail of geronimo.server:J2EEApplication=null,J2EEModule=org/apache/geronimo/Server,J2EEServer=geronimo,j2eeType=GBean,name=JettyWebConnector
> java.lang.NullPointerException
>         at org.mortbay.util.ThreadedServer.stop(ThreadedServer.java:544)
>         at org.mortbay.http.SocketListener.stop(SocketListener.java:211)
>         at org.apache.geronimo.jetty.connector.JettyConnector.doFail(JettyConnector.java:102)
>         at org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:869)
>         at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:328)
>         at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:111)
>         at org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:486)
>         at org.apache.geronimo.gbean.runtime.GBeanSingleReference.attemptFullStart(GBeanSingleReference.java:154)
>         at org.apache.geronimo.gbean.runtime.GBeanSingleReference.targetAdded(GBeanSingleReference.java:127)
>         at org.apache.geronimo.gbean.runtime.AbstractGBeanReference.addTarget(AbstractGBeanReference.java:242)
>         at org.apache.geronimo.gbean.runtime.GBeanSingleReference$1.running(GBeanSingleReference.java:163)
>         at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(BasicLifecycleMonitor.java:155)
>         at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(BasicLifecycleMonitor.java:38)
>         at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent(BasicLifecycleMonitor.java:231)
>         at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:352)
>         at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:111)
>         at org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:133)
>         at org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:503)
>         at org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:207)
>         at org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:141)
>         at org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:503)
>         at org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:207)
>         at org.apache.geronimo.system.main.Daemon.doStartup(Daemon.java:247)
>         at org.apache.geronimo.system.main.Daemon.<init>(Daemon.java:81)
>         at org.apache.geronimo.system.main.Daemon.main(Daemon.java:320)
> Only later does the BindException show up, whereas I believe the BindException should
be first (and in fact only -- what good does the NPE do?).
> So what I think should happen is that we should trap a BindException, and if it comes
up, don't try to stop the SocketListener (or at least don't generate another exception if
it doesn't work).  Then print an ERROR message including the port number (ERROR: Jetty unable
to bind to port 8080).  Then throw the BindException if the full stack trace would be useful.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message