IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#ls2
/2022/02/02
@eyedeekay
+R4SAS
+RN
+acetone
+weko
Hidenet1
Irc2PGuest33877
Irc2PGuest68850
Leopold
Onn4l7h
Onn4|7h
ProRu
T3s|4_
anon
eyedeekay_bnc
j6
not_bob_afk
orignal_
profetikla
qend-irc2p
x74a6
yourtrueself
orignal if you use ip you should use "address"
zzz test results with STBM disabled: 47% java, 53% i2pd (vs. 28%/72% with STBM enabled)
zlatinb I got as far 3 i2pds talking to a java router yesterday, now deploying i2pds to 3 more containers
zlatinb there were too many "previous hop == next hop" entries in the java log which made it hard to read
zzz2 starting a 24-hour test with 1-hop IB, 0-hop OB, STBM
zzz2 also started coding SSU2 and fixing proposal issues as I go
zlatinb 5 i2pds, 1 java - java is not building exploratory tunnels but builds participating successfully
zlatinb on one of the i2pds the tunnel success build ratio is 5%
zlatinb yet on another it's 70%
R4SAS that must be bypassed with nat=false...
zlatinb cat !$
zlatinb cat .i2pd/i2pd.conf
zlatinb reseed.urls=https://10.0.3.231:8443/
zlatinb floodfill=true
zlatinb host=10.0.3.39
zlatinb nat=false
zlatinb ifname=eth0
zlatinb ifname4=eth0
R4SAS hm, I think somewhere that code was changed
zlatinb I'm on tag 2.40.0
R4SAS I mean earlier
zlatinb hmm, got one to be OK
zlatinb s/host=/address4=/ seems to work for now
zlatinb *** bounces all i2pds ***
zlatinb and at least one has 100% tunnel rate :)
R4SAS I know that villain created testnet too
R4SAS but how he done that - idk
R4SAS that's it
zlatinb I got it to work, and java built client tunnels finally
zlatinb It was address4 that did the trick
R4SAS 19:27:04 <+R4SAS> address4 = 10.X.X.X │
R4SAS 19:27:06 <+R4SAS> nat = false
zlatinb I got confused and put host=
zlatinb anyway
zlatinb but already have a tunnel test failure from java
R4SAS from both sides?
zlatinb lots of tunnel test failures in i2pd logs, but I'm investigating a java failure now. Also lots of successful tests too
zlatinb nothing on warn level, turning on debug
zlatinb looks like the message gets lost at the first hop
zlatinb 14:32:52@705/ESC[1;34mdebugESC[0m - TransitTunnel: 3787656349->2466389732 created
zlatinb then in java:
zlatinb 2022/02/02 14:35:19.257 DEBUG [JobQueue 5/5] i2p.router.tunnel.pool.TestJob: Sending garlic test #759 of OB client 8WIP: GW KN9o ElG:me.3787656349-->x8-Q EC:3787656349.2466389732-->Nq6X EC:2
zlatinb 466389732.1689515560-->YDst EC:1689515560 exp. Wed Feb 02 14:42:17 GMT 2022 replyMsgID 1820932888 with 3/0 msgs/bytes with 3 consec. failures / IB expl: GW x8-Q EC:4173220792.3295010197-->KN
zlatinb 9o ElG:3295010197.me exp. Wed Feb 02 14:38:49 GMT 2022 replyMsgID 2758099048 with 17/17408 msgs/bytes
zlatinb 2022/02/02 14:35:19.258 DEBUG [JobQueue 5/5] router.tunnel.TunnelDispatcher: dispatch outbound through 3787656349: [GarlicMessage ID: 2086255291 Data: 62 bytes]
zlatinb "2086255" does not appear anywhere in the i2pd debug log
R4SAS certainly
R4SAS because it is failed
R4SAS try to find 2466389732
R4SAS to see where next hop appears
zlatinb only when it's created 3 minutes ago, nowhere else
R4SAS EC:3787656349.2466389732-->Nq6X
R4SAS EC:2466389732.1689515560-->YDst
R4SAS EC:1689515560
zlatinb right, that's the tunnel that was built from java
R4SAS 3787656349->2466389732 message appear on x8-Q?
zlatinb yes, the first thing I pasted: 14:32:52@705/ESC[1;34mdebugESC[0m - TransitTunnel: 3787656349->2466389732 created
R4SAS any logs from Nq6X then?
zlatinb 1 second
R4SAS looks like garlic message decrytion problem can be here (or how it is called, idk)
zlatinb 14:44:05@932/ESC[1;34mdebugESC[0m - Tunnel: Transit tunnel with id 2466389732 expired <-- this is much later in Nq6X
R4SAS that's correct
R4SAS 9 miutes, tunnel marked as expiring
R4SAS ah, not 9, but 11
R4SAS +- some time...
R4SAS but how is it possible
R4SAS OB client 8WIP: 3/0 msgs/bytes with 3 consec. failures
R4SAS IB expl: with 17/17408 msgs/bytes
zlatinb don't know, some tests succeed
R4SAS send failed, but inbound received
zlatinb zzz2: are we reusing replyMessageID's by any chance?
zlatinb for tunnel test messages (type 11) ?
zzz zlatinb, I don't think so
zzz m.setMessageId(ctx.random().nextLong(I2NPMessage.MAX_ID_VALUE));
zlatinb well I'm seeing the same replyMessageID in the logs a lot, but I don't know if it's related to the problem
zlatinb I reproduced it btw in the testnet
zlatinb we're chasing logs now
zzz not sure what you're logging, but maybe you're seeing the same msg as it gets run thru all the selectors?
orignal zzz what epriration time do you set for SSU I2NP messages?
zzz it varies, not a fixed time
zzz depends on the message, and for streaming it depends on the RTO
orignal test message
orignal zlatinb sees "message expired"
orignal in logs
orignal looks like sometimes test fails because i2pd drops this SSU message due to expiration
zzz checking...
zlatinb I need to go afk for ~30 minutes, let me know if you need any experiments in the testnet
zlatinb *** afk ***
orignal I think this is the main cause of the problem
orignal once you have SSU in transports
zzz orignal, 15 seconds
orignal let me check
zzz with any clock skew, that's probably not enough
zzz but of course we're also seeing data messages drop
orignal I use 8
orignal zlatinb tried tests only
zzz do you drop strictly at the expiration or do you allow some "slop"?
orignal also can you test both 1-hop with same OBEP and IBGW?
orignal if (!msg->IsExpired ())
orignal m_Handler.PutNextMessage (std::move (msg));
orignal LogPrint (eLogDebug, "SSU: message expired");
zzz thats not so easy for me to set up
orignal completely
zzz I think almost everywhere we add 60 seconds of "slop"
zzz definitely we do at the IBGW
zzz looking for the OBEP code now
zzz still researching
orignal also zlatinb says Java can't build tunnels wihout SSU
zzz might be a testnet thing, don't know
orignal bascially we wanted to test how it goes through NTCP2 only
orignal just doesn't work
zzz wasn't that long ago I tested ntcp2-only on the live net
zzz looks like we are strict at the OBEP
orignal so you don't check epxiration on SSU level?
zzz not sure, looking
zlatinb *** back ***
zlatinb if the not building with NTCP2 is a testnet thing, I can try allowing only 1 SSU connection
zlatinb I don't know why it's happening tbh
zzz looks like we have a strict check in outbound NTCP2 after it comes out of the queue, nothing in SSU. The main check is in our "OutNetMessagePool"
zzz why are messages expiring in the testnet? I don't get it
orignal that's why we are trying to understand
orignal <zlatinb> ок, y5hS получил сообщение на 152371452, но Nq6X не получил, а в логах: SSU: message expired
orignal so message was sent but receving side dropped it
orignal as expired
orignal we suspect it causes the problem
orignal also have you tried to build 1-hop to my router?
zlatinb The "SSU: message expired" was logged in the same second as the tunnel test was initiated. I'm inclined to think it's a timestamp reading/management problem
zlatinb as opposed to message being actually late
orignal but how come?
orignal if it was the same box
zlatinb don't know, LXC containers run on the same kernel so should get the same timestamp
zlatinb so clock skew is unlikely
orignal I see a lot
orignal when I just run
orignal so that's might be a problem
zzz fyi just tried ntcp2-only on live net, no problems
zzz on another router, only about 1% of connected peers have a clock skew between 15 and 60 seconds
orignal let me investigate that message expired issue
zzz return (ts > exp + I2NP_MESSAGE_CLOCK_SKEW) || (ts < exp - 3*I2NP_MESSAGE_CLOCK_SKEW); // check if expired or too far in future
zzz looks like you do have "slop"
orignal 1 minute in one direction
orignal and 3 minutes in another
orignal but just wow
orignal Expired 1643827287198 3170786141000 2049503574
orignal current ts, exp time in msg, diff
R4SAS Mon, 23 Jun 2070 21:55:41 GMT
orignal something strange
orignal *** keeps investigating ***
R4SAS we investigated our code with expiration, it haven't changed for 6 years
R4SAS so that can be that time incorrectly added in java
R4SAS gh died again... :D
zlatinb I can switch to an all-java net and see if the tunnel tests still fail
zlatinb testnet*
zlatinb they should never fail in a testnet unless bugs
R4SAS zlatinb: btw, what about stats between i2pd only?
R4SAS just shutdown i2p
zlatinb ok, restarting with i2pd-only
zlatinb still seeing message expired and tunnel test failed
orignal thanks
orignal will take a look
orignal zzz, do you see these timestamp issues in SSU packets?
orignal I have printed out peers where packets came from
orignal DMul, DnYx, A~7X, PM5C, 287T
orignal only last is i2pd
orignal let me run one more time
zzz I'll turn on some logging and report back tomorrow
orignal nevermid
orignal I see that not only timestamp but whole message is garbage
orignal like message type = 188
orignal so it's my issue somewhere