IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2022/12/03
~AreEnn
~R4SAS
~acetone
~orignal
~villain
&N00B
+relaybot
Most2
Nausicaa
Vort
Xeha
anon2
b3t4f4c3
karamba_i2p
nemiga
not_bob_afk
poriori_
profetikla
soos
un
weko
whothefuckami_
НАТАШКА
weko orignal: а их и так мало, ликнов по ygg
weko Меньше в 100 раз
Vort weko: у меня было около 10. теперь 1. но что примечательно, из-за бага #1793 реальных коннектов аж 35 штук
weko Меньше в 100 раз, чем обычных
weko Я имел ввиду
weko Но 35 то всё равно мало
R4SAS orignal: проверь потом github.com/PurpleI2P/i2pd/issues/1810
R4SAS по логике zlib 0 отдается когда Z_OK
R4SAS я думаю оно перадается в Deflate который работает с вектором
R4SAS передается
R4SAS а точнее печатается
R4SAS в таком случае есть вероятность что flush = false
R4SAS так что предлагаю туда добавить проверку err, сделав
R4SAS if (err < 0) // only negative values are errors
R4SAS чтобы нуль не печатать
R4SAS в двух местах - #131, #161
orignal да нет же
orignal это не ошибка на самом деле
orignal суть в том что мы пытемся запихнуть в буфер в который не лезет
orignal weko не о том речь
orignal не о твоих линках а о тоннелях которые могут идти дальше по ygg
weko Я про то, что если у меня их мало, наверное их у всех мало
orignal это то понятно
orignal но если на него попадет конкретно твой тоннель что хорошего
orignal R4SAS а еще распаковываие полученного это Inflate
Vort интересно, что в RFC такого слова нет
Vort небось, уже юзеры додумали
orignal какого словаа?
Vort inflate
orignal почему нет?
Vort или есть ещё какой-то стандарт?
Vort почитал историю. deflate создан в 93м году, zlib в 95м
Vort тогда ещё RFC 1951 не существовало, если я правильно понимаю (его в 96м сделали)
R4SAS orignal: тогда почему 0,
orignal что почему 0?
orignal ну код ошибки
weko orignal: есть какие то идеи насчёт стабильности? Ну, я про пускание трафика по нескольким туннелям. Готов кто то этим заниматься? Можно, конечно, сделать это на прикладном уровне, но было бы хорошо, чтобы из коробки работало без разрывов
Vort я думал, для этого по 5 штук их и создаётся...
weko Трафик идёт по одному...
weko 5 чтобы выбрать лучший и оперативно заменять
Vort так откуда тогда разрывы? недостаточно оперативности?
weko Отчасти
weko Ещё туннель может быть некачественным
weko Тоесть может быть высокий процент потери пакетов
Vort тогда это вопрос к выбору лучшего
weko Проблема в том, что неизвестно, когда туннель начнёт халтурить
weko Может сейчас, может через 5 минут
Vort так когда начинает, стоит прыгать. ну мне так кажется
weko Когда начнёт, будет поздно. Разрыв уже случился
weko Точнее когда поймём
Vort а какой там таймаут?
weko Откуда я знаю
Vort просто разрыв за 100мс и за 5000мс - разные вещи
Vort за 5 сек можно много чего успеть сделать
Vort можно, к примеру, следить за пингами. резко прыгнул пинг - надо менять туннель
Vort (просто идея)
weko Для голосового чата и игр разрыв и 500мс - много
weko Я не знаю точно, как сейчас смена работает
Vort ну я вот тестирую майнкрафт сервер и тут бывают пинги по 15 секунд ) но обычно около 500-1000мс
weko Вот 15 - это разрывы скорее всего
Vort или много данных грузится, а у узла лимит маленький стоит
Vort короч, я не знаю точно, как это решается. что пришло в голову - сказал. может это и нереально всё
Vort кстати, интересная хрень. админу сервера говорил, но он мало что может сделать
Vort на странице I2P tunnels Client Tunnels я вижу пинги где-то по 50-100мс, а сам майнкрафт выдаёт 500мс
Vort слишком большое расхождение что-то
weko Значит у него видимо 3 хопа
Vort может быть. хотя вряд ли
Vort у него java i2p
Vort может в этом дело
weko Значит проблема у него где то. У него сервер на RPi
weko RPI*
weko А может ещё и старая версия
Vort в общем, это неплохой тест если кто-то захочет повылавливать баги в i2p(d)
Vort свой серв сделать и на нём тестить
Vort для контролируемости условий
weko Сервер чего?
Vort майнкрафта
weko А что из этого поймёшь?
Vort получится лидостичь 200мс допустим или нет
weko Ну могу поднять
weko Точнее включить просто , туннель уже есть
Vort а версия какая?
weko 1.19.2
Vort хорошо, постараюсь потестировать
Vort надеюсь, майн не против будет на другом порту посидеть )
Vort или можно на 127.0.0.2 повесить?
Vort и нужен плаигин сервера чтобы пинг выдавал числом. тут я не знаю, какой нужен
weko Vort: можно и то и то
Vort окей
weko порт можно через : указать
weko Vort: щас плагин посмотрю
Vort и адрес дай
weko секунду
Vort destination =
weko нужно будет рестартнуть, я всё таки закоментил туннель. секунду
Vort ок
weko heontvjdcmuyvbd2adq6hlbofkfz5252ljscapdexleem4vszrdq.b32.i2p
Vort похоже, что и мне рестарт надо
Vort тунели посоздавались, порт открыт, но коннект не идёт
weko я ещё не запустил
Vort а. тогда жду
weko запустил. там карта создастся
weko там была карта в итоге
weko но не суть
Vort сейчас на 1 хопе настроено?
Vort у меня - да
weko да
Vort тупило. но нужны числа, конечно
weko опять не заработало
weko щас
Vort ок
weko а, зависимость у плагина
weko круто, щас
Vort плагин TabTPS ?
weko TabListPing
Vort другой, но, надеюсь, что пинги будут показывать правильно
Vort хотя не знаю, насколько тот правильный )
weko Vort: пробуй
weko а нет
weko ммм
Vort кидануло
weko вот об этих разрывах я и говорил
Vort вообще-то я сейчас увидел у туннелей 150 и 150, а в игре 300
Vort но потом в игре на 800 прыгнуло )
Vort это просто стоя на месте, без загрузок чанков
Vort за зайцами проще с лагами охотиться хехе. вот прыгнул пинг до 6 секунд = хана зайцу. майнкрафт слишком доверчивый )
Vort вот эти прыжки вполне могут быть прогрузкой чанков. надо следить
Vort чистый пинг если измерять, то стоя на месте
R4SAS разогналось
R4SAS s2#1
R4SAS Uptime: 19 hours, 22 minutes, 9 seconds
R4SAS Network status: OK
R4SAS Network status v6: OK
R4SAS Tunnel creation success rate: 71%
R4SAS Received: 50.82 GiB (1248.38 KiB/s)
R4SAS Sent: 53.16 GiB (1303.19 KiB/s)
R4SAS Transit: 49.29 GiB (1208.68 KiB/s)
R4SAS Routers: 6145 Floodfills: 1576 LeaseSets: 0
R4SAS Client Tunnels: 223 Transit Tunnels: 3247
R4SAS s2#2
R4SAS Uptime: 22 hours, 30 minutes, 59 seconds
R4SAS Network status: OK
R4SAS Network status v6: OK
R4SAS Tunnel creation success rate: 84%
R4SAS Received: 24.15 GiB (872.44 KiB/s)
R4SAS Sent: 27.75 GiB (1198.08 KiB/s)
R4SAS Transit: 21.68 GiB (802.46 KiB/s)
R4SAS Routers: 7248 Floodfills: 1579 LeaseSets: 141
R4SAS Client Tunnels: 308 Transit Tunnels: 2741
R4SAS s2#3
R4SAS Uptime: 22 hours, 30 minutes, 37 seconds
R4SAS Network status: OK
R4SAS Tunnel creation success rate: 16%
weko 84%? норм так!
R4SAS Received: 150.26 GiB (4346.21 KiB/s)
R4SAS Sent: 153.96 GiB (4463.17 KiB/s)
R4SAS Transit: 145.41 GiB (4116.93 KiB/s)
R4SAS Routers: 6440 Floodfills: 1703 LeaseSets: 0
R4SAS Client Tunnels: 39 Transit Tunnels: 3090
R4SAS а тут всё те же 16%
R4SAS s2#4
R4SAS Uptime: 22 hours, 30 minutes, 38 seconds
R4SAS Network status: OK
R4SAS Tunnel creation success rate: 54%
R4SAS Received: 135.79 GiB (2885.64 KiB/s)
R4SAS Sent: 140.09 GiB (2896.24 KiB/s)
R4SAS Transit: 133.50 GiB (2795.29 KiB/s)
R4SAS Routers: 6541 Floodfills: 1663 LeaseSets: 0
R4SAS Client Tunnels: 39 Transit Tunnels: 3193
R4SAS и хоть там и 16% всего, но трафика на 35 Мбит
weko прикольно, а как у тебя по сколько тразитной скорости набирается? у меня 500 обычно, иногда до 1000 скачет
weko аптайм 6 дней уже
R4SAS эти узлы работают годами
R4SAS первые два - уже 3 года как минимум
R4SAS 3 и 4 - где то год
R4SAS запустил когда начали SSU2 тестить
weko а как это влияет?
weko типо 3 года или месяц
R4SAS ну... сеть знает длительное время, профилировщики уже отметили как постоянно доступный пир и тд
weko ну у меня тоже много транзита есть +-
weko просто его меньше
weko но раза в 2-3
R4SAS общая утилизация сети сейчас в районе 100 мбит/с
weko а что это?
R4SAS даже чутка больше
R4SAS утилизация = потребление
weko не оченб понял
weko как это считается
R4SAS ну, трафик на интерфейсе смотрящем в интернет примерно равен 100 мбит/с
R4SAS т.е. активный трафик
weko а, это у тебя?
R4SAS да
weko я не то поудмал
weko разве минимум 6 дней профилировщикам мало?
weko хотя на это же ещё количество транзита влияе, как я понял. попробую повысить
R4SAS не знаю точно
R4SAS никому не известно
R4SAS тут еще от сети зависит
R4SAS не только онлайна
weko кстати отношение ssu2 к ntcp2 (количесто) уже 60%
weko ну у меня так
R4SAS zzz: look at stats below ;)))
R4SAS ** above
zzz I'm working on token problems
zzz what's the max number of SSU2 tokens you save?
R4SAS i didn't see any limit that by time
R4SAS than
R4SAS orignal: ?
zzz we have a max of 512 and an expiration of one hour, but the oldest one is getting pushed out after a few minutes
zzz more info in #ls2
R4SAS I see only this: SSU2_NEXT_TOKEN_EXPIRATION_TIMEOUT = 52*60; // for next token block, in seconds
zzz ok. if you don't have a size limit, you don't have my problem, but you may have a memory problem :)
R4SAS I've seen only 130 MB RAM in peak
R4SAS currenly all four nodes have 65~75 MB memory usage
R4SAS and only one with 121 MB
weko my node - 100 MB
R4SAS (which is very loaded with bunch of tunnels with services)
weko так и должно быть, что перезагрузка туннелей сбрасывает все стримы прокси?
R4SAS и да, и нет
weko всмысле это известный баг?
R4SAS да
R4SAS без сброса стримов нельзя перезапустить туннель
R4SAS это одно
weko но не прокси не сбрасываются
weko тоесть у меня нет изменений кофига прокси, но они всё равно сбрасывают стримы
R4SAS второе - не доделано так, чтобы не сбрасывало
weko понял
R4SAS а у тебя на этом туннеле как прописан ключ?
R4SAS transient?
weko ааа
weko понял
weko спасибо
R4SAS угу, поймали за яйца
weko а то я гадаю, чего это один прокси сбрасыватсся, а другой нет
weko ну про udp вы вроде и так знаете
R4SAS знаем
R4SAS там тоже непойми как сделано
R4SAS я не смог сделать нормальную остановку туннеля чтобы перезагружать его
R4SAS а у лося времени не хватает
Vort orignal: вот теперь и меня на ровном месте крешнуло
Vort хорошо, что бинарник собирал я, смог по дизассемблерному листингу погадать, где оно вылетело
Vort сразу скажу - результат мне не понравился. похоже на повреждение памяти
Vort скорее всего, вылетело вот с этой строчки:
Vort точнее, с FindPendingOutgoingSession
Vort было разыменование какого-то огромного указателя. видимо, мусора
Vort сейчас скажу точнее, как функции назывались. если IRC позволит. сам креш возник вот тут:
Vort boost::asio::ip::detail::operator<(boost::asio::ip::detail::endpoint const&, boost::asio::ip::detail::endpoint const&)
Vort вызов был сделан отсюда:
Vort std::__1::__tree<std::__1::__value_type<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>,std::__1::shared_ptr<i2p::transport::SSU2Session>>,std::__1::__map_value_compare<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>,std::__1::__value_type<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>,std::__1::shared_ptr<i2p::transport::SSU2Session>>,std::__1::less<boost::asio::ip::basic_endpo
Vort и вот эта длинная хрень вот отсюда:
Vort i2p::transport::SSU2Server::CreateSession(std::__1::shared_ptr<i2p::data::RouterInfo const>, std::__1::shared_ptr<i2p::data::RouterInfo::Address const>, bool)
orignal отлично
orignal счас разберемся
Vort сборка у меня с коммита 949c38f5
orignal что вызывыает CreateSession лучше скажи
orignal если есть
orignal есть ощущение что из другого терда
Vort ну я уже перезапустил i2pd, но сохранил дамп. попробую его грузануть
orignal в любом случае погляжу
orignal zzz thanks will check about number of tokens
orignal but 512 is definitly too small
orignal I would set it at least 10K
Vort orignal: i2p::transport::Transports::ConnectToPeer(i2p::data::Tag<32ull> const&, i2p::transport::Peer &)
orignal спс
orignal этого достаточно
zzz can't go that high, a java map is about 150 bytes of overhead per entry :(
orignal usually there are few thousnads session on each router
orignal Vort короче race condition
orignal спасибо за находку
orignal поставлю там мьютекс
zzz orignal, I think I need to change and not send a token in the handshake... only with the destroy block
zzz but I need to handle the destroy ack first...
orignal up to you
zzz you will handle a token block in the same packet as a destroy block, right? I do that now...
orignal I just handle a block regrdless how it comes
zzz super
orignal Vort все я закоммтитил фикс
weko у меня тут чего то i2pd шалить начал, резкие скачки с 50% до 200% (это на ядро)
weko обычно где то 30-40
orignal а сколько транзита?
weko 2700
orignal может реальная нагрузка
weko скорость то всего 500...
orignal нет не число а трафик
orignal еще проверь ulimit -n
weko понят
weko понял
orignal если 1024 у тебя нехватка дескрипторов
orignal ставь или 4095 или 8192
weko да, раньше ставил, но на постоянку не поставилось
weko после ребута слетело
orignal так в /etc/seurity/limits.conf
orignal ставь там
weko всё равно скачки в 250. или нужнен рестарт роутера?
orignal остави и заново
orignal он стартовал с 1024
weko понял
orignal по мере роста SSU2 вылазят новые проблемы из-за большого числа сессиий
tst orignal: предлагаю идею к реализации: сделать в ш2з нечто вроде bgp маршрутизации. это добавило бы скорости кмк и сделало бы менее эффективной атаку с вычислением пользователя/ресурса через замедление
tst ш2з трафика