Opened 6 years ago

Closed 6 years ago

#989 closed defect (worksforme)

NPE: router.tunnel.FragmentHandler

Reported by: guest Owned by: zzz
Priority: minor Milestone: 0.9.8
Component: router/transport Version: 0.9.7
Keywords: Cc: zab, killyourtv@…
Parent Tickets:

Description

I2P version: 0.9.7-8
Java version: Oracle Corporation 1.8.0-ea (Java(TM) SE Runtime Environment 1.8.0-ea-b36e)
Wrapper version: 3.5.17
Server version: 7.6.11.v20130520
Servlet version: Jasper JSP 2.1 Engine
Platform: Linux arm 3.6.11+
Processor: uninitialized (arm)
Jbigi: Locally optimized native BigInteger? library loaded from file
Encoding: UTF-8
Charset: UTF-8

26/07/13 09:00:14 ERROR [receiver 3/5] .router.tunnel.FragmentHandler?: Corrupt fragment received: offset = 902

java.lang.NullPointerException?
at net.i2p.router.transport.ntcp.EstablishState?.prepareOutbound(EstablishState?.java:542)
at net.i2p.router.transport.ntcp.NTCPTransport.outboundMessageReady(NTCPTransport.java:234)
at net.i2p.router.transport.TransportImpl?.send(TransportImpl?.java:405)
at net.i2p.router.transport.GetBidsJob?.getBids(GetBidsJob?.java:83)
at net.i2p.router.transport.CommSystemFacadeImpl?.processMessage(CommSystemFacadeImpl?.java:140)
at net.i2p.router.OutNetMessagePool?.add(OutNetMessagePool?.java:49)
at net.i2p.router.tunnel.OutboundMessageDistributor?.distribute(OutboundMessageDistributor?.java:77)
at net.i2p.router.tunnel.OutboundMessageDistributor?.distribute(OutboundMessageDistributor?.java:47)
at net.i2p.router.tunnel.OutboundTunnelEndpoint?$DefragmentedHandler?.receiveComplete(OutboundTunnelEndpoint?.java:66)
at net.i2p.router.tunnel.FragmentHandler?.receiveComplete(FragmentHandler?.java:519)
at net.i2p.router.tunnel.FragmentHandler?.receiveInitialFragment(FragmentHandler?.java:389)
at net.i2p.router.tunnel.FragmentHandler?.receiveFragment(FragmentHandler?.java:293)
at net.i2p.router.tunnel.FragmentHandler?.receiveTunnelMessage(FragmentHandler?.java:150)
at net.i2p.router.tunnel.OutboundTunnelEndpoint?.dispatch(OutboundTunnelEndpoint?.java:44)
at net.i2p.router.tunnel.TunnelDispatcher?.dispatch(TunnelDispatcher?.java:536)
at net.i2p.router.InNetMessagePool?.doShortCircuitTunnelData(InNetMessagePool?.java:323)
at net.i2p.router.InNetMessagePool?.shortCircuitTunnelData(InNetMessagePool?.java:308)
at net.i2p.router.InNetMessagePool?.add(InNetMessagePool?.java:179)
at net.i2p.router.transport.TransportManager?.messageReceived(TransportManager?.java:522)
at net.i2p.router.transport.TransportImpl?.messageReceived(TransportImpl?.java:469)
at net.i2p.router.transport.udp.UDPTransport.messageReceived(UDPTransport.java:1219)
at net.i2p.router.transport.udp.MessageReceiver?.loop(MessageReceiver?.java:164)
at net.i2p.router.transport.udp.MessageReceiver?$Runner.run(MessageReceiver?.java:83)
at java.lang.Thread.run(Thread.java:722)
at net.i2p.util.I2PThread.run(I2PThread.java:85)

Subtickets

Change History (9)

comment:1 follow-up: Changed 6 years ago by zzz

  • Component changed from unspecified to router/transport
  • Owner set to zzz

_log is null? It's final, can't happen.

Looks like the kind of error we used to see a lot on the RPi with the old JVM. First time we've seen something like it on the 1.8.0-ea JVM.

Is there a newer JVM version available? Time to update if so.

comment:2 Changed 6 years ago by guest

27/07/13 11:53:30 ERROR [P reader 4/4] .router.tunnel.FragmentHandler: Corrupt fragment received: offset = 51
     java.lang.NullPointerException
     at net.i2p.router.transport.ntcp.EstablishState.prepareOutbound(EstablishState.java:542)
     at net.i2p.router.transport.ntcp.NTCPTransport.outboundMessageReady(NTCPTransport.java:234)
     at net.i2p.router.transport.TransportImpl.send(TransportImpl.java:405)
     at net.i2p.router.transport.GetBidsJob.getBids(GetBidsJob.java:83)
     at net.i2p.router.transport.CommSystemFacadeImpl.processMessage(CommSystemFacadeImpl.java:140)
     at net.i2p.router.OutNetMessagePool.add(OutNetMessagePool.java:49)
     at net.i2p.router.tunnel.OutboundMessageDistributor.distribute(OutboundMessageDistributor.java:77)
     at net.i2p.router.tunnel.OutboundMessageDistributor.distribute(OutboundMessageDistributor.java:47)
     at net.i2p.router.tunnel.OutboundTunnelEndpoint$DefragmentedHandler.receiveComplete(OutboundTunnelEndpoint.java:66)
     at net.i2p.router.tunnel.FragmentHandler.receiveComplete(FragmentHandler.java:519)
     at net.i2p.router.tunnel.FragmentHandler.receiveInitialFragment(FragmentHandler.java:389)
     at net.i2p.router.tunnel.FragmentHandler.receiveFragment(FragmentHandler.java:293)
     at net.i2p.router.tunnel.FragmentHandler.receiveTunnelMessage(FragmentHandler.java:150)
     at net.i2p.router.tunnel.OutboundTunnelEndpoint.dispatch(OutboundTunnelEndpoint.java:44)
     at net.i2p.router.tunnel.TunnelDispatcher.dispatch(TunnelDispatcher.java:536)
     at net.i2p.router.InNetMessagePool.doShortCircuitTunnelData(InNetMessagePool.java:323)
     at net.i2p.router.InNetMessagePool.shortCircuitTunnelData(InNetMessagePool.java:308)
     at net.i2p.router.InNetMessagePool.add(InNetMessagePool.java:179)
     at net.i2p.router.transport.TransportManager.messageReceived(TransportManager.java:522)
     at net.i2p.router.transport.TransportImpl.messageReceived(TransportImpl.java:469)
     at net.i2p.router.transport.ntcp.NTCPConnection$ReadState.receiveLastBlock(NTCPConnection.java:1489)
     at net.i2p.router.transport.ntcp.NTCPConnection$ReadState.receiveSubsequent(NTCPConnection.java:1447)
     at net.i2p.router.transport.ntcp.NTCPConnection$ReadState.receiveBlock(NTCPConnection.java:1397)
     at net.i2p.router.transport.ntcp.NTCPConnection.recvUnencryptedI2NP(NTCPConnection.java:1223)
     at net.i2p.router.transport.ntcp.NTCPConnection.recvEncryptedFast(NTCPConnection.java:1205)
     at net.i2p.router.transport.ntcp.NTCPConnection.recvEncryptedI2NP(NTCPConnection.java:1136)
     at net.i2p.router.transport.ntcp.Reader.processRead(Reader.java:173)
     at net.i2p.router.transport.ntcp.Reader.access$400(Reader.java:21)
     at net.i2p.router.transport.ntcp.Reader$Runner.run(Reader.java:118)
     at java.lang.Thread.run(Thread.java:722)
     at net.i2p.util.I2PThread.run(I2PThread.java:85)
27/07/13 11:21:35 CRIT [leTimer2 3/4] net.i2p.util.SimpleTimer2 : SimpleTimer2: Timed task net.i2p.router.tunnel.TunnelGateway$DelayedFlush@13ba3c1 exited unexpectedly, please report
     java.lang.NullPointerException
     at net.i2p.router.transport.ntcp.EstablishState.prepareOutbound(EstablishState.java:542)
     at net.i2p.router.transport.ntcp.NTCPTransport.outboundMessageReady(NTCPTransport.java:234)
     at net.i2p.router.transport.TransportImpl.send(TransportImpl.java:405)
     at net.i2p.router.transport.GetBidsJob.getBids(GetBidsJob.java:83)
     at net.i2p.router.transport.CommSystemFacadeImpl.processMessage(CommSystemFacadeImpl.java:140)
     at net.i2p.router.OutNetMessagePool.add(OutNetMessagePool.java:49)
     at net.i2p.router.tunnel.OutboundReceiver.send(OutboundReceiver.java:79)
     at net.i2p.router.tunnel.OutboundReceiver.receiveEncrypted(OutboundReceiver.java:49)
     at net.i2p.router.tunnel.OutboundSender.sendPreprocessed(OutboundSender.java:34)
     at net.i2p.router.tunnel.BatchedPreprocessor.send(BatchedPreprocessor.java:385)
     at net.i2p.router.tunnel.BatchedPreprocessor.preprocessQueue(BatchedPreprocessor.java:227)
     at net.i2p.router.tunnel.TunnelGateway$DelayedFlush.timeReached(TunnelGateway.java:215)
     at net.i2p.util.SimpleTimer2$TimedEvent.run(SimpleTimer2.java:348)
     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:180)
     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
     at java.lang.Thread.run(Thread.java:722)

Have not looked into an upgrade yet.

comment:3 Changed 6 years ago by zzz

  • Cc zab added

Hmm, unless the recent zab changes are causing it (VerifiedEstablishState?) - CC'ing zab

comment:4 Changed 6 years ago by zab

I don't see how it's possible, but just to be safe I'm overriding the method with a noop in revision 99e4bd9ecf8f253fbc7ab6fcaddfeb28dd97e168

comment:5 in reply to: ↑ 1 Changed 6 years ago by killyourtv

  • Cc killyourtv@… added

Replying to zzz:

Is there a newer JVM version available? Time to update if so.

Latest is jdk-8-ea-b100-linux-arm-vfp-hflt-24_jul_2013.tar.gz

comment:6 Changed 6 years ago by tyro

Rocking 0.9.7-12. Need to upgrade JVM + I2P to latest versions.
A crit appeared in the below logs hence my update.

01/08/13 16:22:31 ERROR [receiver 2/5] .router.tunnel.FragmentHandler: Corrupt fragment received: offset = 902
     java.lang.NullPointerException
     at net.i2p.router.transport.ntcp.EstablishState.prepareOutbound(EstablishState.java:542)
     at net.i2p.router.transport.ntcp.NTCPTransport.outboundMessageReady(NTCPTransport.java:240)
     at net.i2p.router.transport.TransportImpl.send(TransportImpl.java:405)
     at net.i2p.router.transport.GetBidsJob.getBids(GetBidsJob.java:83)
     at net.i2p.router.transport.CommSystemFacadeImpl.processMessage(CommSystemFacadeImpl.java:140)
     at net.i2p.router.OutNetMessagePool.add(OutNetMessagePool.java:49)
     at net.i2p.router.tunnel.OutboundMessageDistributor.distribute(OutboundMessageDistributor.java:77)
     at net.i2p.router.tunnel.OutboundMessageDistributor.distribute(OutboundMessageDistributor.java:47)
     at net.i2p.router.tunnel.OutboundTunnelEndpoint$DefragmentedHandler.receiveComplete(OutboundTunnelEndpoint.java:66)
     at net.i2p.router.tunnel.FragmentHandler.receiveComplete(FragmentHandler.java:519)
     at net.i2p.router.tunnel.FragmentHandler.receiveInitialFragment(FragmentHandler.java:389)
     at net.i2p.router.tunnel.FragmentHandler.receiveFragment(FragmentHandler.java:293)
     at net.i2p.router.tunnel.FragmentHandler.receiveTunnelMessage(FragmentHandler.java:150)
     at net.i2p.router.tunnel.OutboundTunnelEndpoint.dispatch(OutboundTunnelEndpoint.java:44)
     at net.i2p.router.tunnel.TunnelDispatcher.dispatch(TunnelDispatcher.java:536)
     at net.i2p.router.InNetMessagePool.doShortCircuitTunnelData(InNetMessagePool.java:323)
     at net.i2p.router.InNetMessagePool.shortCircuitTunnelData(InNetMessagePool.java:308)
     at net.i2p.router.InNetMessagePool.add(InNetMessagePool.java:179)
     at net.i2p.router.transport.TransportManager.messageReceived(TransportManager.java:522)
     at net.i2p.router.transport.TransportImpl.messageReceived(TransportImpl.java:469)
     at net.i2p.router.transport.udp.UDPTransport.messageReceived(UDPTransport.java:1219)
     at net.i2p.router.transport.udp.MessageReceiver.loop(MessageReceiver.java:164)
     at net.i2p.router.transport.udp.MessageReceiver$Runner.run(MessageReceiver.java:83)
     at java.lang.Thread.run(Thread.java:722)
     at net.i2p.util.I2PThread.run(I2PThread.java:85)
01/08/13 15:42:08 CRIT [dHandler 1/1] outer.tunnel.pool.BuildHandler: B0rked in the tunnel handler
     java.lang.NullPointerException
     at net.i2p.router.transport.ntcp.EstablishState.prepareOutbound(EstablishState.java:542)
     at net.i2p.router.transport.ntcp.NTCPTransport.outboundMessageReady(NTCPTransport.java:240)
     at net.i2p.router.transport.TransportImpl.send(TransportImpl.java:405)
     at net.i2p.router.transport.GetBidsJob.getBids(GetBidsJob.java:83)
     at net.i2p.router.transport.CommSystemFacadeImpl.processMessage(CommSystemFacadeImpl.java:140)
     at net.i2p.router.OutNetMessagePool.add(OutNetMessagePool.java:49)
     at net.i2p.router.tunnel.pool.BuildHandler.handleReq(BuildHandler.java:791)
     at net.i2p.router.tunnel.pool.BuildHandler.handleRequest(BuildHandler.java:422)
     at net.i2p.router.tunnel.pool.BuildHandler.handleInboundRequest(BuildHandler.java:216)
     at net.i2p.router.tunnel.pool.BuildHandler.run(BuildHandler.java:178)
     at java.lang.Thread.run(Thread.java:722)
     at net.i2p.util.I2PThread.run(I2PThread.java:85)
01/08/13 13:34:52 ERROR [P reader 1/4] .router.tunnel.FragmentHandler: Corrupt fragment received: offset = 902
     java.lang.NullPointerException
     at net.i2p.router.transport.ntcp.EstablishState.prepareOutbound(EstablishState.java:542)
     at net.i2p.router.transport.ntcp.NTCPTransport.outboundMessageReady(NTCPTransport.java:240)
     at net.i2p.router.transport.TransportImpl.send(TransportImpl.java:405)
     at net.i2p.router.transport.GetBidsJob.getBids(GetBidsJob.java:83)
     at net.i2p.router.transport.CommSystemFacadeImpl.processMessage(CommSystemFacadeImpl.java:140)
     at net.i2p.router.OutNetMessagePool.add(OutNetMessagePool.java:49)
     at net.i2p.router.tunnel.OutboundMessageDistributor.distribute(OutboundMessageDistributor.java:77)
     at net.i2p.router.tunnel.OutboundMessageDistributor.distribute(OutboundMessageDistributor.java:47)
     at net.i2p.router.tunnel.OutboundTunnelEndpoint$DefragmentedHandler.receiveComplete(OutboundTunnelEndpoint.java:66)
     at net.i2p.router.tunnel.FragmentHandler.receiveComplete(FragmentHandler.java:519)
     at net.i2p.router.tunnel.FragmentHandler.receiveInitialFragment(FragmentHandler.java:389)
     at net.i2p.router.tunnel.FragmentHandler.receiveFragment(FragmentHandler.java:293)
     at net.i2p.router.tunnel.FragmentHandler.receiveTunnelMessage(FragmentHandler.java:150)
     at net.i2p.router.tunnel.OutboundTunnelEndpoint.dispatch(OutboundTunnelEndpoint.java:44)
     at net.i2p.router.tunnel.TunnelDispatcher.dispatch(TunnelDispatcher.java:536)
     at net.i2p.router.InNetMessagePool.doShortCircuitTunnelData(InNetMessagePool.java:323)
     at net.i2p.router.InNetMessagePool.shortCircuitTunnelData(InNetMessagePool.java:308)
     at net.i2p.router.InNetMessagePool.add(InNetMessagePool.java:179)
     at net.i2p.router.transport.TransportManager.messageReceived(TransportManager.java:522)
     at net.i2p.router.transport.TransportImpl.messageReceived(TransportImpl.java:469)
     at net.i2p.router.transport.ntcp.NTCPConnection$ReadState.receiveLastBlock(NTCPConnection.java:1489)
     at net.i2p.router.transport.ntcp.NTCPConnection$ReadState.receiveSubsequent(NTCPConnection.java:1447)
     at net.i2p.router.transport.ntcp.NTCPConnection$ReadState.receiveBlock(NTCPConnection.java:1397)
     at net.i2p.router.transport.ntcp.NTCPConnection.recvUnencryptedI2NP(NTCPConnection.java:1223)
     at net.i2p.router.transport.ntcp.NTCPConnection.recvEncryptedFast(NTCPConnection.java:1205)
     at net.i2p.router.transport.ntcp.NTCPConnection.recvEncryptedI2NP(NTCPConnection.java:1136)
     at net.i2p.router.transport.ntcp.Reader.processRead(Reader.java:173)
     at net.i2p.router.transport.ntcp.Reader.access$400(Reader.java:21)
     at net.i2p.router.transport.ntcp.Reader$Runner.run(Reader.java:118)
     at java.lang.Thread.run(Thread.java:722)
     at net.i2p.util.I2PThread.run(I2PThread.java:85)
01/08/13 11:51:01 ERROR [P reader 1/4] .router.tunnel.FragmentHandler: Corrupt fragment received: offset = 21
     java.lang.NullPointerException
     at net.i2p.router.transport.ntcp.EstablishState.prepareOutbound(EstablishState.java:542)
     at net.i2p.router.transport.ntcp.NTCPTransport.outboundMessageReady(NTCPTransport.java:240)
     at net.i2p.router.transport.TransportImpl.send(TransportImpl.java:405)
     at net.i2p.router.transport.GetBidsJob.getBids(GetBidsJob.java:83)
     at net.i2p.router.transport.CommSystemFacadeImpl.processMessage(CommSystemFacadeImpl.java:140)
     at net.i2p.router.OutNetMessagePool.add(OutNetMessagePool.java:49)
     at net.i2p.router.tunnel.OutboundMessageDistributor.distribute(OutboundMessageDistributor.java:77)
     at net.i2p.router.tunnel.OutboundMessageDistributor.distribute(OutboundMessageDistributor.java:47)
     at net.i2p.router.tunnel.OutboundTunnelEndpoint$DefragmentedHandler.receiveComplete(OutboundTunnelEndpoint.java:66)
     at net.i2p.router.tunnel.FragmentHandler.receiveComplete(FragmentHandler.java:519)
     at net.i2p.router.tunnel.FragmentHandler.receiveInitialFragment(FragmentHandler.java:389)
     at net.i2p.router.tunnel.FragmentHandler.receiveFragment(FragmentHandler.java:293)
     at net.i2p.router.tunnel.FragmentHandler.receiveTunnelMessage(FragmentHandler.java:150)
     at net.i2p.router.tunnel.OutboundTunnelEndpoint.dispatch(OutboundTunnelEndpoint.java:44)
     at net.i2p.router.tunnel.TunnelDispatcher.dispatch(TunnelDispatcher.java:536)
     at net.i2p.router.InNetMessagePool.doShortCircuitTunnelData(InNetMessagePool.java:323)
     at net.i2p.router.InNetMessagePool.shortCircuitTunnelData(InNetMessagePool.java:308)
     at net.i2p.router.InNetMessagePool.add(InNetMessagePool.java:179)
     at net.i2p.router.transport.TransportManager.messageReceived(TransportManager.java:522)
     at net.i2p.router.transport.TransportImpl.messageReceived(TransportImpl.java:469)
     at net.i2p.router.transport.ntcp.NTCPConnection$ReadState.receiveLastBlock(NTCPConnection.java:1489)
     at net.i2p.router.transport.ntcp.NTCPConnection$ReadState.receiveSubsequent(NTCPConnection.java:1447)
     at net.i2p.router.transport.ntcp.NTCPConnection$ReadState.receiveBlock(NTCPConnection.java:1397)
     at net.i2p.router.transport.ntcp.NTCPConnection.recvUnencryptedI2NP(NTCPConnection.java:1223)
     at net.i2p.router.transport.ntcp.NTCPConnection.recvEncryptedFast(NTCPConnection.java:1205)
     at net.i2p.router.transport.ntcp.NTCPConnection.recvEncryptedI2NP(NTCPConnection.java:1136)
     at net.i2p.router.transport.ntcp.Reader.processRead(Reader.java:173)
     at net.i2p.router.transport.ntcp.Reader.access$400(Reader.java:21)
     at net.i2p.router.transport.ntcp.Reader$Runner.run(Reader.java:118)
     at java.lang.Thread.run(Thread.java:722)

comment:7 follow-up: Changed 6 years ago by zzz

still happening?

comment:8 in reply to: ↑ 7 Changed 6 years ago by guest

Replying to zzz:

still happening?

no, maybe it was the jvm?

comment:9 Changed 6 years ago by zzz

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

ok, closing, please reopen if it happens again

Note: See TracTickets for help on using tickets.