Opened 6 years ago
Closed 6 years ago
#1565 closed defect (fixed)
I2P started reseeding at shutdown + NPE
Reported by: | killyourtv | Owned by: | zzz |
---|---|---|---|
Priority: | minor | Milestone: | 0.9.20 |
Component: | router/netdb | Version: | 0.9.19 |
Keywords: | Cc: | ||
Parent Tickets: | Sensitive: | no |
Description (last modified by )
When I shutdown I2P on my Pi it started reseeding.
Even if it was out of peers (which it wasn't), at shutdown wouldn't be the time to reseed.:
# find ./netDb/ -name '*.dat' |wc -l 2909
I2P version: 0.9.19-0 Java version: Oracle Corporation 1.8.0 (Java(TM) SE Runtime Environment 1.8.0-b132) Wrapper version: 3.5.25 Server version: 8.1.16.v20140903 Servlet version: Jasper JSP 2.1 Engine Platform: Linux arm 3.18.12+ Processor: uninitialized (arm) Jbigi: Locally optimized native BigInteger library loaded from file Encoding: UTF-8 Charset: UTF-8
2015/05/07 21:44:25 | CRIT [hutdown hook] net.i2p.router.Router : Graceful shutdown progress: No more tunnels, starting final shutdown 2015/05/07 21:44:25 | CRIT [hutdown hook] net.i2p.router.Router : Starting final shutdown(2) 2015/05/07 21:44:44 | Reseed start 2015/05/07 21:44:44 | Reseeding from https://netdb.i2p2.no/i2pseeds.su3 2015/05/07 21:45:00 | INFO: 75 files extracted to /tmp/i2p-UzvZmrVX.tmp/reseeds-108880636 2015/05/07 21:45:00 | Reseed got 75 router infos from https://netdb.i2p2.no/i2pseeds.su3 with 0 errors 2015/05/07 21:45:00 | Reseeding from https://reseed.i2p-projekt.de/i2pseeds.su3 2015/05/07 21:45:02 | Error reseeding: java.lang.NullPointerException 2015/05/07 21:45:02 | Reseed got 0 router infos from https://reseed.i2p-projekt.de/i2pseeds.su3 with 1 errors 2015/05/07 21:45:02 | Reseeding from https://reseed.i2p-projekt.de/ 2015/05/07 21:45:04 | Reseed got no router infos from https://reseed.i2p-projekt.de/ 2015/05/07 21:45:04 | Reseeding from https://i2pseed.zarrenspry.info/i2pseeds.su3 2015/05/07 21:45:05 | Error reseeding: java.lang.NullPointerException 2015/05/07 21:45:05 | Reseed got 0 router infos from https://i2pseed.zarrenspry.info/i2pseeds.su3 with 1 errors 2015/05/07 21:45:05 | Reseeding from https://i2pseed.zarrenspry.info/ 2015/05/07 21:45:06 | Reseed got no router infos from https://i2pseed.zarrenspry.info/ 2015/05/07 21:45:06 | Reseeding from https://193.150.121.66/netDb/i2pseeds.su3 2015/05/07 21:45:06 | Error reseeding: java.lang.NullPointerException 2015/05/07 21:45:06 | Reseed got 0 router infos from https://193.150.121.66/netDb/i2pseeds.su3 with 1 errors 2015/05/07 21:45:06 | Reseeding from https://193.150.121.66/netDb/ 2015/05/07 21:45:07 | Reseed got no router infos from https://193.150.121.66/netDb/ 2015/05/07 21:45:07 | Reseeding from https://link.mx24.eu/i2pseeds.su3 2015/05/07 21:45:08 | Error reseeding: java.lang.NullPointerException 2015/05/07 21:45:08 | Reseed got 0 router infos from https://link.mx24.eu/i2pseeds.su3 with 1 errors 2015/05/07 21:45:08 | Reseeding from https://link.mx24.eu/ 2015/05/07 21:45:09 | Reseed got no router infos from https://link.mx24.eu/ 2015/05/07 21:45:09 | Reseeding from https://us.reseed.i2p2.no:444/i2pseeds.su3 2015/05/07 21:45:16 | Error reseeding: java.lang.NullPointerException 2015/05/07 21:45:16 | Reseed got 0 router infos from https://us.reseed.i2p2.no:444/i2pseeds.su3 with 1 errors 2015/05/07 21:45:16 | Reseeding from https://us.reseed.i2p2.no:444/ 2015/05/07 21:45:22 | Reseed got no router infos from https://us.reseed.i2p2.no:444/ 2015/05/07 21:45:22 | Reseeding from https://uk.reseed.i2p2.no:444/i2pseeds.su3 2015/05/07 21:46:20 | CRIT [hutdown hook] net.i2p.router.Router : Shutdown(2) complete 2015/05/07 21:46:23 | <-- Wrapper Stopped
Subtickets
Change History (6)
comment:1 Changed 6 years ago by
Description: | modified (diff) |
---|
comment:2 Changed 6 years ago by
Description: | modified (diff) |
---|
comment:3 follow-up: 4 Changed 6 years ago by
oh I see it. but no stack trace. Did the full NPE get into the router log?
comment:4 Changed 6 years ago by
Replying to zzz:
oh I see it. but no stack trace. Did the full NPE get into the router log?
Unfortunately not. :( The earliest entries in the router log are from after this odd reseeding/NPE action.
comment:5 Changed 6 years ago by
Milestone: | undecided → 0.9.20 |
---|---|
Status: | new → accepted |
comment:6 Changed 6 years ago by
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
Most likely initiated by PersistentDataStore?.ReadJob?, which should not take any action during shutdown. Added shutdown check there, and also in ReseedChecker? and Reseeder for good measure. Tested only to verify that reseeding still works. Likely do be difficult to reproduce anyway. Shutdown is very slow on the RPi, so that gave the ReadJob? a chance to cause trouble. This fix may even speed up the shutdown on the Pi, by preventing concurrent I/O by the ReadJob?.
I looked around a little for possible NPE causes, didn't find anything, but the root cause should be fixed by this checkin. Still a rare possibility of a race but not worth worrying about.
Reseeding will be prevented, and reseeding in-progress will be aborted, during graceful or final shutdown.
In 3ee5f91b4cd77aeb9915075fc12ee5064ae47667 to be 0.9.19-19
NPE? where?