Opened 6 years ago

Closed 5 years ago

#1272 closed defect (fixed)

I2PBote: NPE at shutdown

Reported by: zzz Owned by: HungryHobo
Priority: minor Milestone:
Component: apps/plugins Version: 0.9.12
Keywords: I2P-Bote Cc: str4d, user
Parent Tickets: Sensitive: no

Description

Pulled out of the middle of big log in #1271:

2014/05/09 01:18:13 | Exception in thread "Shutdown task i2p.bote.I2PBote$1" java.lang.NullPointerException
2014/05/09 01:18:13 | at i2p.bote.imap.MapperFactory.stopListening(MapperFactory.java:90)
2014/05/09 01:18:13 | at i2p.bote.imap.ImapService.stop(ImapService.java:207)
2014/05/09 01:18:13 | at i2p.bote.I2PBote.stopImap(I2PBote.java:579)
2014/05/09 01:18:13 | at i2p.bote.I2PBote.stopAllServices(I2PBote.java:796)
2014/05/09 01:18:13 | at i2p.bote.I2PBote.shutDown(I2PBote.java:403)
2014/05/09 01:18:13 | at i2p.bote.I2PBote$1.run(I2PBote.java:173)
2014/05/09 01:18:13 | at java.lang.Thread.run(Unknown Source)

Subtickets

Change History (6)

comment:1 Changed 6 years ago by user

also bote-related, probably insignificant:

11.05.14 02:51:26 ERROR [cheduler 4/4] i2p.client.I2PSessionMuxedImpl: Message NOT removed!  id=11477402: [MessagePayloadMessage: 
	SessionId: XXXXX
	MessageId: XXXXXXXX
	Payload: [Payload: 45 bytes]]
11.05.14 02:51:26 ERROR [cheduler 4/4] i2p.client.I2PSessionMuxedImpl: Message NOT removed!  id=11477409: [MessagePayloadMessage: 
	SessionId: XXXXX
	MessageId: XXXXXXXX
	Payload: [Payload: 476 bytes]]
11.05.14 02:52:14 ERROR [I2PSendQueue] i2p.bote.network.I2PSendQueue : Can't send packet.
net.i2p.client.I2PSessionException: Already closed
	at net.i2p.client.I2PSessionMuxedImpl.sendMessage(I2PSessionMuxedImpl.java:196)
	at net.i2p.client.I2PSessionMuxedImpl.sendMessage(I2PSessionMuxedImpl.java:175)
	at net.i2p.client.I2PSessionMuxedImpl.sendMessage(I2PSessionMuxedImpl.java:134)
	at i2p.bote.network.I2PSendQueue.sendDatagram(I2PSendQueue.java:250)
	at i2p.bote.network.I2PSendQueue.send(I2PSendQueue.java:233)
	at i2p.bote.network.I2PSendQueue.run(I2PSendQueue.java:195)
11.05.14 02:52:24 ERROR [cheduler 3/4] i2p.client.I2PSessionMuxedImpl: Message NOT removed!  id=11477488: [MessagePayloadMessage: 
	SessionId: 47335
	MessageId: 11477488
	Payload: [Payload: 593 bytes]]
11.05.14 02:52:24 ERROR [cheduler 3/4] i2p.client.I2PSessionMuxedImpl: Message NOT removed!  id=11477513: [MessagePayloadMessage: 
	SessionId: XXXXX
	MessageId: XXXXXXXX
	Payload: [Payload: 754 bytes]]

comment:2 Changed 6 years ago by zzz

NPE appears to be caused by or related to checkin 59e5717123638236354e9a4b808d9d9ac8eb60e3 by str4d April 12 2014

Last edited 6 years ago by zzz (previous) (diff)

comment:3 Changed 6 years ago by str4d

Milestone: 0.9.13
Status: newtesting

NPE should be fixed in 53d77aa309699505ed1cf502717768273b609275.

No idea what caused the other log entries, but they are unrelated to the NPE and should have a separate ticket if significant.

comment:4 Changed 6 years ago by user

12.05.14 01:45:23 ERROR [ReplicateThd] i2p.bote.folder.Folder        : Can't create a FolderElement from file: C:\ProgramData\Application Data\i2p\i2pbote\dht_email_pkt\Xg5PNlLhZue64nRCIcbhUw6anUKluc9FSpZeU3d-P6s=.pkt (file size=8192)
i2p.bote.packet.MalformedPacketException: Can't instantiate packet for type code <E>
	at i2p.bote.packet.DataPacket.createPacket(DataPacket.java:104)
	at i2p.bote.packet.I2PBotePacket.createPacket(I2PBotePacket.java:118)
	at i2p.bote.packet.I2PBotePacket.createPacket(I2PBotePacket.java:90)
	at i2p.bote.folder.PacketFolder.createFolderElement(PacketFolder.java:85)
	at i2p.bote.folder.PacketFolder.createFolderElement(PacketFolder.java:42)
	at i2p.bote.folder.Folder$3.findNextElement(Folder.java:169)
	at i2p.bote.folder.Folder$3.next(Folder.java:150)
	at i2p.bote.folder.PacketFolder$1.next(PacketFolder.java:106)
	at i2p.bote.folder.PacketFolder$1.next(PacketFolder.java:90)
	at i2p.bote.network.kademlia.ReplicateThread.replicate(ReplicateThread.java:126)
	at i2p.bote.network.kademlia.ReplicateThread.run(ReplicateThread.java:186)
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at i2p.bote.packet.DataPacket.createPacket(DataPacket.java:101)
	... 10 more
Caused by: java.nio.BufferUnderflowException
	at java.nio.HeapByteBuffer.get(Unknown Source)
	at java.nio.ByteBuffer.get(Unknown Source)
	at i2p.bote.packet.dht.EncryptedEmailPacket.<init>(EncryptedEmailPacket.java:102)
	... 15 more

comment:5 Changed 6 years ago by zzz

<iRelay> <user@kyirc> <zzz@irc2p> what you didnt say is if those other errors were before or after the NPE <←———————- after

I believe the errors in comment 1 above are cascaded from the NPE, in that bote didn't shut down properly, and is continuing to try to send data. If this is the case then those errors may be ignored.

The error in comment 4 is completely unrelated and is likely a dup of #1196, and there are posts on forum.i2p also.

comment:6 Changed 5 years ago by str4d

Keywords: I2P-Bote added
Milestone: 0.9.13
Resolution: fixed
Status: testingclosed

I agree with zzz's analysis.

Note: See TracTickets for help on using tickets.