Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.GOLDED
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.GOLDED с датами от 16 Jul 13 03:28:02 до 27 Jun 24 12:59:36, всего сообщений: 3580
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 2857 из 3580 ======================================== RU.GOLDED =
От   : Vitaliy Aksyonov                 1:104/117          16 Oct 23 22:59:40
Кому : Nil A                                               16 Oct 23 22:59:40
Тема : Re: Арифметика указателей UB в throw_realloc_debug()
FGHI : area://RU.GOLDED?msgid=1:104/117+652e1617
На   : area://RU.GOLDED?msgid=2:5015/46+65298df8
= Кодировка сообщения определена как: CP866 ==================================
Ответ: area://RU.GOLDED?msgid=2:5025/121+652e1be4
Ответ: area://RU.GOLDED?msgid=2:5015/46+652e2214
==============================================================================
Привет, Nil!

13 Oct 23 21:35, ты писал(а) мне:

NA> Во-первых, зачем по-умолчанию включены отладки GTHROW_LOG и
NA> GTHROW_DEBUG? Я иногда видел какие-то трейсы про память пишутся в
NA> golded.log, но реально, хоть что-то когда-нибудь присылал сюда в эху,
NA> или куда-то, какие-то отладочные трейсы памяти?

Подозреваю, это сделали, чтобы было проще собирать отчеты об ошибках. Коряво, конечно. Для релизной сборки это все должно быть отключено. Оно и на производительность влияет не самым благоприятным образом.

Я посмотрю, как это удобно сделать отключаемым для релизной сборки. Основная проблема, что там целая куча систем сборки, начиная от cmake, заканчивая пачкой makefiles для разных систем.

NA> Отладка GTHROW_DEBUG в голдеде сделана таким образом, что они
NA> аллоцируют памяти больше на структурку Throw, и прячут её в начале.
NA> Перед адресом и после обкладывают магическими цифирками BEFOREVAL и
NA> AFTERVAL, чтобы потом на недоезды и заезды проверить. Также они
NA> двухсвязный список хранят, чтобы потом потерянную память напечатать. А
NA> потом пришёл Гугл и запили ASAN билды, и такое делать в ручную уже
NA> стало не нужно, так что выключить по-умолчанию я бы рекомендовал.

Мало того, realloc совсем не обязательно должен выделять память в новом месте. В случае с уменьшением куска, это вполне может быть тот же кусок. Другое дело, что в таком виде это вряд ли используется.

NA> Решилось мне прогнать UBSAN билд, и прямо на запуске, где происходит
NA> сканирование всех областей (баз эх), случается UB

[...skipped...]

NA> Вобщем-то бага то и нет, но всё равно, я бы почиНИЛ
NA> throw_realloc_debug(), пододвинул throw_ptrtodl() туда, где он реально
NA> используется. Т.е. вот такой фикс бы влил, но.. у меня нет на гитхабе
NA> аккаунта.

Создал Pull Request с твоей правкой. Ожидайте на линии, Ваш звонок очень важен для нас. :))

Best regards,
Vitaliy Aksyonov.

... Были бы мозги, было б сотрясение.
--- GoldED+/LNX 1.1.5-b20231007
* Origin: Aurora, Colorado (1:104/117)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.027431 секунды