~AreEnn
~R4SAS
~orignal
~villain
&N00B
+Xeha
+relaybot
DUHOVKIN
Guest18377
HackerMan
KabaOS
Most2
Nausicaa
Ruskoye_911
Trusishka
Vort
`
acetone_
anon3
b3t4f4c3
mittwerk
nemiga
not_bob_afk
plap
poriori_
profetikla
segfault
soos
teeth
tensor
un
weko_
whothefuckami
orignal
что то значит с пулом
Vort
вот скрин дизасма paste.i2pd.xyz/?f660cb743be9b61a#7J41hM5MyWUq8DS3rDSXWFkcX16Lvnnra8bVAyPEJ54g
orignal
например какой то элемент вставился туда дважды
Vort
вопрос в том, почему это раньше не лезло
orignal
да нет причина то понятна
orignal
это считай как двойное удаление где то было
orignal
вот почему не вылазило это другой вопрос
orignal
видимо не попадали на это
orignal
опрделенно проблема с пулом буферов чем и займемся
orignal
мне думается что проблема вот здесь
orignal
void DeleteBuffer () { m_Buffer = nullptr; };
orignal
зануляем буфер он возвращается в буффер
orignal
а где то в другом треде он переписывается
orignal
по стаому указателю
orignal
таки нашел
orignal
std::unique_lock<std::mutex> l(m_RouterInfosMutex);
orignal
if (!r->Update (buf, len))
orignal
Update внутри перезаписывает буфер
orignal
а теперь в SaveUpdated
orignal
it.second->SetUnreachable (false);
orignal
it.second->DeleteBuffer ();
orignal
а мьютекса там нету
orignal
починил
weko
[19:25:51] <9d54b3orignal> и все сразу вылазят под нагрузкой
weko
Сейчас сяду дальше делать тулзы чтобы было проще нагрузку тестировать
mauzer
ок
weko
orignal: так надо делать что-то со стримами
weko
Она по ssu2 работают херово
weko
Они
orignal
ну так а почему?
weko
И виноват не сам ssu2, хотя там вероятно есть ещё проблемы
orignal
из-за чего возникает хреновость?
orignal
надо ж понять механизм
weko
orignal: из-за того что порядок нарушается
weko
Каждое нарушение порядке считается missing packet
weko
Шлётся nack
weko
Отправляющая сторона режет окно в 2 раза каждый такое раз
weko
Такой
weko
Я сейчас напишу что надо починить
weko
Чтобы нормально можно было алгоритм сделать
weko
Хотя тут не уверен, что тут это нужно
weko
Но надо исправить всё равно
weko
Когда один пакет пропадает, ветка обработки срабатывает каждый новый пришедший пакет, пока не придёт пропавший
orignal
так порядок и в тоннелях бывает нарушаетсчя
weko
Ну если чисто ntcp2 то не нарушается
weko
В i2pd уж точно
weko
Я не заметил такого по крайней мере
weko
А udp по своей природе такое допускает и такое довольно часто случается
weko
Даже на локалхосте
weko
Особенно если через tc пинг задать. В общем то именно тогда и появляется
orignal
джависты часто в тоннелях меняют порядок
weko
orignal: ну вот тогда ясно откуда проблемы идут
weko
У них же тоже режется в 2 раза от любой "потери"
weko
Хотя это может просто поменялись местами пакеты
orignal
я не понимаю ну прищел nack но ведь дыра тоже закрылась
weko
orignal: да, но отправляющая сторона порезала окно в 2 раза
orignal
а вот это неправильно
orignal
надо резать не тогда когда nack пришел
weko
А точно не помню. Но окно режется только в одном месте
weko
И оно режется
orignal
и именно это надо переделать
weko
Сел за комп посмотреть
weko
orignal: тут надо переделывать
orignal
конечно
weko
когда nack мы просто оставляем пакет в окне
weko
как я понимаю
orignal
но логика да понятна
orignal
вопрос такой зачем мы вообще nack посылаем
weko
это верно, но мы тогда не должны его в HandleResendTimer обрабатывать
weko
orignal: потому что пакет пропущен реально
orignal
он не пропущен он же тут же приходит
weko
но когда мы отпарвляем мы не знаем этого
weko
/ send NACKs for missing messages ASAP
weko
if (m_IsAckSendScheduled)
weko
{
weko
m_IsAckSendScheduled = false;
weko
m_AckSendTimer.cancel ();
weko
}
weko
SendQuickAck ();
weko
as soon as possible
weko
что из этого надо поменять я уж не знаю
orignal
не надо SendQuickAck слать
orignal
я подумаю
weko
ну я могу проверить что если убрать то поможет или нет
orignal
не поможет
orignal
там надо переделыватб
weko
учитывая что перестановки довольно часто происходят, то не удивительно что скорость всирается
orignal
это хорошая находка
flumental
i2pd.website упал или это у меня проблемы с коннектом?
flumental
все ок, с прокси открылся
flumental
а можно с помощью makefile собрать только статическую либу i2pd?
weko
flumental: всё можно
weko
не ебись, cmake используй
flumental
да я тут опакечиваю в xmake это дело чтобы в андроид-приложение встраивать
flumental
попробую cmake
weko
в доке же написано cmake опции
weko
там есть сборка либы
onon
Оно опять крашнулось, когда обновление будет? Или какую версию собирать, что б не крашилось?
orignal
так давай стек
orignal
откуда мы занем почему
orignal
может у тебя просто дескриптоов не хватает например
Vort
у меня пока что 2.50.2-29-g75c2cb75 не крешится
orignal
с последним коммитом?
orignal
кстати тот проект с MFC открылся в VS2022 даже скопилирровался и запустился
orignal
и это еще даже VS6 был
Vort
75c2cb7 - это и есть хеш последнего коммита
orignal
уже лучше
orignal
я еще его под нагрузкой не проверял
relaybot
13mauzer: Network status: OK
relaybot
13mauzer: Network status v6: OK
relaybot
13mauzer: Tunnel creation success rate: 16%
orignal
это нынче новая нормальность
relaybot
13mauzer: раньше ныли мол а чо у меня только 48%
relaybot
13mauzer: были времена..
Vort
а перегруз по трафику у кого-то виден?
Vort
у меня 0.5-2 мегабайта/сек примерно нагрузка. при атаке было 3-6 мегабайта/сек
Vort
рейт в жопе хоть и трафика не так много: Tunnel creation success rate: 13%
Vort
теперь и я вижу повышенное значение LeaseSets: 313
Vort
хотя хз значит ли это что или просто рандом
orignal
счас гляну
orignal
у меня примерно половина того что было во время атаки
orignal
рейт 22%
orignal
во время атаки был 16-17
Vort
интересно. значит, примерно так же, как и у меня
Vort
это я про трафик "примерно так же"
orignal
LeaseSets: 338
Vort
а вот рейт у меня самый плохой сейчас. ну не самый-самый, но около того
orignal
почему и как банят запросы джавовские узлы я не знаю
Vort
так причину пониженного рейта так и не выяснили. хз в чём тут дело
Vort
очень похоже на перегрузку где-то. но где и чего - загадка
orignal
я думаю он возникает при перестроеннии существующих тоннелей
orignal
когда тоннель строится заново то выбираеются случайные роутеры
orignal
между ними всеми возниакают линки
orignal
а к моменту перестроения все эти линки уже так засираются что джависты банят
Vort
похоже, проверить можно только добавив тестовый фильтр к выбору узлов
Vort
выбрать только i2pd узлы и посмотреть на рейт
Vort
тестовый - то есть не для коммита, а для исследования проблемы
orignal
ну weko же запускал тестовую сеть и получал 100%
Vort
так может и java тестовая сеть даст 100% ?
orignal
разумеется
orignal
потому что они не создают такую нагрузку в принципе ))
Vort
ну тогда смешанную тестовую сеть ещё надо сделать
orignal
нуу это уже черезчур ))
Vort
хоть каким-то методом, но доказательства гипотез получать надо
Vort
иначе можно долго гадать
weko
<Vort> ну тогда смешанную тестовую сеть ещё надо сделать
weko
жабароутеров много не запустишь
Vort
ну штук 50 запустить можно?
Vort
да и меньше тоже может быть полезно
Vort
подмешивать их понемногу и смотреть, будет ли ползти рейт вниз
Vort
даже 10% java 90% i2pd может дать ценную информацию
weko
ну это можно
weko
код тулзов открыт
weko
ну там ещё не готово v2
weko
может я и потом добавлю, но я не знаю какие там параметры
weko
вомзожно ли вообще
Vort
типа может java не совместима с тестовыми сетями? в таком случае надо дорабатывать
Vort
уж это то должно быть несложно
un
2/
orignal
болгарин как то запускал в тестовой сети
weko
Vort: я просто хз
weko
сразу так и сказал
R4SAS
посмотрел на логи reg
R4SAS
там просто баг словил)
orignal
че за баг?
R4SAS
почему то IDN не правильно получил я и при сохранении результата пустота оказалась
R4SAS
сейчас гляну, вероятно я чего то не то сохранить пытаюсь
R4SAS
да, словил false на idn_to_utf8
R4SAS
добавлю проверку
orignal
заодно пересобери если где падало
orignal
еще одну проблему починили
R4SAS
обновил hosts листы
R4SAS
сейчас проверю чего где
R4SAS
вроде как ни где не упало
R4SAS
обновил основные машины
orignal
оилично
orignal
посмотрим
orignal
а че кстати VS билд все время фейлтся?