| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
Update tools: yexport
|
| |
|
| |
Update tools: yexport
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
При вызове лямбды происходит деаллокация большого числа TNode. Они деаллоцируются внутри
лямбд так как лямбды принимают `const std::pair<TString, TNode>&`, а
`THashMap` итерирует по `const std::pair<const TString, TNode>&`
Меняю явный тип на `const auto&`.
Предыстория:
После перехода на TC Malloc начали в сервере ловить странные кордампы
при десериализации YSON в строку.
Пример дампа: https://coredumps.n.yandex-team.ru/core_trace?core_id=47595674
Вот как вызывали: https://a.yandex-team.ru/arcadia/voicetech/library/asr_logs/message_logger.cpp?rev=rXXXXXX#L161
Вычитка кода показала, что переменная EngineInfo всегда валидная (ссылка
на константную глобальную переменную, которая жива всегда во время
работы программы).
В кордампе заметили деаллокации внутри этих лямбд и поняли, что происходят ненужные копирования.
Предполагаем, что деаллокации внутри YSON могут быть причиной кордампов.
|
| |
|
|
| |
ref:61c7ceff963203b0d2e3ac34c5624d029622c9ba
|
| |
|
|
| |
ref:6498985c15da3fb6f4b628fbe715a78c29dba393
|
| |
|
|
| |
ref:ca7a95e8c9a9d780f96497136a152091d54e61b5
|
| |
|
|
| |
ref:fe5ed49138dce046a93c364cc8879fad3abf3eef
|
| |
|
|
| |
ref:1a0585d83f27cb6fb5b9c4f68a08177e10faf3b3
|
| |
|
|
| |
ref:1bf51835ea7425767532e1b783b23a0d09a0a88e
|
| | |
|
| | |
|
| |
|
|
| |
of 2.
|
| |
|
|
| |
of 2.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
of 2.
|
| |
|
|
| |
of 2.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|