~R4SAS
~orignal
~villain
&N00B
+relaybot
AreEnn
Guest7650
Most2
Nausicaa
Nikat
acetone
itsAMe
karamba_i2p
ncop
onon
overflow
poriori
profetikla
r00tobo
soos
teeth
tetrimer_
uis
un
universalpunk_
weko
orignal
сделал часы
R4SAS
ага, вижу
R4SAS
посмотрим
orignal
не проверял еще
R4SAS
github.com/PurpleI2P/i2pd/commit/19cc1c3b3fead816ff29098bd56055f509c41ef3#diff-930abde06b9d0387c92fe813fe7da3322a6b6de1b35aebb106e156b804c1eb9aR293-R295
R4SAS
можно было слепить вместе через &&
R4SAS
i2p::util::AdjustTimeOffset (-offset);
R4SAS
м, а почему минус?
orignal
потому что надо в обратную сторону сдвигать
orignal
то есть надо приводить наше время к тому
R4SAS
ага, уже понял
R4SAS
и так будет делаться для всех пиров в пиртесте?
orignal
ну типа да
orignal
потом переделаем более умно
orignal
с вычислением среднего
R4SAS
да там две переменные добавить, одну для буля, другую для счетчика
R4SAS
а, ну и третью, для подсчета
R4SAS
ладно
orignal
это след шаг
R4SAS
orignal: для изучения:
R4SAS
или даже лучше:
R4SAS
хотя с другой стороны нет смысла писать своё, в openssl всё это уже есть, и там ассемблерный код выполняется
orignal
эта известная тема
orignal
у нас же проблема в другом
orignal
для шифрование тоннеля используется шифрование IV причем двойной
R4SAS
а, ясно
R4SAS
приходится дважды к openssl обращаться
R4SAS
поэтому быстрее к процу напрямую скармливать
R4SAS
ну... я посмотрел на код для ассемблера там, и понял что нихера не понял
R4SAS
как то слишком много операндов вызывается
orignal
там IV остается в регистре и его не надо заново загржуать
orignal
за счет этого ускорение
R4SAS
orignal: ты весь в работе?
orignal
а что такое?
R4SAS
на неилитный заглядываешь?
orignal
счас
orignal
скажи крутко суть
orignal
там много букафф ))
R4SAS
ну, он запустил полностью, и при построении туннеля с жабы произошло так, что на первом прыжке транзит создался
R4SAS
а дальше везде тишина
R4SAS
либо гарлик не дошел, либо его отбросило, либо его не расшифровало
R4SAS
не знаю чего именно отвечает за построение
orignal
так пусть разбирается почему
orignal
по логам
zlatinb
в тоже самою секунду есть две сообщения тип 11
orignal
я так понимаю с i2pd все нормально строится
zlatinb
ничего на warn
orignal
zlatinb объясни внятно сценарий
orignal
построили тоннель
orignal
дальше что?
orignal
ты в него что то отправляешь
zlatinb
1 жаба, 6 ипд, жаба построила тунель, потом тунел тест неуспешной
zlatinb
11
orignal
на каком именно неуспещно?
zlatinb
таймаут
orignal
входящем? исходящем?
zlatinb
изходящем
orignal
есть ли ошибки в i2pd
zlatinb
нет
orignal
через который тоннели идут
orignal
должны быть
orignal
давай тогда в лог пиши получение
orignal
давай по порядку
orignal
джава отправила сообщение
zlatinb
ок, сначало тунель построился в 14:32:52: 14:32:52@705/ESC[1;34mdebugESC[0m - TransitTunnel: 3787656349->2466389732 created
orignal
i2pd его получил?
orignal
расшифровал?
orignal
отправил дальше?
orignal
надо ведь понять где потерялось
zlatinb
(ето из и2пд лог)
orignal
кстати линк был NTCP2 или SSU?
zlatinb
линк посмотрю счас
orignal
а на веб морде посмотри его
orignal
сколько даллных прошло
orignal
в разделе Transit tunnels
orignal
меня интересует по нулям или нет
zlatinb
ntcp2
orignal
смотри что
orignal
тоннель если построился успешно
orignal
то какие бы данные не шли он просто перешлет дальше мусор
orignal
если неверное шифрование или что то
zlatinb
тунельа нету на вебморде, он ушел давно
orignal
ну а повторить сценарий можешь?
zlatinb
ок счас
orignal
тоннель какой длины? 1,
zlatinb
3
orignal
давай начнем с 1
zlatinb
нашел тунель с 1
orignal
также в кофиге добавь loglevel=debug
orignal
чтобы видеть сообщения
zlatinb
добавил
orignal
LogPrint (eLogDebug, "TransitTunnel: handle msg for endpoint ", GetTunnelID ());
orignal
вот такие
zlatinb
вот, сначала жава начинает тунел тест: Sending garlic test #1572 of OB expl: GW KN9o ElG:me.1071667347-->YDst EC:1071667347 exp. Wed Feb 02 15:25:16
zlatinb
ето в 15:21:16.795
zlatinb
на вбморде на YDst : 1071667347 27756
zlatinb
значит данние есть
zlatinb
в логе на YDst :
orignal
да
zlatinb
15:21:16@338/ESC[1;34mdebugESC[0m - TransitTunnel: handle msg for endpoint 1071667347
zlatinb
15:21:16@338/ESC[1;34mdebugESC[0m - TunnelMessage: Handle fragment of 84 bytes, msg type 11
zlatinb
15:21:16@766/ESC[1;34mdebugESC[0m - NTCP2: Sent length 123
zlatinb
15:21:16@766/ESC[1;34mdebugESC[0m - NTCP2: Next frame sent 125
zlatinb
кажется ето прошло
zlatinb
наоборот тунель: replyMsgID 1205189117 with 16/13312 msgs/bytes / IB client 8WIP: GW y5hS EC:1523714522.1978457657-->Nq6X EC:1978457657.3303311037-->x8-Q EC:3303311037.2561184601-->KN9o ElG:2561184601.
zlatinb
KN9o ето жава
orignal
а джава получила это сообщение?
zlatinb
хм, чтото не так, очень много сообщений с одинаковом replyMsgID
zlatinb
надо спросит ззз
orignal
то есть получается
orignal
i2pd получает сообщение обрабатывает и отсылает дальше
zlatinb
не могу сказать, кажется все тунел тестьй с одинаковом replyMsgID
zlatinb
да, первой хоп так и сделал в етом случае
orignal
*** отойду на полчаса ***
zlatinb
а нет, правильной номер 450420060 и жава не получила обратно
zlatinb
счас проверю y5hS
orignal
а почему не получила.
orignal
что случилось с тем сообщением по NTCP2?
zlatinb
кажется пришло успешно в y5hS
orignal
давай искать когда неуспешно
zlatinb
искать warn по пути?
zlatinb
не нашел warn в ето минуту: 15:21:16
zlatinb
но смотря на етоть тунель: GW y5hS EC:1523714522.1978457657-->Nq6X EC:1978457657.3303311037-->x8-Q EC:3303311037.2561184601-->KN9o ElG:2561184601
zlatinb
в x8-Q 2561184601 появляеться только один раз в логах
zlatinb
когда построен
acetone
я тут недавно статью про торренты в i2p опубликовал: habr.com/ru/post/649151 самая рейтинговая из всех получилась
zlatinb
ок, y5hS получил сообщение на 152371452, но Nq6X не получил, а в логах: SSU: message expired
orignal
так погоди
orignal
ты хочешь сказать что джава получает SSU пакет и выкидывает по времени?
zlatinb
нет ето между 2 и2пд
zlatinb
жава ето KN9o
zlatinb
все осталние и2пд
orignal
message expired это i2pd пишет?
zlatinb
да
orignal
а почему они по SSU?>
zlatinb
не знаю, могу вьйключить
orignal
с message expired я разберусь
orignal
я не про то
orignal
i2pd снчала по NTCP2 пытается
orignal
что помешало соединиться по NTCP2 ?
zlatinb
поишчу из логов...
orignal
получается примерно так что i2pd как то не так шлет по SSU
orignal
потому и происходят проблемы
zlatinb
попробуем с ssu=false ?
orignal
нет
orignal
не надо
orignal
надо понять почему
zlatinb
с начале небило loglevel=debug я с вебморду поменял
zlatinb
могу рестартировать с loglevel=debug
orignal
да вот надо
orignal
и проверять на длине 1
orignal
чтобы было более понятно
zlatinb
ок
orignal
там 8 секунд expiration
zlatinb
ок, все и2пд сейчас с loglevel=debug, ждем пока жава tunnel test fail
orignal
ждем
zlatinb
не надо било ждат долго :(
zlatinb
GW KN9o ElG:me.1444461171-->y5hS EC:1444461171 # ето жава 1 хоп ОБ
orignal
ну и что просиходит с ним?
zlatinb
опять SSU: message expired но ето жава->и2пд так что нормально
orignal
так а почему? 8 секунд недостаточно?
zlatinb
могу вьйключить SSU в жаве?
orignal
вопрос не в этом
orignal
а где оно ходило 8 секунд
orignal
попробуй да чисто на NTCP2
zlatinb
секундочку, телефон
orignal
да не торопись
zlatinb
вьйключил ССУ в жаве и сейчас она не строит вообще клиент тунели, только транзитние
zlatinb
но сейчас есть ошибки в и2пд лога:
zlatinb
16:57:34@686/ESC[1;34mdebugESC[0m - I2NP: Handling message with type 11
zlatinb
16:57:34@542/ESC[1;33mwarnESC[0m - Garlic: Flags/static section AEAD verification failed
zlatinb
16:57:34@542/ESC[1;31merrorESC[0m - Garlic: Can't handle ECIES-X25519-AEAD-Ratchet message
orignal
вот это интересно
orignal
какой это тоннель?
orignal
i2pd это OBEP или IBGW?
zlatinb
не могу сказать, только нашел нечайно в логах и2пд
zlatinb
одного из и2пд рутеров
orignal
так а почему не стоит тоннели,
R4SAS
acetone: > В поле "From URL" можно вставить magnet-ссылку (которую в I2P иногда называют maggot), либо...
orignal
насчет этого сообщения посмотю
R4SAS
acetone: magnet != maggot
orignal
это интересный вопрос
orignal
maggot это какая то хрень в роберте
R4SAS
в снарке тоже есть
acetone
R4SAS: спасибо за замечание, поправлю
zlatinb
ну что делаем сейчас?
orignal
zlatinb выясняем почему тоннели не стоятся чисто по nTCP2
orignal
это важный вопрос
orignal
я правильно понимаю что сейчас мы имеем что тоннели через SSU строятся
orignal
и тесты даже ходят но не всегда потому что бывает expired
zlatinb
так кажется да
orignal
получается что это проблема чисто SSU
orignal
что возможно
orignal
осталось понять почему не работает с NTCP2
zlatinb
могу сделать только VTBM в жаве, смисл есть?
orignal
не вижу
R4SAS
acetone: чего касается maggot
R4SAS
начало с maggot://
acetone
R4SAS: спасибо
acetone
я подправил статейку
R4SAS
далее нет ?xt=urn:btih:
R4SAS
магниты выглядят так: magnet:?xt=urn:btih:HASH
R4SAS
магготы: maggot://HASH
R4SAS
и у maggot есть после хеша еще какая та строка, не знаю чего это
R4SAS
т.е. полностью это выглядит так: maggot://BTHASH:SOMEHASH
R4SAS
оба хеша при чем длинной 40 символов
acetone
R4SAS: о, весьма информативно
R4SAS
orignal: че там
orignal
где?
R4SAS
ну то что написал что чет видишь
orignal
не понял
orignal
я вижу что это message expired постоянно лезет
R4SAS
<+orignal> I see a lot
orignal
надо разбираться чем я и занят
R4SAS
понял
orignal
ну да
orignal
SSU: message expired
orignal
вот этим весь лог забит
R4SAS
boost::container::flat_map<uint32_t, uint64_t> m_ReceivedMessages; // msgID -> timestamp in seconds
R4SAS
изменяли insert на emplace
R4SAS
m_ReceivedMessages.emplace (msgID, m_LastMessageReceivedTime);
R4SAS
смотрю чего делалось с сентября месяца
orignal
я не думаю что это нечто новое
orignal
просто никто раньше не смотрел
R4SAS
мне кажется это у них
R4SAS
у нас эти места не трогались давно
orignal
так найдем с какого пира хрень
orignal
делов то
R4SAS
7 лет назад
orignal
и тогда "весна покажет кто где срал" ))
R4SAS
тоже 6 лет назад
orignal
ты лучше посмотреть кто в SSUData.cpp добавил эту проверку
R4SAS
gh сломалсо
R4SAS
)))
R4SAS
псих добавлял
R4SAS
а не
R4SAS
это изменял
R4SAS
значит ты
orignal
просто это явно не мой код
orignal
ну ладно
orignal
не фурычит
R4SAS
git diff 9611f80a3935836866790594c658d39116674dae..9611f80a3935836866790594c658d39116674dae~
R4SAS
вроде так
R4SAS
а не, это другой коммит
R4SAS
точнее он, на наоборот
R4SAS
git diff 9611f80a3935836866790594c658d39116674dae^..9611f80a3935836866790594c658d39116674dae
R4SAS
commit 9611f80a3935836866790594c658d39116674dae
R4SAS
Author: orignal <i2porignal@yandex.ru>
R4SAS
Date: Mon Jan 18 21:13:43 2016 -0500
R4SAS
check I2NP messages fro expiration
orignal
понял ))
orignal
очень давно
R4SAS
поэтому это у них хрень
orignal
ну так надо установить
orignal
где то через час займусь
R4SAS
так смотри, раз в N туннелей, не постоянно
R4SAS
переполнение возможно, но маловероятно
orignal
так я просто запишу откуда прилетело
orignal
короче я вижу как с i2pd так и с джавы
orignal
DMul и DnYx это джава
orignal
а A~7X это i2pd
orignal
пардон 287T
orignal
A~7T тоже джава
orignal
PM5C тоже джава
orignal
сдается мне что это из-а пула пакетов
R4SAS
только почему так внезапно, и не сразу после релиза
orignal
может и сразу
orignal
просто никого не парило
orignal
оно же только с SSU вылазит и не всегда
R4SAS
размеры не верные?
R4SAS
потом скажи чего попробовать откатить, попробуем на нескольких нодах
orignal
нет там вообще в заголовке мусор
orignal
и тип сообщения 108
zlatinb
double free or corruption (fasttop) # один из пиров в тестнете сдох
orignal
R4SAS таки да это пул похоже
orignal
я счас выделяю память напрямую ошибок нет
fj
zlatinb: смертию божию помре
R4SAS
orignal: ну...
R4SAS
значит не так пишется в него?
orignal
ну дальше надо смотреть че
orignal
почему так
orignal
где что засирается
R4SAS
может ли быть что пишем за пределы?
R4SAS
в соседнюю ячейку пула
orignal
нет
orignal
похоже что консткуртор не вызывается
orignal
короче разберусь
orignal
вот оно
orignal
вот это и порождает проблему
R4SAS
хм
orignal
если вернуть назад проблема исчезает
zlatinb
ну попробую
R4SAS
я не понимаю чего тут не верно записывается
orignal
я закоммичу
R4SAS
короткое сообщение?
orignal
я пока тоже
R4SAS
в чем разница между ними?
R4SAS
NewI2NPTunnelMessage (true) : NewI2NPShortMessage
orignal
первое из пула берется
orignal
внутри тоннелей
orignal
в чем проблема я не знаю
R4SAS
дампнуть полностью все параметры
orignal
в смысле?
zlatinb
*** запускает жава с ССУ ***
R4SAS
в прямом
R4SAS
посмотреть что записывается в msg
R4SAS
я понимаю что это не реально, ибо сообщений слишком много будет
orignal
я разберусь
zlatinb
и жава шчастливая
zlatinb
из 30 тестов все успешние
orignal
после этого измнения?
zlatinb
да
orignal
тогда все
orignal
заливаю
orignal
счас еще проверю
zlatinb
60 тестов, все успешние
orignal
счас закоммичу потом буду разбираться
zlatinb
а в и2пд 93% tunnel success rate
orignal
бля ))
orignal
счас проверим
zlatinb
повишилось, сейчас 95%
zlatinb
из 270 тестов в жаве 1 не успешной
R4SAS
I2NP_TUNNEL_MESSAGE_SIZE = 1028 + 16 + 34
R4SAS
I2NP_TUNNEL_ENPOINT_MESSAGE_SIZE = 2*1028 + 16 + 6 + 28
R4SAS
I2NP_MAX_SHORT_MESSAGE_SIZE = 4096
orignal
закоммитил
R4SAS
все же мне кажется где то в размерах дело...
orignal
я не думаю что ело в длине
orignal
но посмотрим
orignal
счас у себя на впс обновлю
R4SAS
я тогда тоже у себа пересоберу большие ноды
R4SAS
себя*
R4SAS
s2#1
R4SAS
Uptime: 42 days, 2 hours, 9 minutes, 24 seconds
R4SAS
Network status: OK
R4SAS
Network status v6: OK
R4SAS
Tunnel creation success rate: 68%
R4SAS
Received: 4277.39 GiB (1981.56 KiB/s)
R4SAS
Sent: 4264.48 GiB (2020.67 KiB/s)
R4SAS
Transit: 3901.21 GiB (1907.94 KiB/s)
R4SAS
Routers: 5382 Floodfills: 1851 LeaseSets: 0
R4SAS
Client Tunnels: 219 Transit Tunnels: 2179
R4SAS
s2#2
R4SAS
Uptime: 57 days, 28 minutes, 6 seconds
R4SAS
Network status: OK
R4SAS
Network status v6: OK
R4SAS
Tunnel creation success rate: 83%
R4SAS
Received: 1839.15 GiB (289.63 KiB/s)
R4SAS
Sent: 1821.24 GiB (237.84 KiB/s)
R4SAS
Transit: 1543.11 GiB (212.53 KiB/s)
R4SAS
Routers: 5908 Floodfills: 1756 LeaseSets: 99
R4SAS
Client Tunnels: 276 Transit Tunnels: 1267
R4SAS
s2#3
R4SAS
Uptime: 58 days, 23 hours, 6 minutes, 44 seconds
R4SAS
Network status: OK
R4SAS
Tunnel creation success rate: 47%
R4SAS
Received: 6945.10 GiB (1708.98 KiB/s)
R4SAS
Sent: 6624.35 GiB (1656.94 KiB/s)
R4SAS
Transit: 6595.37 GiB (1644.18 KiB/s)
R4SAS
Routers: 5086 Floodfills: 1848 LeaseSets: 0
R4SAS
Client Tunnels: 39 Transit Tunnels: 2024
orignal
лол
R4SAS
s2#1: 2341124 177508 5468 S 62.1 2.2 29288:22 `- /usr/sbin/i2pd
R4SAS
s2#2: 2866780 250932 7124 S 19.4 3.1 29634:28 `- ./i2pd
R4SAS
s2#3: 1083676 57432 6492 S 54.4 0.7 36669:06 `- ./i2pd
R4SAS
лизсеты отожрали 250 мб
orignal
не флудфил это не только лизсеты знаешь ли ))
R4SAS
да понятное дело
zlatinb
уже 600 тестов, только 1 неуспех, не буду искать ))
orignal
осталось разобраться почему оно порождает проблему