IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2023/03/08
~AreEnn
~R4SAS
~orignal
~villain
&N00B
+Xeha
+relaybot
DUHOVKIN
Guest8889
HackerMan
Most2
Nausicaa
Ruskoye_911
Vort
`
acetone_
anon3
b3t4f4c3
fidoid_
nemiga
not_bob_afk
plap
poriori
profetikla
soos
teeth
tensor
un
weko_
whothefuckami
R4SAS хм. у меня не собирается чет
R4SAS я почему то в atomic уперся
R4SAS ругнулось что не может найти файл, хотя он там...
orignal в как раньше собиралось?
R4SAS да я про msvc
orignal не ну это мне не посилам ))
R4SAS libi2pd\Ed25519.cpp(416,31): warning C4805: '!=': unsafe mix of type 'int' and type 'bool' in operation
Vort предупреждение видел
Vort думаю, код там нормальный
Vort atomic я добавил в cmake как OPTIONAL_COMPONENTS atomic
Vort может, в этом проблема?
R4SAS видать
R4SAS я добавил дефайн и оно переварило
R4SAS -DBOOST_ATOMIC_DYN_LINK
Vort а, тут же ещё может влиять разная версия студии
Vort у меня 2015
R4SAS я на 19
Vort может, там как-то по другому что-то
R4SAS мб
Vort а буст собирал так, как я писал?
R4SAS я его взял с релизов
orignal 15 это на которой майнеры собирают?
R4SAS да
R4SAS но бывает еще на 12 собирают
Vort "я его взял с релизов" тогда, видимо, локально допиливать мейкфайл надо. к примеру, я под /MT всё затачивал, чтобы зависимости не тащило
R4SAS а cmake я так понимаю ты с WITH_STATIC использовал?
orignal кстати ситуация с этими кодами интересная
orignal idk утверждает что они у них уже работают а дрозд вообще не в курсе
Vort R4SAS: да
Vort d:\CMake\bin\cmake.exe -DBOOST_ROOT=d:\boost_1_81_0 -DOPENSSL_ROOT_DIR=d:\openssl-1.1.1t -DZLIB_ROOT=d:\zlib-1.2.13 -DZLIB_LIBRARY=d:\zlib-1.2.13\contrib\vstudio\vc14\x64\ZlibStatDebug\zlibstat.lib -DWITH_AESNI=OFF -DWITH_STATIC=ON -G"Visual Studio 14 2015 Win64" .
R4SAS ну, примерно так же
Vort на всякий случай ещё ключи буста и openssl
Vort b2 variant=release,debug link=static runtime-link=static address-model=64
Vort perl Configure VC-WIN64A no-shared
R4SAS в моем случае так:
R4SAS cmake -G "Visual Studio 16 2019" -A x64 -DBOOST_ROOT=d:\devel\boost\boost_1_81_0 -DZLIB_ROOT=d:\devel\zlib -DZLIB_LIBRARY=d:\devel\zlib\lib\zlibstatic.lib -DWITH_STATIC=ON .
R4SAS openssl у меня по дефолтному пути, так что не указываю
R4SAS собираю так:
R4SAS cmake --build . --config Release -- -m
R4SAS на выходе 6.3 мб
R4SAS но пришлось сделать кучку правок
R4SAS openssl не хочет линковаться без crypt32
weko Transit Tunnels: 9221
weko Что 5
relaybot 13mauzer: стопудова 5
Vort сделал первую визуализацию потребления памяти из собранных данных
Vort утечки пока что _явно_ не видно, зато видны эффекты от деятельности SSU2. не призываю пока что что-либо в SSU2 менять, но учитывать этот эффект надо
Vort надо, кстати, учиывать, что куча "съёживаться обратно" не особо любит и вот такие всплески как на графике оставляют на куче заметный след
Most3 <q> make[1]: *** Нет правила для сборки цели «mk_obj_dir». Останов.
Most3 <q> У меня не хочет собираться i2pd-tools
Vort "<~R4SAS> openssl не хочет линковаться без crypt32" надо разобраться, почему у тебя вот эта строчка не срабатывает: github.com/Kitware/CMake/blob/394e1540a3aa3d0309bef87f3ec11de6d1c081e7/Modules/FindOpenSSL.cmake#L201
Leopold jeff hello
Leopold Need your help
weko We have problem with server UDP tunnel
Leopold there is problem with UDP in i2p
Leopold So when trying to play more than one player on same server tunnel
Leopold Game think that players how one
Leopold We tryed in mindustry, xonotic, teeworlds
Leopold If using different server tunnel for each player, all is okay
weko With more then 2 players from I2P in udp game, it strange lagging
Leopold weko can say more detail about it
weko So we tested several games, and its also lagging with >2 players
Vort "<~R4SAS> но пришлось сделать кучку правок" проверил патч у себя: после вызова cmake файлы проекта не поменялись - думаю, это значит, что ничего не сломалось. хорошо.
Vort понял, откуда у меня вчера креши были. дело в остановке i2p::transport::transports
R4SAS я там еще потом немного менял
Vort в конструкторе поставить удаления - будет утечка. в Stop () - будет креш (из-за NetDb). сделал Stop2 () и воткнул его после остановке i2p::data::netdb.Stop(); посмотрю как будет
Vort R4SAS: что? могу потестировать
R4SAS чутка позже скину, сейчас с одной из машин разбираюсь
Vort окей. в общем, моя мысль в том, что crypt32 должен автоматом подключаться. а в остальном всё норм было в том патче
R4SAS ну.. у тебя cmake откуда?
R4SAS сам ставил?
Vort с оф сайта
Vort а, может, тебе свежее нужен? хотя вряд ли
R4SAS у меня тут тот что идет с msvc в поддержке
R4SAS а это 3.20
Vort cmake-3.25.2-windows-x86_64.zip
R4SAS ну вот
Vort глянь что у него там в FindOpenSSL.cmake. ну когда сможешь
R4SAS там нет этого
Vort чего этого? подключения crypt32? или вообще FindOpenSSL.cmake нету?
R4SAS нет блока _OpenSSL_has_dependencies
R4SAS он тут обрезаный какой то
Vort а, ну тогда норм воткнуть crypt32 вручную. разве что может коммент стоит добавить что это для старого cmake
R4SAS ак видишь в чем дело
R4SAS версия модуля такая же
R4SAS по этому вопросу
` №НадоБылоСтавитьЛинух
R4SAS ясно. мейнтейнеры не дописывали в ченджлог
R4SAS появилось оно в 3.21
Vort хах. как раз полез проверять. значит, не буду. понятно
R4SAS надо будет просто проверку на версию сделать
Vort да, так будет яснее
R4SAS ладно, все равно туда залез
R4SAS 134G var
R4SAS hmmm
` преступно, конечно, позволять включенным логами по умолчанию так разрастаться
` (не про конкретно этот случай, но были ранее, у кого с настройками по умолчанию разрасталось)
Leopold У меня до гига что ли разраслось
Leopold Я думал, по умолчанию логи i2pd не писались в файл
relaybot 13mauzer: /var/log на отдельный раздел
R4SAS нет, это не логи
R4SAS контейнер для сборки под wrt и entware скорее всего
R4SAS Leopold: по умолчанию пишет
whothefuckami Может на лине по умолчанию логи в syslog?
R4SAS нафиг?
whothefuckami Чтоб место экономить ?
R4SAS оно всё равно будет писать в системный журнал
R4SAS а это всё равно файл
whothefuckami Системный журнал умеет сам себя чистить
R4SAS и логи в пакете тоже умеют
whothefuckami Тогда ладно
whothefuckami <~R4SAS> 134G va
R4SAS там стоит хранение 3 дрей
whothefuckami Навернор просто не повезло
R4SAS дней*
R4SAS я же говорю это контейнер для сборки openwrt
whothefuckami Читать не умею, слепой
R4SAS во время сборки тулчейнов контейнер писал большое количество исходников в /tmp
R4SAS остановил его, сразу вычистилось до 40 гб
Vort R4SAS: похоже, там опечатка. "crypt32" дважды добавляется
R4SAS Vort: поробуй 3.20 сделать в проверке
Leopold Из файла i2pd.conf не было ясно изначально, что пишется в файл var/log/i2pd.conf. Я думал, что в stdout.
Leopold ## Logging configuration section
Leopold ## By default logs go to stdout with level 'info' and higher
R4SAS Leopold: в пакете другие параметры
Leopold Потом уже я обнаружил гигаабайтный файл лога и сделал loglevel = none
R4SAS в конфиге описаны параметры приложения по умолчанию
Leopold Что за пакет?
R4SAS у тебя какая система?
Vort R4SAS: не понял ответа. должно быть, как я понимаю, вначале без "crypt32", а если меньше, 3.21, то ещё и плюс "crypt32". а по той ссылке что ты кинул и на 69 строке "crypt32" и на 72 строке "crypt32"
R4SAS Vort: смотри внимательно на пеееервый символ строки
Leopold Разные системы
R4SAS понял
Leopold И на всех OpenRC
R4SAS забыл там убрать
R4SAS убери
Vort ага
Leopold Журнала systemd нет
R4SAS Leopold: ты каким образом ставишь i2pd?
Leopold из репа дистрибутива
R4SAS а теперь подумай
R4SAS что есть "пакет"
Leopold А что значит "в пакете другие параметры"
R4SAS в пакете используются парамерты запуска, отличные от стандартных
R4SAS так яснее?
R4SAS посмотри в init.d/i2pd
R4SAS сразу поймешь
Leopold Сейчас посмотрю
R4SAS или где там у вас в openrc
R4SAS крч сам найдешь
R4SAS command_args="--service --daemon --log=file --logfile=$logfile --conf=$mainconf --tunconf=$tunconf --tunnelsdir=$tundir --pidfile=$pidfile"
Vort что-то ругается мой cmake
R4SAS на что?
Vort CMake Error at CMakeLists.txt:340 (if):
Vort if given arguments:
Vort "MSVC" "and" "3.25.2" "VERSION_LESS" "3.21"
Vort Unknown arguments specified
R4SAS ой лол
Vort кажется, понял
Vort AND надо
R4SAS надо разделить тогда
Vort вместо and
R4SAS ммм.. врядли
Vort у меня точно из-за and ругается
Vort а с AND нормально
` почему сборка под другую платформу через контейнер? я не в рот ногой мейнтейнер.
R4SAS `: ты предлагаешь собирать прямо на роутере?
R4SAS Vort: ну значит я тут поторопился))
` R4SAS, предлагаю (размышляю над) собирать на основной машине. Опять же, я не в рот ногой мейнтейнер, может компилятору нельзя сказать: "делой на етой платформе под ту платформу и точка".
R4SAS `: нафиг этим заниматься на хосте?
R4SAS у тебя будет свалка в таком случае
R4SAS из разных софтов, разных сорцов
R4SAS и если ты чего то собрать не сможешь, то че, систему переустанавливать?
R4SAS не всяких софт собирается под последними версиями систем
R4SAS и наоборот
R4SAS потому и контейнер
Vort по поводу утечек: сделал очередной запуск. утекло традиционно 2 блока по 1544 байт, но ещё и один на 2192. надо будет разбираться что это за 2192. а пока очередной запуск ставлю. у меня ощущение, что утечка IdentityEx ещё не добита
` Vort, а, можна по С++ тематике спросить? Хочу доходчиво для разработчиков поймать момент, когда RetroShare(c)(R)[TM] (C++&QT) падает в определённых воспроизводимых сценариях. Как это сделать, получил понятный для
` разработчика лог? Мне пейсали про "valgrind", но его же ещё нужно как-то правильно приготовить (ключи и вот этот вот всё)..
` Как это сделать, получив*
Vort дело в том, что я с valgrind не знаком
Vort слышал, что в линуксах есть core dump
` Vort, тогда через gdb?
Vort падение ведь должно его писать, да?
Vort ну если есть дамп и если программа собрана с отладочными данными, то gdb стоит пробовать, да
Vort хотя если есть методы воспроизведения, то почему бы разработчикам просто не воспроизвести? :)
Vort есть ещё вариант попробовать самостоятельно воспроизвести в виртуальной машине
Vort тогда можно исключить особенности реальной конфигурации системы
` Vort, есть подозрение на специфический для "окружения" характер, и возможно сам способ сборки.
Vort а если в ВМ не воспроизведётся, тогда можно будет искать различия в системах
Vort `: ну вот ставь виртуалку значит ) VirtualBox норм штука
Vort а насчёт сборки - ну так можно же с репозитория взять. или ещё откуда-то уже собранное
Vort чтобы исключить и этот вариант
` Проблема точно в сборке и зависимостях используемых для сборки. Я бы даже так сказал.
` Но тыкать и перетыкивать зависимости с версиям..
` Сборка "говношары" у меня занимает несколько часов, однако.
Vort а бинарь стащить откуда-то можешь?
Vort пофиг для какого линукса
Vort в ВМ потом этот линукс поставить и проверять
R4SAS он максимум без дебага найдет
R4SAS пущай собирает
Vort R4SAS: а надо увидеть, будет ли креш
Vort это тоже ценная информация. будет/не будет
weko [10:47:39] <Vort> `: ну вот ставь виртуалку значит ) VirtualBox норм штука
weko qemu
Vort weko: ну на самом деле примерно пофиг. лишь бы работало
` вот на qemu ставил убунту и на неё бинарную говношару - не воспроизводилось
` поэтому хоцица отловить момент падения (крэша) у себя
Vort ну теперь собери в qemu в убунте ) самым традиционным образом
` *понятный момент падения, для разработчиков
` сутки буду собирать. в лучше случае. ладно
Vort если с отладочными данными собирал, то тогда смотри core dump через gdb
Vort если без них, то всё равно можно посмотреть. ну или собирать опять...
Vort "несколько часов" против "сутки" ? может, всё-таки тогда лучше VirtualBox? я с ним такой разницы не замечал
weko Transit Tunnels: 9759
Vort `: а что - в убунте этих зависимостей в виде пакетов нету?
Vort зачем зависимости собирать...
R4SAS извращенец просто
R4SAS логично же
Vort ну просто если баг искать, то итерации стоит делать быстрее
weko Transit Tunnels: 10018
Vort короч, при таком поиске надо идти итеративно от рабочего варианта к нерабочему
Vort пошагово приближая один к другому
Vort универсальный метод =)
weko Transit Tunnels: 10211
` Vort, не зависимости собирать, а собирать с разными зависимостями. Я думаю, что там проблема с QT (графика для ПО).
weko Transit Tunnels: 10270
Vort `: так долго собирается что? ретрошара? или ретрошара + Qt + ещё всякая хрень?
` Vort, "говношара", на основной машине (чуть-чуть производительнеее тостера) собирается 4 часа.
` Проблема вот так вот её собирать то с одной версией зависимости, то с другой. А если ещё и в виртуалке...
Vort понятно. а воспроизведение проблемы сколько времени занимает?
whothefuckami Ну без дебаг символов там реально нечего делать. Тут только пересборка
Vort whothefuckami: а если внутри qt где-то крешится? qt не может быть с дебаг символами ?
whothefuckami А ну да
whothefuckami Ну, зато ты узнаешь, что краш в кьюте
Vort угу
whothefuckami Да ты и без символов это узнаешь...
` Vort, потыакл по интерфейсу в опеределённом порядке - крЭшнулось. Примерно столько времени.
whothefuckami Ладно, без символов есть смысл проверять
` хоть минута
whothefuckami Да, короче
whothefuckami Тут всё просто
whothefuckami Сначала
whothefuckami gdb retroshare
whothefuckami потом тыкаешь туда сюда
whothefuckami Доводишь до краша
whothefuckami И выхлоп сюда
R4SAS whothefuckami: и будет он смотре на вопросики
` пробовал, да, там вопросики
R4SAS из за отсутствия символов
whothefuckami Ну да, только щас понял, что предложил рак
` Ладно, буду играца с valgrind
R4SAS `: без отладочных символов безсмысленно
Vort экстремальный вариант - грузить в дизассемблер и угадывать, что делают функции по адресам в трассировке )
R4SAS а смысл появится когда пересоберешь
Vort вот да, лучше в дебаг режиме пересобрать
Vort зачем valgrind - не пойму
R4SAS а бессмысленно потмоу что валгринд тоже нихера не покажет
` weko, тоже необычайно больше обычного транзитофф.
whothefuckami valgrind это же для утечек
` правда я зарезал лимит
whothefuckami кста ` ты вот когда gdb смотрел. Там в bt были вызовы в кьютовских .soшках?
whothefuckami А вдруг нет...
` whothefuckami, нашёл пасту, не хочется сюда вливать несколько десяткофф строк, сек..
whothefuckami О у тебя кьют уже с дебаг символами
whothefuckami Я думал он нет
whothefuckami Значит на пересборку только retroshare
` у меня на тот момент в системе был QT 5.15.2
` с которым и собирался
whothefuckami Нет стоп он без дебаг символов
whothefuckami Или с
whothefuckami Ну хз короче
R4SAS кутэ - да
R4SAS их можно поставить
R4SAS они в репах идут обычно
whothefuckami Я в арче не нашёл
whothefuckami Может ты знаешь:
R4SAS рач э
R4SAS рач это рач
whothefuckami Самому собирать??
R4SAS да
whothefuckami Печаль
R4SAS намек понятен?
whothefuckami А, вот как оно устроено
whothefuckami Да понятен
` теперь понятнее хотя бы стало, куда копать. Спасибо всем, каждому по спасибо в карман за мой счёт;)
R4SAS релиз и дебаг нормально собираются
R4SAS сейчас протестил сборку с cmake
R4SAS с статичной сборкой всё в норме благо
R4SAS 18 Мб + 113 МБ pdb
Vort готов результат анализа утечек при выходе узла с примерно двухчасовым аптаймом: paste.i2pd.xyz/?2201ef303fea9681#4tWHh5GX42AdmivtmjFTFmMbKES2UVELyJfRpF3a3aG2
Vort видны утечки 2192 bytes. только вот ID блоков слишком кучкой и довольно большие
orignal а какие выводы?
Vort вполне возможно, что они (2192 bytes) утекли чётко перед самым выходом. но всё равно ловить надо
Vort помимо этого, утекло два 544 bytes. IdentityEx, видимо
Vort 1032 bytes тоже два. может связаны с предыдущими двумя. надо разбираться что за объект этло
Vort с мелочью по 16 bytes, думаю, можно потом разобраться
Vort на данный момент, думаю, главные цели разбирательства - 544, 1032 и 2192
Vort R4SAS: для проверки компилятором - хорошо. но в том, что так получится сделать динамическую сброку, я практически не сомневался
Vort а вот статическую - тут уже сложнее
R4SAS там просто в cmake не передавался дефайн
Vort там нужны будут все либы собранные с флагом /MT. есть такие?
R4SAS ща увидим. по идее они идут в офф билдах
Vort без этого это будет недо-статика, с требованием установки vcruntime или как там его
Vort ок, посмотрим
R4SAS конечно процесс установки буста самый долгий...
R4SAS и да, это MVS 2022
Vort значит, уже тремя компиляторами проверили. хорошо
Vort тремя VC
R4SAS я могу еще 2019 добавить
R4SAS 2015 и 2017 уже не получится, там образы их не содержат
Vort думаю, пока что 2019 не надо
Vort 2015 можно вручную время от времени проверять
R4SAS главная проблема наверно будет с zlib
R4SAS тут
Vort кстати, баг нашёл
Vort Blinded message
R4SAS ибо его тоже приходится собирать, а собирается он как Release
R4SAS да это фигня
Vort R4SAS: а ты хочешь дебаг через GHA получать?
R4SAS это так имя я поставил, вот и дублирует
R4SAS здрасьте, транк всегда ебаг я делаю
R4SAS дебаг*
R4SAS почтии.....
R4SAS надо zlib собрать дебажным
Vort это тогда что?
R4SAS ась?
Vort "транк всегда дебаг я делаю"
Vort -DCMAKE_BUILD_TYPE=Release
R4SAS а, лол
R4SAS под виндами жирность бинарника отличительная
R4SAS а вообще, по идее разницы то нет какой бинарник получать
Vort у zlib там два проекта - ZlibDll и ZlibStat
R4SAS знаю
Vort надо как-то выбирать нужный
Vort ну и релиз/дебаг тоже как-то выбирать
R4SAS сейчас это используется github.com/horta/zlib.install
Vort ну вот тот скрин что ты показал - следствие выбранного не-Stat
R4SAS да да
Vort ну значит они так выбрали
R4SAS потому что дебага не было
Vort но там либа мгновенно собирается
Vort так что можно и самому - пофиг
R4SAS вся причина
Vort ну а статик/не статик там есть выбор?
R4SAS нет, он уже по идее в проекте по дефолту собирается
Vort ага, хорошо
Vort а по поводу /MT что там?
R4SAS zlib вроде не зависит от MT
Vort мне студия ругалась, когда я пробовал совмещать /MT и /MD
R4SAS конечно
Vort интересно оно как-то на GHA собралось, что не видно вывода команды линковки. ну или я не заметил
Vort а, может, это значит, что всё ок
R4SAS потому что cmake --build
R4SAS могу конечно добавить --verbose
Vort в общем, если там в zlib /MD, то могут быть проблемы. не уверен, правда
Vort хм. так почему всё же у тебя линукется zlib1__.dll ?
R4SAS потому что оно подхватило Strawberry
R4SAS смотри в Configure
Vort а, те, которые уже были на GHA?
R4SAS да
R4SAS в пакете Strawberry (perl) он тоже есть
R4SAS Vort: насчет upnp
R4SAS смысл делать проброс, если все равно серый адрес
Vort я уже понял
Vort поэтому я и сказал ему, что решение - менять провайдера
Vort поначалу я предполагал, что может быть где-то баг. но потом стало понятно, что у него просто серый IP. точнее, два серых IP
R4SAS теперь то точно дебажную либу собирает: github.com/PurpleI2P/i2pd/actions/runs/4366569659/jobs/7636750261#step:3:74
R4SAS во, теперь правильно....
R4SAS -- Found ZLIB: optimized;C:/Strawberry/c/lib/libzlib.a;debug;C:/Program Files/zlib/lib/zlibstaticd.lib (found version "1.2.11")
R4SAS оптимизироанную подбирает из перла потому что не собираю её
R4SAS можно тоже будет собирать
R4SAS всё, полностью статично линкуется
` Стал чаще видеть в "говношаре" транзитный трафик в сто, двести и даже триста КБ/с. Надеюсь это результат "перехода на более прогрессивные штуки".
` R4SAS, напомни, пэжэ, где бинарники для опенврот насобирать? А то (не стараясь, признаюсь) смог сегодня дойти до тамошней вики, а там пишутЬ, что ш2зв версии 2.41.0...
` Нашел ссылку из логофф, эта которая вики страница, я помню. Там ссылка на гитхуб, где конфиг для сборки..
` Я думал там где-то будет зоопарк бинарникофф.
relaybot 13sam: Хой
` хой жыфф
relaybot 13sam: :-)
relaybot 13sam: Почему все заебало?
relaybot 13sam: Ни чего не охота
relaybot 13sam: От слова совсем
relaybot 13sam: Или через не хочу или по накатанной через не хочу
relaybot 13sam: Поехать в хохлостан и с ножа вырезать экипаж леопарда.
relaybot 13sam: Может
relaybot 13sam: Стать героем россии
relaybot 13sam: Но есть вопрос
relaybot 13sam: Нахуя
relaybot 13sam: Мне это
` №1. Здесь не флудильня, по большей мере..
` №2. Старайся больше.
` №3. Лет через 10 и с помощью огромной удачи - всё окупится.
` №4. Найди бабу и забей на эти игры анонимуса.
Vort сделал визуализацию потребления памяти моим узлом за 21 час аптайма: paste.i2pd.xyz/?d4b9a7c2ae324bc3#97EitctoTwXewL9XdLeSxoAsh2N9Sp4PkNTCDcoExu11
Vort главный вывод - если смотреть чисто по количеству выделенных байт, то утечки пока что не видно
Vort потребление болтается около 40 мегабайт
Vort второй вывод - потребление памяти у i2pd уж слишком "шипастое". прыжки бывают в 2 раза за пару минут
Vort два примечательных события произошло - в 6:01 UTC и в 15:22 UTC
Vort что именно тогда произошло - сказать сложно. но первый раз я увидел по своему мониторингу повышенное количество коннектов в системе, а второй раз увидел приход DDoS`а - куда именно - так и не понял. то ли в Tor, то ли в i2pd
Vort пока что предположение такое, что шипы даёт работа SSU2 под нагрузкой (или перегрузкой)
Vort ну и ещё одно предположение именно по утечке - вполне может быть, что утечка "виртуальна" - это может быть следствие фрагментации кучи
Vort не уверен, что правильно термин применил, но суть в том, что куча получается дырявая, как сыр. а дырки ведь тоже занимают место в памяти
Vort о том, как это чинить, даже думать не хочется
R4SAS дырявость unordered_map мы давно обсуждали
R4SAS я предлага переодически перезаполнять память
R4SAS т.е. раз в какое то время будет создаваться новый map, заполняться данными из имеющегося, а старый зануляться
Vort а что там с unordered_map происходит? я ведь говорю про память, которая освобождена, но занимает место
Vort условно говоря, если один байт посреди памяти освободится, то страница памяти же не выгрузится - там ещё байты есть
R4SAS память выделяется, потом записи остаются, а занятое место не высвобождается
R4SAS незанятое*
R4SAS когда какие либо записи вырезались
R4SAS т.е. блок памяти с пустотами в нем получается
Vort то есть, delete отработал, но пустоту никто не переиспользовал?
R4SAS она вероятно переиспользуется, но только в случае если в эту пустоту поместится чего либо
R4SAS я это так представляю, не факт конечно
Vort ну да. допустим, 1000 байт освободилось. на их место поместились 10 байт. а в оставшиеся 990 байт уже 1000 байт не поместится
R4SAS но всё равно будут маленькие, да все же пустоты
Vort и если потребуется 1000, то придётся искать новое место
Vort я думал, что с этой проблемой призваны бороться пулы памяти. но с чем они борются в i2pd я пока ещё так и не понял
Vort "я это так представляю, не факт конечно" у меня тоже догадки, к сожалению
Vort надо проверить, правильно ли я термин применяю
Vort сейчас погуглю
Vort на сайте MS даже нашлось
Vort "Фрагментация кучи — это состояние, в котором доступная память разбивается на небольшие несвязанные блоки. Если куча фрагментирована, выделение памяти может завершиться сбоем, даже если общий объем доступной памяти в куче достат
Vort очно для выполнения запроса, так как ни один блок памяти недостаточно велик."
R4SAS > Начиная с Windows Vista система использует кучу с низкой фрагментацией (LFH) при необходимости для обслуживания запросов на выделение памяти. Приложениям не нужно включать LFH для их кучи
Vort ну какая-то борьба с проблемой идёт, да
Vort но явно её полностью автоматическими средствами не решить
Vort в общем, предположение есть. теперь надо думать о том, как его потдвердить или опровергнуть
Vort пока что подержу ещё сбор статистики, может обычную утечку (без хитростей) увижу
Vort кстати, вот эти шипы - это известная особенность SSU2 или нет?
Vort вы с ней разбирались или нет?
Vort на 100% про SSU2 не уверен, но при таком шипе выделяется много блоков 1544, а именно такие я видел у SSU2
Vort [2023-03-08 06:01:24] 68310762:
Vort 0: 7048360 (4565 * 1544)
Vort вот на 7 мегабайт блоков по 1544 байт набралось
R4SAS мы не следили на столько сильно
R4SAS мы обычно на память просто смотрим
R4SAS так что не довелось наблюдать их
Vort они редкие, но меткие
Vort помню тут кто-то жаловался на OOM
Vort может, словил такой шип
R4SAS оом бывает
R4SAS но тут тоже не всё ясно
R4SAS шип как должго живет например
Vort мне ещё чем эти шипы не нравятся - я подозреваю, что их можно использовать для DoS`а
Vort шип живёт несколько минут
R4SAS значит надо искать какой таймер его вычищает
R4SAS и от него плясать
Vort надо смотреть, где лежат блоки по 1544 байт
` > их можно использовать для дос'а
` какер: ..для дос'а.. записал
Vort и там не только 1544 байт 2023-03-08 06:01:24 было. там ещё жирные массивы какие-то
Vort 1: 6217992 (99 * 62808)
` Vort, это сильное ожидание от петпроекта.
R4SAS вероятно пакеты вне очереди
R4SAS или еще чего то
Vort ну да. это какая-то очередь
Vort и такое ощущение, что тормозов у этой очереди нету
Leopold Кнопка "перезагрузить конфигурацию туннелей" убивает все туннели?
orignal когда как
orignal иногда срабатывает нормально
orignal таймер в SSU2Server
orignal ну че как успехи с поиском утечек?
weko Леопольд запустил репу параболы в ш2з, вроде синкается нормально
orignal меня больше утчеки памяти интересмуют
weko orignal: а обновление туннелей и UDP туннель?))
orignal ну я рассчитываю что jeff починит
jeff udp tunnels are shit still right?
jeff i dont have a big chunk of time rn
weko jeff: 1) problem with multiple connection on udp server
weko 2) don't working tunnel config updating (so TCP also buggy there)
orignal jeff should take care about 1 only
orignal 2 is different story
jeff issue 1 makes sense, idk how tf it even works
jeff how it COULD work
orignal jeff weko says that UDP server tunnel can't handle multiple sessions from the b32
jeff i believe it
orignal I think by port
weko It can
orignal if I'm a client
orignal I should use different cleint port for each session
weko But buggy
orignal and server must differentiate it
weko Also multiple UDP servers on same b32 doesn't work
weko It will be 3)
orignal also encrypted leasesets
weko [20:31:54] <orignal> if I'm a client
weko [20:32:11] <orignal> I should use different cleint port for each session
weko [20:32:20] <orignal> and server must differentiate it
weko I guess it use different port now, I guess maybe it mix packets from i2p "sockets" to UDP sockets?
orignal jeff should know better
orignal what was his original idea
jeff god i have no idea what the original idea was lol
jeff it is now whatever you want it to be :D
weko I just try to understand what actually happening ... So I did not tried something yet
jeff what is your usecase? unicast udp?
weko Test with netcat + wireshark
weko jeff: UDP games
weko We tested Mindustry, Xonotic, Teeworlds
jeff so unicast udp in a star topology
jeff it'd be cool to have source specific multicast over i2p
jeff having udp be done using that and having unicast just be a special case would be a way to implement udp tbh
weko Also it lagging for several seconds sometimes, but maybe it is i2p problem, need more investigation
jeff udp server == SSMC router, udp client == member of that SSMC group
jeff udp clients would join udp server then be able to multicast to everyone else on it
jeff and then you can do unicast to the udp server too
jeff and unicast to the other members of the group
weko LeaseSets: 293
orignal LeaseSets: 171
weko Мб router ident удачный, я хз.
orignal возможно
R4SAS s2#1 - 187 Мб
R4SAS s2#2 - 151
R4SAS s2#3 - 110
R4SAS s2#4 - 110
orignal интересно почему у меня таких цифр не бывает?
R4SAS мало транзита?
orignal дохуя
R4SAS Uptime: 7 days, 8 hours, 12 minutes, 52 seconds
R4SAS Network status: OK
R4SAS Network status v6: OK
R4SAS Tunnel creation success rate: 48%
R4SAS Received: 1494.05 GiB (1904.00 KiB/s)
R4SAS Sent: 1539.76 GiB (1928.21 KiB/s)
R4SAS Transit: 1429.47 GiB (1828.79 KiB/s)
R4SAS Routers: 8218 Floodfills: 1426 LeaseSets: 0
R4SAS Client Tunnels: 224 Transit Tunnels: 6811
R4SAS s2#2:
R4SAS Uptime: 7 days, 8 hours, 10 minutes, 46 seconds
R4SAS Network status: OK
R4SAS Network status v6: OK
R4SAS Tunnel creation success rate: 71%
R4SAS Received: 533.40 GiB (1106.14 KiB/s)
R4SAS Sent: 566.05 GiB (1135.88 KiB/s)
R4SAS Transit: 494.73 GiB (960.81 KiB/s)
R4SAS Routers: 8927 Floodfills: 1210 LeaseSets: 107
R4SAS Client Tunnels: 259 Transit Tunnels: 6182
R4SAS s2#3:
orignal а ну так у тебя просто дольше работают
R4SAS Uptime: 7 days, 8 hours, 9 minutes, 5 seconds
R4SAS Network status: OK
R4SAS Tunnel creation success rate: 30%
R4SAS Received: 2012.47 GiB (2605.07 KiB/s)
R4SAS Sent: 2049.74 GiB (2537.37 KiB/s)
R4SAS Transit: 1937.80 GiB (2519.80 KiB/s)
R4SAS Routers: 7994 Floodfills: 1423 LeaseSets: 0
R4SAS Client Tunnels: 44 Transit Tunnels: 6628
R4SAS s2#4:
R4SAS Uptime: 7 days, 8 hours, 9 minutes, 14 seconds
R4SAS Network status: OK
R4SAS Tunnel creation success rate: 34%
R4SAS Received: 2204.63 GiB (3586.42 KiB/s)
R4SAS Sent: 2254.70 GiB (3652.94 KiB/s)
R4SAS Transit: 2135.65 GiB (3512.10 KiB/s)
R4SAS Routers: 8052 Floodfills: 1407 LeaseSets: 0
R4SAS Client Tunnels: 39 Transit Tunnels: 6617
R4SAS ахереть, 6 Тб транзита
R4SAS за неделю
WayBest мало
R4SAS WayBest: я сравниваю с прошлыми годами
R4SAS там за месяц вытянуть Тб уже было достижение
WayBest у меня скорости под 5к были
R4SAS 5k чего
WayBest Киб/с
R4SAS херня
WayBest Киб/с7
R4SAS я единственный тут выжимал 80 мегабит на одном роутере
WayBest а скок рекорд?
WayBest не единственный)
WayBest тоже было
WayBest но очень мало по времени
WayBest это можно достичь если качать тонну файлов торрентом
R4SAS но это сейчас во время атаки было
WayBest дампы например
R4SAS а я говорю про нормальное поведение
WayBest так я про нормальное
R4SAS это было 2 года (наверно) назад
WayBest снарк выдавал 80мбит честных
WayBest мб чуть меньше
R4SAS снарк это снарк
R4SAS а я про транзит
WayBest а ну транзит да
WayBest транзита такого не видал
orignal куда опять лан поделавлся
orignal ущнать бы сколько у него на его дедиках
R4SAS на у него небось всё лежит
WayBest у хида спросите
WayBest мб может похвастаться)
R4SAS HidUserZ:
WayBest кстати, как у джеффа дела?
WayBest он пофиксил свой трекер в итоге?
HidUserZ чего я
WayBest статистику показывай)))
WayBest по транзиту
HidUserZ Transit Tunnels: 6757
HidUserZ средний
HidUserZ были скачки до 11к
Vort orignal: вот свежий график со статистикой блоков памяти за сутки аптайма узла: paste.i2pd.xyz/?6aa85a33267561c9#AJvsqVZgBiv4burzeE5xEKXuQ6ZcA3HMt4QsdvNfGAXZ
Vort утечки пока что не видно. из чего делаю вывод, что мы можем иметь дело с фрагментацией кучи
Vort всплески, видные на графике, и создаваемые, скорее всего, SSU2, могут плохо влиять на состояние кучи. но это надо ещё проверять. хз как пока что
Vort то есть, куча может раздуваться пустыми блоками, оставшимися после всплесков
Vort всплески потребления памяти бывают как минимум двух видов
Vort один из них создаёт блоки размером 1544 байт (SSU2?), второй - 4192 байт (профили?)
Vort вот пример недавнего всплеска второго типа: 0: 24598656 (5868 * 4192)
Vort 24 мегабайта что-то отожрало
R4SAS 4192 слишком много для профилей