Opened 8 years ago

Closed 7 years ago

#406 closed defect (fixed)

UDP NPE in establisher

Reported by: zzz Owned by: zzz
Priority: major Milestone: 0.9
Component: router/transport Version: 0.8.11
Keywords: Cc:
Parent Tickets:

Description

_still_ not fixed (sigh)
http://zzz.i2p/topics/844

Subtickets

Change History (5)

comment:1 Changed 8 years ago by slow

  • Milestone 0.8.6 deleted
  • Version changed from 0.8.3 to 0.8.10

0.8.10-2

xxxx AM CRIT [ Establisher] sport.udp.EstablishmentManager: Error in the establisher
     java.lang.NullPointerException
     at net.i2p.router.transport.udp.InboundEstablishState.getSentY(InboundEstablishState.java:133)
     at net.i2p.router.transport.udp.InboundEstablishState.verifyIdentity(InboundEstablishState.java:306)
     at net.i2p.router.transport.udp.InboundEstablishState.getConfirmedIdentity(InboundEstablishState.java:269)
     at net.i2p.router.transport.udp.EstablishmentManager.handleInbound(EstablishmentManager.java:860)
     at net.i2p.router.transport.udp.EstablishmentManager.doPass(EstablishmentManager.java:1069)
     at net.i2p.router.transport.udp.EstablishmentManager.access$1000(EstablishmentManager.java:36)
     at net.i2p.router.transport.udp.EstablishmentManager$Establisher.run(EstablishmentManager.java:1055)
     at java.lang.Thread.run(Thread.java:619)
     at net.i2p.util.I2PThread.run(I2PThread.java:85)

comment:2 Changed 8 years ago by slow

  • Version changed from 0.8.10 to 0.8.11

Same on 0.8.11-0

comment:3 Changed 8 years ago by guest

Hi zzz,

same problem on :

2P version: 0.8.11-0deb1

Java version: Sun Microsystems Inc. 1.6.0_26 (Java(TM) SE Runtime Environment 1.6.0_26-b03)
Wrapper version: 3.5.12
Platform: Linux amd64 2.6.38-10-generic
Processor: uninitialized (core2)
Jbigi: Locally optimized native BigInteger? library loaded from file
Encoding: UTF-8

12.11.11 17:05:55 CRIT [ Establisher] sport.udp.EstablishmentManager?: Error in the establisher

java.lang.NullPointerException?
at net.i2p.router.transport.udp.InboundEstablishState?.getSentY(InboundEstablishState?.java:133)
at net.i2p.router.transport.udp.InboundEstablishState?.verifyIdentity(InboundEstablishState?.java:306)
at net.i2p.router.transport.udp.InboundEstablishState?.getConfirmedIdentity(InboundEstablishState?.java:269)
at net.i2p.router.transport.udp.EstablishmentManager?.handleInbound(EstablishmentManager?.java:860)
at net.i2p.router.transport.udp.EstablishmentManager?.doPass(EstablishmentManager?.java:1069)
at net.i2p.router.transport.udp.EstablishmentManager?.access$1000(EstablishmentManager?.java:36)
at net.i2p.router.transport.udp.EstablishmentManager?$Establisher.run(EstablishmentManager?.java:1055)
at java.lang.Thread.run(Thread.java:662)
at net.i2p.util.I2PThread.run(I2PThread.java:85)

comment:4 Changed 7 years ago by zzz

  • Milestone set to 0.9

This is not strictly a concurrency bug, but it's a race caused by two packets coming in quickly and being processed in parallel. The second needs to be queued until the first is completely done. The establishment is in-process.

comment:5 Changed 7 years ago by zzz

  • Resolution set to fixed
  • Status changed from new to closed

This was fixed as a byproduct of the DHSessionKeyBuilder refactoring in 0.8.13-15. There's a chance that the problem may manifest itself in a different way, but for now I'm optimistically declaring victory.

Note: See TracTickets for help on using tickets.