dr|z3d
CRIT […eTimer2 3/6] …til.SimpleTimer2: SimpleTimer2: Timed task net.i2p.router.transport.udp.PeerState2$ACKTimer@1ed5ff4b exited unexpectedly, please report
dr|z3d
java.lang.IllegalArgumentException
dr|z3d
at net.i2p.router.transport.udp.SSU2Payload$AckBlock.<init>(SSU2Payload.java:675)
dr|z3d
at net.i2p.router.transport.udp.SSU2Bitfield.toAckBlock(SSU2Bitfield.java:188)
dr|z3d
at net.i2p.router.transport.udp.PacketBuilder2.buildPacket(PacketBuilder2.java:207)
dr|z3d
at net.i2p.router.transport.udp.PacketBuilder2.buildPacket(PacketBuilder2.java:143)
dr|z3d
at net.i2p.router.transport.udp.PacketBuilder2.buildACK(PacketBuilder2.java:354)
dr|z3d
at net.i2p.router.transport.udp.PeerState2$ACKTimer.timeReached(PeerState2.java:1080)
dr|z3d
at net.i2p.util.SimpleTimer2$TimedEvent.run2(SimpleTimer2.java:501)
dr|z3d
at net.i2p.util.SimpleTimer2$TimedEvent.run(SimpleTimer2.java:440)
dr|z3d
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577)
dr|z3d
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
dr|z3d
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
dr|z3d
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
dr|z3d
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
dr|z3d
at java.base/java.lang.Thread.run(Thread.java:1589)
dr|z3d
that one completely hoses the router.
zzz
only once dr|z3d ?
dr|z3d
so far as I can tell, zzz, yeah.
dr|z3d
another one of those once in a million?
zzz
maybe one in a zillion, nice job. Almost certain it didn't hose your router though
dr|z3d
no, it didn't. my bad. router was in the process of restarting, hence confusion.
zzz
ok good
zzz
fixed and pushed
dr|z3d
very nice. issue was broadly out of bounds value?
zzz
no, the check was unnecessary
zzz
it was enforcing 255 max but we can go higher, it's not stored in a byte
dr|z3d
ah, right. ok.
dr|z3d
speaking of (un)ncessary, the ssu2 tokens stat you recently added is marked as required. is that just for debugging purposes while we're in the dev cycle?
dr|z3d
also, what about a stat for the number of tokens cached? would be good to get some idea of what's going on there.
zzz
req'd because it is
zzz
thats how I set the token lifetime
dr|z3d
ah, gotcha.
zzz
I have what I need to tune it, I'm good for now, although might need another round after the release
zzz
if you want to do something different and need more info, knock yourself out
dr|z3d
if I had a nickel for everytime you encouraged me to knock myself out... ;)
zzz
noted, will think of a new metaphor for next time ))
dr|z3d
haha
zzz
dr|z3d, hold off on testing ssu1 disabled, found a bigger problem