Size: a a a

2021 February 02

MB

Mikail Bagishov in Rust Async
Судя по исходникам, он сравнивает некую последнюю глобальную версию с той, которая записана в этом инстансе ресивера
источник

IL

Ilya Lakhin in Rust Async
Ладно, попробую с вотчем
источник

IL

Ilya Lakhin in Rust Async
Я его раньше избегал, он странный какой-то. Может зря
источник
2021 February 03

a

antuan in Rust Async
есть энум, у которого есть ~190 вариантов. значения энума - структуры, часть из которых довольно развесисты, а часть - энумы, тоже со структурами в качестве значений. летает этот 190-уровневый энум через tokio::sync::mpsc.
в какой-то момент начинаю получать stack overflow (достаточно быстро, где-то на пятидесятом сообщении или даже раньше).
судя по стеку, валится именно отправка в канал.
есть ли какие-то умозрительные ограничения на размер структур\энумов? кажется, что не должно быть, но других причин sigsegv я пока найти не могу...
источник

VM

Vladimir Melnikov in Rust Async
Ну в бокс их запихать. Стек - он как бы не резиновый. Точнее куча более резиновая чем стек
источник

DF

Dollar Føølish in Rust Async
Число вариантов в енуме может коррелировать с размером дискриминанта только
источник

DF

Dollar Føølish in Rust Async
Размер самого большого варианта будет размером енума
источник

a

antuan in Rust Async
Vladimir Melnikov
Ну в бокс их запихать. Стек - он как бы не резиновый. Точнее куча более резиновая чем стек
спасибо, попробую
источник

a

antuan in Rust Async
Dollar Føølish
Число вариантов в енуме может коррелировать с размером дискриминанта только
какого дискриминанта?
источник

DF

Dollar Føølish in Rust Async
В фарше вот например не так
источник

a

antuan in Rust Async
antuan
какого дискриминанта?
а, я понял
источник

DF

Dollar Føølish in Rust Async
В фарше число вариантов коррелирует с размером адт
источник

a

antuan in Rust Async
antuan
а, я понял
ну да, clippy у меня ругается на то, что пара структур в этом энуме сильно больше остальных...
источник

DF

Dollar Føølish in Rust Async
К тому же при отправке в очередь мпсц они накапливаются в этой очереди а не на стеке
источник

DF

Dollar Føølish in Rust Async
Я бы посоветовал отловить сегфолт отладчиком , либо установить альтернативный стек для сигналов через sigaltstack
источник

DF

Dollar Føølish in Rust Async
Чтобы узнать дело ли в оверфлоу
источник

a

antuan in Rust Async
Dollar Føølish
Я бы посоветовал отловить сегфолт отладчиком , либо установить альтернативный стек для сигналов через sigaltstack
отловил уже, потому и говорю, что падает при отправке в mpsc. могу скинуть стектрейс.
источник

DF

Dollar Føølish in Rust Async
Так вы же можете конкретную инструкцию увидеть
источник

a

antuan in Rust Async
antuan
спасибо, попробую
помогло, ещё раз спасибо.
но, тем не менее, странно. и правда, кажется, что не на стеке ж должен жить товарищ...
источник

DF

Dollar Føølish in Rust Async
В Линуксе для этого даже отладчик не нужен
источник