Felix HttpService bundle throws "Unable to establish loopback connection" error
upon startup
--------------------------------------------------------------------------------------------
Key: AMDATU-188
URL: http://jira.amdatu.org/jira/browse/AMDATU-188
Project: Amdatu
Issue Type: Bug
Components: Testing
Affects Versions: 0.0.6
Reporter: Ivo Ladage - van Doorn
Assignee: Marcel Offermans
Attachments: amdatu-test.zip
While running the integration tests, sometimes this error appears while
starting Pax Exam:
INFO: ServiceEvent REGISTERED [org.apache.felix.http.jetty]
WARNING: failed org.mortbay.jetty.nio.SelectChannelConnector$1 at 4eeaaf:
java.io.IOException: Unable to establish loopback
connection [org.apache.felix.http.jetty]
WARNING: failed SelectChannelConnector at 0.0.0.0:8080: java.io.IOException:
Unable to establish loopback connection [org.a
pache.felix.http.jetty]
WARNING: failed Server at 111bfbc: java.io.IOException: Unable to establish
loopback connection [org.apache.felix.http.jett
y]
org.apache.felix.log.LogException: java.io.IOException: Unable to establish
loopback connection
ERROR: Exception while initializing Jetty. [org.apache.felix.http.jetty]
at sun.nio.ch.PipeImpl$Initializer.run(PipeImpl.java:106)
java.io.IOException: Unable to establish loopback connection
at java.security.AccessController.doPrivileged(Native Method)
at sun.nio.ch.PipeImpl.<init>(PipeImpl.java:122)
at
sun.nio.ch.SelectorProviderImpl.openPipe(SelectorProviderImpl.java:27)
at java.nio.channels.Pipe.open(Pipe.java:133)
at sun.nio.ch.WindowsSelectorImpl.<init>(WindowsSelectorImpl.java:104)
at
sun.nio.ch.WindowsSelectorProvider.openSelector(WindowsSelectorProvider.java:26)
at java.nio.channels.Selector.open(Selector.java:209)
at
org.mortbay.io.nio.SelectorManager$SelectSet.<init>(SelectorManager.java:302)
at org.mortbay.io.nio.SelectorManager.doStart(SelectorManager.java:224)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
org.mortbay.jetty.nio.SelectChannelConnector.doStart(SelectChannelConnector.java:314)
INFO: ServiceEvent UNREGISTERING [org.amdatu.web.jsp]
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.Server.doStart(Server.java:235)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
INFO: HTTP Context destroyed for bundle 9 ('jspservlet') [org.amdatu.web.jsp]
at
org.apache.felix.http.jetty.internal.JettyService.initializeJetty(JettyService.java:145)
INFO: ServiceEvent UNREGISTERING [org.amdatu.web.rest.wink]
at
org.apache.felix.http.jetty.internal.JettyService.startJetty(JettyService.java:112)
INFO: HTTP Context destroyed for bundle 11 ('rest/services')
[org.amdatu.web.rest.wink]
INFO: ServiceEvent UNREGISTERING [org.amdatu.web.rest.wink]
INFO: org.amdatu.web.rest.wink.service.WinkRegistrationServiceImpl service
destroyed [org.amdatu.web.rest.wink]
at
org.apache.felix.http.jetty.internal.JettyService.run(JettyService.java:203)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.nio.channels.ClosedByInterruptException
INFO: ServiceEvent UNREGISTERING [org.amdatu.web.jsp]
at
java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:184)
at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:518)
at java.nio.channels.SocketChannel.open(SocketChannel.java:146)
INFO: ServiceEvent UNREGISTERING [org.amdatu.web.httpcontext]
at sun.nio.ch.PipeImpl$Initializer.run(PipeImpl.java:78)
... 18 more
As a consequence Shindig seems to fail proper startup. After investigation it
seems that the issue is caused when a bundle retrieves the Felix http
configuration entry before the Felix http bundle itself is started. Attached is
the source of the bundle with which I can reproduce the issue, by providing
this bundle to Pax Exam first, followed by the Felix http service bundle.
The error appears when this code is executed in the start() method:
m_configAdmin.getConfiguration("org.apache.felix.http", null); -> error is
thrown
However, without the location parameter the error does not appear:
m_configAdmin.getConfiguration("org.apache.felix.http"); -> no error
Also when reading other configuration entries, the error does not appear.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira