Opened 5 years ago

Closed 2 years ago

#1221 closed defect (fixed)

Orchid: NPE at shutdown

Reported by: zzz Owned by:
Priority: minor Milestone: 0.9.27
Component: apps/plugins Version: 0.9.11
Keywords: Orchid Cc:
Parent Tickets:

Description

This is while it was repeatedly trying to download key certificates (ticket #1220)

WARN  [onsole Jetty] com.subgraph.orchid.TorClient : Unexpected exception while shutting down TorClient instance: java.lang.NullPointerException
java.lang.NullPointerException
	at com.subgraph.orchid.circuits.CircuitImpl.destroyCircuit(CircuitImpl.java:232)
	at com.subgraph.orchid.circuits.CircuitManagerImpl.stopBuildingCircuits(CircuitManagerImpl.java:95)
	at com.subgraph.orchid.TorClient.stop(TorClient.java:98)
	at net.i2p.orchid.OrchidController.shutdown(OrchidController.java:194)
	at net.i2p.orchid.web.OrchidServlet.destroy(OrchidServlet.java:94)
	at org.eclipse.jetty.servlet.ServletHolder.destroyInstance(ServletHolder.java:395)
	at org.eclipse.jetty.servlet.ServletHolder.doStop(ServletHolder.java:368)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
	at org.eclipse.jetty.servlet.ServletHandler.doStop(ServletHandler.java:241)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
	at org.eclipse.jetty.server.handler.HandlerWrapper.doStop(HandlerWrapper.java:107)
	at org.eclipse.jetty.security.SecurityHandler.doStop(SecurityHandler.java:392)
	at org.eclipse.jetty.security.ConstraintSecurityHandler.doStop(ConstraintSecurityHandler.java:464)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
	at org.eclipse.jetty.server.handler.HandlerWrapper.doStop(HandlerWrapper.java:107)
	at org.eclipse.jetty.server.session.SessionHandler.doStop(SessionHandler.java:136)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
	at org.eclipse.jetty.server.handler.HandlerWrapper.doStop(HandlerWrapper.java:107)
	at org.eclipse.jetty.server.handler.ContextHandler.doStop(ContextHandler.java:815)
	at org.eclipse.jetty.servlet.ServletContextHandler.doStop(ServletContextHandler.java:160)
	at org.eclipse.jetty.webapp.WebAppContext.doStop(WebAppContext.java:518)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
	at net.i2p.router.web.WebAppStarter.stopWebApp(WebAppStarter.java:130)
	at net.i2p.router.web.PluginStarter.stopPlugin(PluginStarter.java:420)
	at net.i2p.router.web.ConfigClientsHandler.processForm(ConfigClientsHandler.java:128)
	at net.i2p.router.web.FormHandler.process(FormHandler.java:213)
	at net.i2p.router.web.FormHandler.getAllMessages(FormHandler.java:124)
	at net.i2p.router.web.jsp.configclients_jsp._jspService(configclients_jsp.java:433)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
	at net.i2p.router.web.LocaleWebAppHandler.handle(LocaleWebAppHandler.java:99)
	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
	at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
	at org.eclipse.jetty.server.Server.handle(Server.java:370)
	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
	at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982)
	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043)
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:744)

Subtickets

Change History (4)

comment:1 Changed 5 years ago by zzz

Stopped and restarted plugin (but not router) and it never came up.

Repeated:

 INFO  [-95-thread-1] d.circuits.CircuitCreationTask: Cannot build circuits because we don't have enough directory information

Perhaps because cached-microdescs.new was not moved to cached-microdescs because of NPE at shutdown? Moved manually and restarted router and it worked.

comment:2 Changed 4 years ago by str4d

  • Keywords Orchid added

comment:3 Changed 3 years ago by str4d

  • Status changed from new to open

comment:4 Changed 2 years ago by zzz

  • Milestone set to 0.9.27
  • Resolution set to fixed
  • Status changed from open to closed

This was fixed by bitconj and merged in as unreleased 1.2.1-0.1, to be released as 1.2.2-0.1 today. Fix is in CircuitImpl?.destroyCircuit()

Note: See TracTickets for help on using tickets.