[ http://issues.apache.org/jira/browse/GERONIMO-728?page=all ]

Vamsavardhana Reddy closed GERONIMO-728.
----------------------------------------


> Jetty gives misleading NPE on "port in use" condition
> -----------------------------------------------------
>
>                 Key: GERONIMO-728
>                 URL: http://issues.apache.org/jira/browse/GERONIMO-728
>             Project: Geronimo
>          Issue Type: Improvement
>          Components: web, dependencies
>    Affects Versions: 1.0-M3, 1.0-M5, 1.0-M4
>            Reporter: Aaron Mulder
>         Assigned To: Kevan Miller
>             Fix For: 1.0-M5
>
>
> 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

        

Reply via email to