IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2026/05/09
~AreEnn_
~R4SAS
~acetone
~orignal
~villain
@onon
&N00B
+Xeha
CreateEnergyDecreaseEntropy
DsecT
Guest98878
Hypnosis
Lan_
Most
Nos4-Group
Opax
[---------------------------------------------]
ahiru
anontor
avele
ch
duanin2
entity
equinoxe
fidoid
ice_juice
justaperson
karamba_i2p
luvme
mareki2p
n1
nissarmeows
pinotto
poriori
profetikla
ps
qend
rumpelstilzchen
shaye
sonya
tensor
un
urist_
vade
void
плаZскуф
hypn_desk <Most> <centeredhonor> Major IRC logger - it's created by a guy formerly jailed, left the jail
hypn_desk not by fsb
hypn_desk narco trafficker guy
kivayu_golovoi а кто мейнтейнит вебконсоль в i2pd?
Paracommissar kivayu_golovoi, народное творчество
orignal никто
orignal это никому не нужно
orignal заебали
cry4me i2pd just crashed for me when i reloaded the tunnels config while connected via SAM, so I looked into the code... i found this inconsistency, in DeleteLocalDestination the mutex is released before calling Stop() but in ReloadConfig Stop() is called while the mutex is still held, that looks a likely cause of a deadlock in the ReloadConfig path
cry4me it's in ClientContext.cpp 384–390 and 255–265
orignal again, tunnels reload doesn't work properly
orignal stop reporting about this
orignal if you have time to investigate fix it
orignal and without AI slop please
orignal it's really complicated problem and I don't have enough time for this
cry4me if it's that complicated, i'll pass then lol
luvme whats stopping someone from modifying the client to make the hops <8 ?
luvme >8 *
cry4me it's the spec
cry4me grandpa would know this
Most 05<centeredhonor> R4SAS, i2pd-qt обновите? Хотя мне он и не нужен.
sander Спасибо за оперативное исправление проблемы с sessions! Ещё замечен SIGSEGV в Transports::GetNetworkAddress, будто бы session->GetRemoteAddress получается из абстрактного const = 0, а не от дочернего класса, в моём случае из NTCP2Session (не использован SSU2, когда был SIGSEGV). Н
sander о это только догадки. Происходит случайно, иногда проработает без SIGSEGV 20 минут, иногда 5.
orignal там еще не все
orignal там надо чинить
sander Прямо сейчас был SIGTRAP ntdll!RtlIsZeroMemory и потом вылет на деструкторе NTCP2Session::~NTCP2Session, на delete[] m_NextReceivedBuffer. Заменяя там uint8_t* на std::shared_ptr<uint8_t[]> и убирая delete[] ошибка пропадает, правда не знаю, правильно ли это, нет ли от этого дополнительных
sander проблем
orignal а ну это другая проблема
orignal там сложнее чинить
orignal надо понять почему вообще это происходит
sander С деструктором помогла замена на смарт указатели. Не знаю, есть ли какая-то утечка памяти. Вроде как EVP_MD_CTX_destroy не нужно использовать, если память управляется смарт указателям? хммм...
orignal не в том дело
orignal почему он вообще вызывается в тот момент
orignal а какая свяь с EVP_MD__CTX? это же внутренняя структуру openssl
orignal которая выделяется через его же new
orignal delete[] m_NextReceivedBuffer там значит просиходит двойной удаление
orignal потому что в какой то момент еще он удалился но не занулился
orignal можно его просто сделать atomic и swap -ом
orignal но вопрос в том почему это вообще происходит
sander почему вызывается неизвестно, один раз сразу выскочило, другой раз только через минут 15
sander А про EVP_MD, на деструкторе тоже может вызваться SIGSEGV. Если заменять C указатели для m_SendMDCtx, m_ReceiveMDCtx смарт указателями, инициализируя как "m_SendMDCtx = std::shared_ptr<EVP_MD_CTX>(EVP_MD_CTX_new(),EVP_MD_CTX_free);", то деструктор для этого объявлять (вроде) не нужно?
sander По крайней мере у меня после этого пока что не вызывался SIGSEGV, но про утечку памяти при этом не знаю
orignal ну я так не делаю
orignal сделай вот что лучше
orignal delete[] m_NextReceivedBuffer; замени на delete[] m_NextReceivedBuffer; m_NextReceivedBuffer = nullptr;
orignal и все всех строчках в десткруторе так
sander Хорошо, попробую
sander Ещё был SIGSEGV на GetNetworkAddress в "if (IsCheckReserved())". weakSession был "expired". Можно сделать проверку на expired перед GetNetworkAddress, где-то 1045 строка в Transports.cpp.
orignal нет на надо
orignal там же
orignal auto session = weakSession.lock();
orignal if (!session) return;