IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2024/10/15
~acetone
Most2
Nikat
Spirit90
segfault
un
weko_
onon Нужно в Streaming.cpp строка 1228 добавить ещё одну проверку:
onon if (m_WindowIncCounter && m_WindowSize < MAX_WINDOW_SIZE && !m_SendBuffer.IsEmpty () && m_PacingTime > m_MinPacingTime)
onon Чтобы не увеличива��ь размер окна, в случае если исходящая скорость ограничивается.
onon А то сейчас дроп окна некорректно отрабатывает в таком случае.
orignal счас сделаю
orignal как назвать коммит?
onon "не увеличивать размер окна, в случае если исходящая скорость ограничивается" как-то так наверное
orignal по английски скажи ))
orignal а то я малость буххой
onon Do not increase the window size if the speed limit is reached when it is limited
orignal счас
orignal сделал
onon угу
orignal сделал очередь для SSU2 поглядим
Vort хм. рискованно как-то выглядит метод с bool empty
Vort ну или я не понимаю, как это работает
Vort плюс непонятно, а будет ли вообще очередь расти? или по одному пакетику туда-сюда кидаться будет?
orignal когда тред который забирает будет занят тогда и будет расти
orignal а что непонятного с empty?
Vort если мимо функции будет добавление, то вся эта конструкция сломается нафиг? так как не будет ни empty, ни его разгрузки
Vort "<~orignal> когда тред который забирает будет занят тогда и будет расти" значит, таки дергатня будет при слабой нагрузке. ладно. может, и не страшно
orignal согласен
orignal нет не будет
orignal сммотри дергание это ведь когда мьютекс реально блокируется
orignal ну а если как ты говоришь слабая нагрузка и обрабатывается сразу при добавлении не поз ли?
orignal но на самом деле так вряд ли будет потому что расшифровка сообщения занимает существеенно дольше чем выборка из сокета
Vort то есть, после того как первый пакет "проглотится", тред уйдёт в размышления и за это время можно будет в очередь поднавалить?
Vort хотя я плохо понимаю, как работает post
Vort не просто ли это добавление в очередь, только другую?
orignal та очередь сильно медленная
Vort допустим, такой сценарий: пришло 10 пакетов. предполагаем, что единовременно
Vort что помешает им превратиться в 10 post`ов?
orignal очередь была пустая в этот момент
orignal 10 пакетов разумеется подряд
orignal первый вставился сделал post на тред который обрабатывает
orignal если он занят в этот момент то остальные вставятся в нее пока post этот обработается
Vort а, всё, дошло
Vort 10 post`ов не будет просто из-за этой хитрой системы с bool empty
orignal непорядок тут в другом ты прав
orignal что если тот тред не занят то они все по одному будут обрабатываться
Vort lock_guard 10 раз дёрнется разве что
orignal я это епеределаю чтобы встяляли пачками
orignal проблема не в то сколько он дернется
orignal а сколько раз вызовестя flush
Vort я о переключении контекста изначально думал, да
Vort но вообще надо бы размер очереди как-то хитро пологировать
Vort тогда станет понятно, надо ли что-то менять
orignal я печатал
orignal бывало что под нагрузкой несколько десятков пакетов накапливалось
Vort а бывало ли что из сокета вытащили пачку, а через очередь по одной штуке протаскивалось?
Vort меня именно этот сценарий беспокоит
Vort если пришёл среднего размера кусок, то средним же размером его бы и переложить
orignal да запросто если ты вызываешь post а он отрабатывается многвенно
Vort если приходит мелочь, то пусть мелочью и перекладывается
Vort большой кусок стоит разбить
Vort а средний если и разбивать, то лишь чуть-чуть
Vort но вообще, по-хорошему, такие экспермиенты надо под контролем профилирования делать
Vort так как ситуация неочевидная и можно наоптимизировать херню
Vort кстати, у меня почему-то TCSR просел. был 30-40%, сейчас 20%. опять какеры виноваты?
Vort это же не должно быть из-за того, что я узел обновил :)
orignal счас гляну
orignal да у меня тоже везде просело
Vort знач какеры
orignal там где релиз стоит
orignal я думаю причина в обновлении сети
Vort вчера было нормально
Vort слишком резкое изменение
orignal так у них счас массово пошло обновление
Vort java ?
Vort тогда возможно
orignal они только позвачера выкатили
orignal idk все сопли жевал
orignal меня беспокоит вот какой сецнарий
orignal не было активности пришла пачка пакетов так первый обработыется отдельно
orignal что неправильно
Vort если там миллисекунды, то пофигу
Vort это ни одна юзерская софтина не заметит
orignal проблема в лишнем флаше
orignal оно же и на акки и на пачки в тоннелях влияют
onon У меня на U роутерах заметно подрос транзит Transit Tunnels: 321
onon Думаю из-за фикса интродьюсеров
Vort если java роутеры массово перезагружаются, то вполне возможно перераспределение нагрузки по сети
onon А может обновления явы как-то связано
Vort в том чилсе и по U узлам
onon Угу
Vort "<~orignal> не было активности пришла пачка пакетов так первый обработыется отдельно" значит empty - плохой повод для запуска процесса обработки очереди
Vort но как сделать по нормальному не знаю
Vort как-то на numPackets завязывать наверно стоит
Vort может, запускать перекачивание либо по превышении numPackets какого-то порога либо по выходу из функции вычитывания из сокета (если порог не превышен)
orignal я знаю
orignal надо снчала собрать список полученных а потом им splice
Vort тогда и мьютекс дёргать меньше надо, да?
orignal который тоже делается мнгновенно
orignal я просто это еще не закончил
orignal и я еще не передлала flush правильно
Vort небольшое наблюдение: узел 79.81.102.79 никуда не исчез и продолжает долбёжку с Signature verification failed
Vort orignal: можешь по своим логам глянуть - он там тоже есть? или это персонально для меня такое? :)
orignal а что это за узел и почему нам до него есть дело?
orignal нет у меня нету
Vort что-то не так с его RI и почему-то он постоянно пытается сделать подключение
Vort вижу тут два варианта
Vort либо это баг и надо попробовать понять, в чём его суть
Vort либо какая-то атака
orignal так а в чем баг?
orignal ты же видишь его подключения
Vort какой-то софт неправильные RI гененрирует
Vort надо убедиться, что это не i2pd и не i2p java
orignal вопрос в другом
Vort короч запущу сейчас второй узел и посмотрю, будет ли он туда гадить
orignal почему он заебывает только тебя
onon А давайте просто владельца сервера найдём и сделаем ему больно.
Vort не хочу отладчик к основному узлу подключать
orignal у меня много Signature verification failed в логах
Vort это да. но у меня этот адрес - основной их источник
orignal меня вот такой 88.122.23.30 заеьывает
Vort с остальными тоже когда-то надо будет разбираться
Vort а у меня твоего нету. хмм
Vort но тоже Франция по геолокации
orignal какой ниубдь докер наверное кривой
Vort а вообще нашёлся один раз
Vort 9 сентября у меня был
orignal а меня сейчас долбает
Vort странно
Vort а вчера тоже долбал?
onon Сделал "плавное" переключение RemoteLease. Когда ��удет свободное время, глянь, может я там чего накосячил.
orignal гляну
orignal вчера не знаю у меня логи трутся
Vort ладно
Vort "дятлы" на отдельный узел садиться не захотели. пришлось хакнутый бинарник на основной узел подсовывать
Vort повезло, что они рестарта не заметили. ибо он у меня медленный
Vort вот результат (архив с 3 файлами): paste.i2pd.xyz/?c6359ea5f1d0ff4b#9rangtRS8PKKLKHt5kRkYZQCqgzYscqNFXLJRQy3M5Bk
Vort RI главного дятла, у которого вместо подписи фигня - 79_81_102_79.dat
Vort 103_1_185_106.dat и 152_172_99_239.dat - дятлы попроще. у них просто в адресах 0.0.0.0 и 127.0.0.1
orignal и что нам это даст?
orignal какая версия и какой тип подписи?
Vort у 79.81.102.79 router.version = 0.9.57
Vort а вот как тип подписи проверить - я пока что не знаю
Vort java выплёвывает такой RI без комментариев
Vort но там видны странности - на шум данные не похожи
orignal так i2pd_tools же
Vort A0B41AB9AAAA000020DAFF9FFFFF0000B8B41AB9AAAA0000C01241B9AAAA00002703000000000000A0DAFF9FFFFF0000B0DAFF9FFFFF0000201241B9AAAA0000
orignal то есть ты хочешь сказать что джава считает подписи правильной?
Vort вот такая там подпись
Vort джава просто пишет Router info 79_81_102_79.dat is invalid
orignal такая подпись быть не может никак
Vort 2703 - это 0x327 = 807. размер RI (правильный при чём) в байтах
orignal это где?
Vort остальные числа похожи на указатели
Vort ну среди тех байт, которые должны быть подписью
Vort Blinded message
onon Хочет эксплойт через RI передать
onon Злодей
orignal не видно смысла в этом
orignal короче надо делать код чтобы банить дятлов
onon Ты пока тот код, что я выше скинул в ветку-то не добавляй только.
orignal угу
onon Что-то он как-то медленно работает
onon Или это дед в релиз лимиты по скорости в 36кб сделал на туннель
onon Во я тупой, на том прокси поставил i2p.streaming.maxInboundSpeed = 32768 и забыл.
onon И думаю, что всё так медленно
orignal лол
Vort я думаю, у юзеров с битыми RI могут быть или файлы повреждены или оборудование
Vort но по крайней мере, там не видно никакого скрытого послания (матом:))
Vort то есть, вполне вероятен баг древней версии
orignal или ключси
Vort вот я думал, может, стоит проверить, как i2pd обрабатывает ситцацию, когда файл ключей испоганен
orignal ему пох
Vort но для начала надо бы проверить, i2pd у тех роутеров или java
Vort а это надо делать вручную, похоже
Vort "<~orignal> ему пох" будет подписывать мусором?
orignal ключ прочитает от фонаря таким и будет
orignal кстати да надо бы ошибки проверять
Vort а openssl не пошлёт нахрен за такое?
Vort может в том RI просто _место под подпись_ ?
orignal пошлет но я наверное там не проверяю ошибки ))
orignal переделал на splice