169 похожих чатов

Кто-Нибудь знает как воспроизвести эту ошибку https://github.com/lua/lua/blob/master/ltable.c#L490 ? Она может кинуться

когда создаешь table https://github.com/lua/lua/blob/master/lapi.c#L769 через функцию luaH_resize https://github.com/lua/lua/blob/master/ltable.c#L560
На синтетике у меня так и не получилось. В рабочем коде время от времени кидается эта ошибка.

11 ответов

11 просмотров

когда создаёшь table? Ты уверен, что не от наполнеия таблицы дофигаллионом элементов?

хмммм... при 2^62-1 у меня OOM, но вот при числе выше... Ничего? 🤔

UtoECat
screenshot хмммм... при 2^62-1 у меня OOM, но вот при числе в...

Это разве не называется переполнение?

Snusmumriken
Это разве не называется переполнение?

стоп... там же 32 битное число для размера таблицы, да? 😂 перепутал, ща переделаю

крч да, это работает. Ищи ошибку на стороне CAPI, или на добавлении в таблицу большого количества элементов.

Steven-Vch Автор вопроса
UtoECat
крч да, это работает. Ищи ошибку на стороне CAPI, ...

А как подчищать после lua_createtable ? Там разве не каждый раз новая таблица создается ?

Steven Vch
А как подчищать после lua_createtable ? Там разв...

Новая. Этим занимается сборщик мусора.

Steven-Vch Автор вопроса
Igor
Новая. Этим занимается сборщик мусора.

А откуда тогда overflow возникает ?

Steven Vch
А как подчищать после lua_createtable ? Там разв...

объясняю : си функция cc() создаёт таблицу и помещает её на стек (пытается). Если она её и поместит туда, она возвращает НОЛЬ аргументов, return 0, и таблица, если она была создана, остаётся ожидать пока её соберёт сборщик. В случае с OOM, икакой таблицы, по итогу, и не помещается на стек. (объект тадицы это сам GcObject и привязанные к нему array и hash массивы указателей на GcObject'ы. В любом случае, всё соберётся без проблем). Я даже после каждого вызова делаю collectgarbage, чтобы точно собрать ВСЁ что было созданео, и чтобы ничего не влияло на резщультат на столько, на сколько возможно в этом примере

Steven Vch
А откуда тогда overflow возникает ?

🤦‍♂️ это TABLE overflow, НЕ STACK OVERFLOW!!!

Похожие вопросы

Обсуждают сегодня

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
14
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
Всем вечера. Подскажите как лучше сделать. делаю на Д10 Например будет база данных на SQLite. в ней будет много таблиц. более 50шт Типа справочник. Содержать ID Name Id p...
Андрей Т 🐎
10
Я короче решил скомпилировать Nim в js, я думал он сработает как обычный транслятор. По итогу он мне создал файл с расширением js, и туда поместил кучу кода Вопрос, что это з...
𝕾𝖍𝖆𝖉𝖊 <suspense>
9
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
это группа токсиков или тех кто помогает?
Ибрагим
9
мы пытаемся подменить функцию, которая имеет меньше инструкций относительно функции, которой подменяем. https://www.reddit.com/r/jailbreakdevelopers/comments/w06ujy/mshookfun...
Óðinn
6
У кого-нибудь есть под рукой функция кодирования юникода, которая из фразы На русском сделает \u041d\u0430\u0020\u0440\u0443\u0441\u0441\u043a\u043e\u043c ?
Daniil Smolyakov
7
Карта сайта