~R4SAS
~orignal
~villain
&N00B
+relaybot
Leopold
Most2_
Nausicaa
Nikat
Opax
Vort
WayBest_
acetone
anon
anontor
b3t4f4c3
banona_
fidoid
grimreaper
itsAMe
karamba_i2p
overflow
poriori
profetikla
qend
r00tobo
soos
teeth
tensor_
typhoon
uis
un
weko
whothefuckami
колдоёбина
колдырь
acetone
парни, столкнулся вот с чем после простоя системы без сети (флудфилы удалилилсь как протухшие)
acetone
Client Tunnels: 70 Transit Tunnels: 1
acetone
и теперь никак не заводится, нужно netDb удалять
acetone
может быть добавить проверку, если флудфилов 0 - обращаться на бутстрап?
orignal
я собирался
orignal
добавлю
orignal
у тебя какая версия?
orignal
просто я там добавил проверку чтобы флудфилы не удалялись
orignal
как протухшие если мало
acetone
orignal: 2.39.0
orignal
ну вот я в транке поправил
orignal
короче поправил
orignal
что если нет флудфилов делать ресид при старте
orignal
R4SAS я тута valgrid с massif запустил
orignal
и таки да основную память жрет IdentityEx
R4SAS
вопрос в том, почему не вычищается
orignal
вычищается
orignal
вопрос в том почему выделяется под него неадекватно много памяти
R4SAS
т.е. получается что на каждый роутер в нетдб выделяется 20 кб?
orignal
вот смотри я отключил таблицу
orignal
у меня на ygg-only порядка 18 мегов при 1100 роутерах
R4SAS-revo
ну
R4SAS-revo
ну аналогично
R4SAS-revo
только дальше количество не меняется, а жор растет
R4SAS-revo
на роутер молу сейчас глянуть
R4SAS-revo
могу*
R4SAS-revo
а, даже тут на ведре гляну
orignal
вот надо смотреть в чем дело
R4SAS-revo
249 mb жрет тут почему то
R4SAS-revo
ща отвалюсь
R4SAS-revo
перезапущу и посмотрю на старте
R4SAS-revo
на старте 150
R4SAS-revo
видимо изза либ и андроидной херни
orignal
видимо
R4SAS-revo
но как видишь, 100 мб за время пребывания тут
R4SAS-revo
почти 6 часов
orignal
ну под андроидом там свое
orignal
там системный менеджер памяти может быть другой
orignal
m_ExtendedBuffer = new uint8_t[m_ExtendedLen];
orignal
вот оно
orignal
то что срет
orignal
тут скорее всего вместо 5 байт выделяется дохуя
orignal
это бы не было проблемой
orignal
но это делается на кажлый сраный адрес
R4SAS
так откуда там выделится столькол?
R4SAS
ну не может быть там 16 кб
orignal
4K запросто
orignal
ты ж понимаешь malloc выделяет блоками а не байтами
R4SAS
ну да
orignal
это надо пофиксить
orignal
все проблемы идут от P521
orignal
потому что там кусок ключа сидить дальше
R4SAS
стоп, а почему выделенная память не вычищается?
R4SAS
или оно прям постоянно до удаления этого роутера будет сидеть?
orignal
так адреса этих роутеров сидят в памяти
orignal
в том то и дело что это не в адресе роутера а не самом роутере
orignal
а адресов сильно больше
orignal
когда адрес протухнет то все вычистится
R4SAS
а надо ли их всех держать в памяти?
orignal
ну вот я как раз и делал
orignal
чтобы вместо полного роутера сидел только адрес
orignal
может и нет
orignal
тут думать надо
R4SAS
на винде 3880
R4SAS
почти 6 дней
R4SAS
48 мб
orignal
ну короче надо снижать
R4SAS
будем ковырять?
R4SAS
попробую отдебажить на винде
R4SAS
и посмотреть
orignal
короче длина ключа P521 132 байта
orignal
то есть дополнительные 4 байта
orignal
я думаю тупо сделаю m_ExtendedBuffer длиной 8 байт
orignal
почему не сделал сразу? потому что тогда еще были RSA
R4SAS
а че, в m_ExtendedLen может залезть на много больше?
orignal
кооторые выпилили
orignal
вот там ключи были реально длинные
R4SAS
хочешь сказать сейчас RSA вообще не используется?
orignal
с RSA туда и по килобайту залазило
orignal
хочу
orignal
только для SU3
orignal
и убрали его по моему требованию
R4SAS
понятно
orignal
я просто показал как любой пиздабол может подвесить всю сеть
orignal
публикуя себя с RSA
orignal
они же головой не думают
orignal
"так jrandom сказал"
orignal
а я с RSA еще в 95-ом работал
orignal
и знаю что с ним ))
orignal
по любому это надо сделать
R4SAS
ну давай
R4SAS
я просто пока что могу если что профилировать память на винде
orignal
надо понять что еще жрет ее
R4SAS
ну вот посмотрим
R4SAS
сейчас запустил под Deleaker
orignal
кстати я думаю на каждый RI выделяется 4K
orignal
в смысле на каждый Identity
orignal
вот и получается что на сам RI 4K да еще на Identity 4K
R4SAS
кстати какой таймен на дестах сидит в лизсетах?
orignal
а?
R4SAS
таймер**
orignal
таймер на что?
R4SAS
там аж 4 таймера
R4SAS
LeaseSetDestination
orignal
typedef std::list<std::shared_ptr<Address> > Addresses;
orignal
а ежели еще вот тут на каждый адрес
orignal
отсюда столько и набирается
orignal
4 но не все работают одновременно
orignal
нет все таки эти нововведения C++ большая лажа
orignal
типа shared_ptr
R4SAS
))))
orignal
работает но какая цена
orignal
грубо говоря если каждый вызов make_shared это 4K
R4SAS
а почему так много?
R4SAS
не уж то на указатель надо целый блок?
orignal
потому что внутри вызывается системный malloc
orignal
а он обычно дергает страницу
orignal
в классическом стиле когда много
orignal
то выделяют массивы
orignal
понимаешь в чем дело?
orignal
каждый malloc это 4K
R4SAS
да
orignal
просто в наше время никто не парится о таком количестве памяти
orignal
а для железок пишут на чистом Си