Opened 4 years ago

Closed 4 years ago

#1672 closed task (fixed)

v0.9.22-13 : several "net.i2p.util.SimpleTimer2 : timer error"

Reported by: hummingbird Owned by: zzz
Priority: blocker Milestone: 0.9.23
Component: api/utils Version: 0.9.22
Keywords: Cc:
Parent Tickets: Sensitive: no

Description

Since I've upgrade I2P from v0.9.22-0x to v0.9.22-13 (two years ago) I see several errors in the log:

I2P version: 0.9.22-13
Java version: Oracle Corporation 1.7.0_79 (OpenJDK Runtime Environment 1.7.0_79-b14)
Wrapper version: 3.5.25
Server version: 8.1.17.v20150415
Servlet version: Jasper JSP 2.1 Engine
Platform: Linux amd64 3.16.0-38-generic
Processor: (athlon64)
Jbigi: Locally optimized library libjbigi-linux-athlon64_64.so loaded from file
Encoding: UTF-8
Charset: UTF-8

http://127.0.0.1:7657/logs
02/10/15 21:37:49 ERROR [mer 1nq8 ¼] net.i2p.util.SimpleTimer2 : timer error

java.lang.IllegalStateException?: net.i2p.client.streaming.impl.Connection$ResendPacketEvent?@34e863bd can't be SCHEDULED
at net.i2p.util.SimpleTimer2$TimedEvent?.run2(SimpleTimer2.java:446)
at net.i2p.util.SimpleTimer2$TimedEvent?.run(SimpleTimer2.java:390)
at java.util.concurrent.Executors$RunnableAdapter?.call(Executors.java:471)
at java.util.concurrent.FutureTask?.run(FutureTask?.java:262)
at java.util.concurrent.ScheduledThreadPoolExecutor?$ScheduledFutureTask?.access$201(ScheduledThreadPoolExecutor?.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor?$ScheduledFutureTask?.run(ScheduledThreadPoolExecutor?.java:292)
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:745)

02/10/15 19:50:47 ERROR [mer 1nq8 4/4] net.i2p.util.SimpleTimer2 : timer error

java.lang.IllegalStateException?: net.i2p.client.streaming.impl.Connection$ResendPacketEvent?@a775d4c can't be SCHEDULED
at net.i2p.util.SimpleTimer2$TimedEvent?.run2(SimpleTimer2.java:446)
at net.i2p.util.SimpleTimer2$TimedEvent?.run(SimpleTimer2.java:390)
at java.util.concurrent.Executors$RunnableAdapter?.call(Executors.java:471)
at java.util.concurrent.FutureTask?.run(FutureTask?.java:262)
at java.util.concurrent.ScheduledThreadPoolExecutor?$ScheduledFutureTask?.access$201(ScheduledThreadPoolExecutor?.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor?$ScheduledFutureTask?.run(ScheduledThreadPoolExecutor?.java:292)
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:745)

02/10/15 19:12:38 ↓↓↓ 1 similar message omitted ↓↓↓
02/10/15 19:04:58 ↓↓↓ 2 similar messages omitted ↓↓↓
02/10/15 18:38:32 ↓↓↓ 1 similar message omitted ↓↓↓
02/10/15 18:26:47 ERROR [mer 1nq8 ¼] net.i2p.util.SimpleTimer2 : timer error

java.lang.IllegalStateException?: net.i2p.client.streaming.impl.Connection$ResendPacketEvent?@4fe81b63 can't be SCHEDULED
at net.i2p.util.SimpleTimer2$TimedEvent?.run2(SimpleTimer2.java:446)
at net.i2p.util.SimpleTimer2$TimedEvent?.run(SimpleTimer2.java:390)
at java.util.concurrent.Executors$RunnableAdapter?.call(Executors.java:471)
at java.util.concurrent.FutureTask?.run(FutureTask?.java:262)
at java.util.concurrent.ScheduledThreadPoolExecutor?$ScheduledFutureTask?.access$201(ScheduledThreadPoolExecutor?.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor?$ScheduledFutureTask?.run(ScheduledThreadPoolExecutor?.java:292)
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:745)

02/10/15 17:53:27 ↓↓↓ 1 similar message omitted ↓↓↓
02/10/15 17:34:47 ERROR [mer 1nq8 2/4] net.i2p.util.SimpleTimer2 : timer error

java.lang.IllegalStateException?: net.i2p.client.streaming.impl.Connection$ResendPacketEvent?@5e0132c7 can't be SCHEDULED
at net.i2p.util.SimpleTimer2$TimedEvent?.run2(SimpleTimer2.java:446)
at net.i2p.util.SimpleTimer2$TimedEvent?.run(SimpleTimer2.java:390)
at java.util.concurrent.Executors$RunnableAdapter?.call(Executors.java:471)
at java.util.concurrent.FutureTask?.run(FutureTask?.java:262)
at java.util.concurrent.ScheduledThreadPoolExecutor?$ScheduledFutureTask?.access$201(ScheduledThreadPoolExecutor?.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor?$ScheduledFutureTask?.run(ScheduledThreadPoolExecutor?.java:292)
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:745)

02/10/15 17:01:32 ↓↓↓ 1 similar message omitted ↓↓↓
02/10/15 16:55:09 ↓↓↓ 1 similar message omitted ↓↓↓
02/10/15 16:35:39 ERROR [mer 1nq8 4/4] net.i2p.util.SimpleTimer2 : timer error

java.lang.IllegalStateException?: net.i2p.client.streaming.impl.Connection$ResendPacketEvent?@bf93e7f can't be SCHEDULED
at net.i2p.util.SimpleTimer2$TimedEvent?.run2(SimpleTimer2.java:446)
at net.i2p.util.SimpleTimer2$TimedEvent?.run(SimpleTimer2.java:390)
at java.util.concurrent.Executors$RunnableAdapter?.call(Executors.java:471)
at java.util.concurrent.FutureTask?.run(FutureTask?.java:262)
at java.util.concurrent.ScheduledThreadPoolExecutor?$ScheduledFutureTask?.access$201(ScheduledThreadPoolExecutor?.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor?$ScheduledFutureTask?.run(ScheduledThreadPoolExecutor?.java:292)
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:745)

02/10/15 16:05:48 ↓↓↓ 1 similar message omitted ↓↓↓
02/10/15 16:05:05 ERROR [mer 1nq8 ¾] net.i2p.util.SimpleTimer2 : timer error

java.lang.IllegalStateException?: net.i2p.client.streaming.impl.Connection$ResendPacketEvent?@16c3166a can't be SCHEDULED
at net.i2p.util.SimpleTimer2$TimedEvent?.run2(SimpleTimer2.java:446)
at net.i2p.util.SimpleTimer2$TimedEvent?.run(SimpleTimer2.java:390)
at java.util.concurrent.Executors$RunnableAdapter?.call(Executors.java:471)
at java.util.concurrent.FutureTask?.run(FutureTask?.java:262)
at java.util.concurrent.ScheduledThreadPoolExecutor?$ScheduledFutureTask?.access$201(ScheduledThreadPoolExecutor?.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor?$ScheduledFutureTask?.run(ScheduledThreadPoolExecutor?.java:292)
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:745)

02/10/15 15:21:05 ↓↓↓ 1 similar message omitted ↓↓↓
02/10/15 15:12:13 ERROR [mer 1nq8 4/4] net.i2p.util.SimpleTimer2 : timer error

java.lang.IllegalStateException?: net.i2p.client.streaming.impl.Connection$ResendPacketEvent?@8b27797 can't be SCHEDULED
at net.i2p.util.SimpleTimer2$TimedEvent?.run2(SimpleTimer2.java:446)
at net.i2p.util.SimpleTimer2$TimedEvent?.run(SimpleTimer2.java:390)
at java.util.concurrent.Executors$RunnableAdapter?.call(Executors.java:471)
at java.util.concurrent.FutureTask?.run(FutureTask?.java:262)
at java.util.concurrent.ScheduledThreadPoolExecutor?$ScheduledFutureTask?.access$201(ScheduledThreadPoolExecutor?.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor?$ScheduledFutureTask?.run(ScheduledThreadPoolExecutor?.java:292)
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:745)

02/10/15 14:39:36 ↓↓↓ 2 similar messages omitted ↓↓↓
02/10/15 14:37:07 ERROR [mer 1nq8 2/4] net.i2p.util.SimpleTimer2 : timer error

java.lang.IllegalStateException?: net.i2p.client.streaming.impl.Connection$ResendPacketEvent?@33006e19 can't be SCHEDULED
at net.i2p.util.SimpleTimer2$TimedEvent?.run2(SimpleTimer2.java:446)
at net.i2p.util.SimpleTimer2$TimedEvent?.run(SimpleTimer2.java:390)
at java.util.concurrent.Executors$RunnableAdapter?.call(Executors.java:471)
at java.util.concurrent.FutureTask?.run(FutureTask?.java:262)
at java.util.concurrent.ScheduledThreadPoolExecutor?$ScheduledFutureTask?.access$201(ScheduledThreadPoolExecutor?.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor?$ScheduledFutureTask?.run(ScheduledThreadPoolExecutor?.java:292)
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:745)

02/10/15 12:53:14 ↓↓↓ 1 similar message omitted ↓↓↓
02/10/15 12:33:54 ↓↓↓ 1 similar message omitted ↓↓↓
02/10/15 12:17:38 ERROR [mer 1nq8 ¼] net.i2p.util.SimpleTimer2 : timer error

java.lang.IllegalStateException?: net.i2p.client.streaming.impl.Connection$ResendPacketEvent?@1a239d4b can't be SCHEDULED
at net.i2p.util.SimpleTimer2$TimedEvent?.run2(SimpleTimer2.java:446)
at net.i2p.util.SimpleTimer2$TimedEvent?.run(SimpleTimer2.java:390)
at java.util.concurrent.Executors$RunnableAdapter?.call(Executors.java:471)
at java.util.concurrent.FutureTask?.run(FutureTask?.java:262)
at java.util.concurrent.ScheduledThreadPoolExecutor?$ScheduledFutureTask?.access$201(ScheduledThreadPoolExecutor?.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor?$ScheduledFutureTask?.run(ScheduledThreadPoolExecutor?.java:292)
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:745)

Subtickets

Change History (4)

comment:1 Changed 4 years ago by zzz

Component: unspecifiedapi/utils
Milestone: undecided0.9.23
Owner: set to zzz
Status: newaccepted

probably two days, not two years ago…

The SimpleTimer2 changes - which first exposed, and then (I thought) fixed, the IllegalStateExceptions? - were in 0.9.22-10.

I haven't seen any in my logs. I'll investigate.

comment:2 Changed 4 years ago by zzz

Priority: minorblocker

reproduced here

comment:3 Changed 4 years ago by zzz

race: cancel() AND forceReschedule() while in RUNNING state.
have to tweak state machine.

comment:4 Changed 4 years ago by zzz

Resolution: fixed
Status: acceptedclosed
Note: See TracTickets for help on using tickets.