Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#799 closed enhancement (fixed)

Resurrecting I2Ping

Reported by: guest Owned by: zzz
Priority: major Milestone: 0.9.4
Component: api/i2cp Version: 0.9.3
Keywords: i2ping Cc:
Parent Tickets:

Description

I know I2Ping hasnt been touched in years, but im hoping there might be some renewed interest in fixing this back up.

Can you provide some clues/tips on where to start looking if you know? All i know is that it stopped working after 0.9.0.

Subtickets

Change History (8)

comment:1 Changed 6 years ago by zzz

  • Milestone changed from 0.9.9 to 0.9.4
  • Owner set to zzz
  • Status changed from new to accepted

I just tried it using the instructions at http://zzz.i2p/topics/147 and it appears the pings are not being sent out, error is:

{xx:xx:xx ERROR [nt Writer 12] i2p.client.I2PSessionMuxedImpl: [I2PSessionMuxedImpl #19377]: Error occurred communicating with router: Error writing out the message
net.i2p.data.i2cp.I2CPMessageException: Unable to write out the message as there is not enough data

at net.i2p.data.i2cp.SendMessageExpiresMessage?.writeMessage(SendMessageExpiresMessage?.java:109)
at net.i2p.client.ClientWriterRunner?.run(ClientWriterRunner?.java:77)
at java.lang.Thread.run(Thread.java:595)
at net.i2p.util.I2PThread.run(I2PThread.java:85)

}}}

perhaps some check was added for a zero-length payload

comment:2 Changed 6 years ago by zzz

  • Component changed from apps/i2ptunnel to api/i2cp
  • Summary changed from Reserecting I2Ping to Resurrecting I2Ping

The problem was a 0 nonce value. Broken in 0.9.2. Affects all external I2CP apps, not just ping. Will check in a fix soon.

comment:3 Changed 6 years ago by zzz

  • Priority changed from minor to major
  • Resolution set to fixed
  • Status changed from accepted to closed

fixed in 0.9.3-13

comment:4 Changed 6 years ago by guest

  • Resolution fixed deleted
  • Status changed from closed to reopened

has anyone tested this on -13? Here is my results:

I2PTunnel>ping zzz.i2p
*** I2Ping results:
I2PTunnel>Unresolvable: zzz.i2p
I2PTunnel>ping ukeu3k5oycgaauneqgtnvselmt4yemvoilkln7jpvamvfx7dnkdq.b32.i2p
*** I2Ping results:
I2PTunnel>1: -
2: -
3: -
  0 received and 3 lost for destination:   ukeu3k5oycgaauneqgtnvselmt4yemvoilkln7jpvamvfx7dnkdq.b32.i2p

I2PTunnel>ping GKapJ8koUcBj~jmQzHsTYxDg2tpfWj0xjQTzd8BhfC9c3OS5fwPBNajgF-eOD6eCjFTqTlorlh7Hnd8kXj1qblUGXT-tDoR9~YV8dmXl51cJn9MVTRrEqRWSJVXbUUz9t5Po6Xa247Vr0sJn27R4KoKP8QVj1GuH6dB3b6wTPbOamC3dkO18vkQkfZWUdRMDXk0d8AdjB0E0864nOT~J9Fpnd2pQE5uoFT6P0DqtQR2jsFvf9ME61aqLvKPPWpkgdn4z6Zkm-NJOcDz2Nv8Si7hli94E9SghMYRsdjU-knObKvxiagn84FIwcOpepxuG~kFXdD5NfsH0v6Uri3usE3uSzpWS0EHmrlfoLr5uGGd9ZHwwCIcgfOATaPRMUEQxiK9q48PS0V3EXXO4-YLT0vIfk4xO~XqZpn8~PW1kFe2mQMHd7oO89yCk-3yizRG3UyFtI7-mO~eCI6-m1spYoigStgoupnC3G85gJkqEjMm49gUjbhfWKWI-6NwTj0ZnAAAA
*** I2Ping results:
I2PTunnel>1: -
2: -
3: -
  0 received and 3 lost for destination:  

comment:5 Changed 6 years ago by zzz

Thanks for testing, and yes I tested it before I closed the ticket.

To resolve hostnames, you must have a hosts.txt or hostsdb.blockfile in your current working directory. This is because it resolves the host names locally (not via the router JVM).

The b32 is failing because the default timeout is very short (5 seconds). Especially the first ping takes longer due to connection setup time. It's also flaky because it sets up a new destination for every command. Try ping -t 30000 -n 10 xxxx.b32.i2p. Try a number of different hosts as well.

Type ping with no arguments to see the options.

Please retest and report results. Thanks.

comment:6 Changed 6 years ago by guest

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

Ok increasing the timeout helps slightly, in my tests i can get a ping results for the the last few tries at least. But the first couple are always lost.

 I2PTunnel>*** I2Ping results:
 I2PTunnel>1: -
 2: + 4273 ms
 3: + 928 ms
 4: + 1288 ms
 5: + 1258 ms
 6: + 1264 ms
 7: + 1151 ms
 8: + 1152 ms
 9: + 1165 ms
 10: + 1144 ms
 9 received (average time 1513 ms) and 1 lost for destination:   i43xzkihpdq34f2jlmtgiyyay5quafg5rebog7tk7xil2c6kbyoa.b32.i2p
 *** Finished.

comment:7 Changed 6 years ago by zzz

Thanks for the retest and for closing the ticket.

My guess is that the timer starts before the tunnel building, so the first ping will fail unless the timeout is really long. Depending on network conditions, router integration, tunnel length settings, etc., it could take 5-30 seconds or more to build the tunnels.

comment:8 Changed 6 years ago by zzz

0.9.4 works according to http://wiki.vuze.com/w/I2P_HowTo

Note: See TracTickets for help on using tickets.