tool1cd icon indicating copy to clipboard operation
tool1cd copied to clipboard

Ошибка при импорте таблицы: free(): invalid next size (fast)

Open ivan-kovtun opened this issue 5 months ago • 4 comments

Описание проблемы:

При выполнении импорта таблицы _REFERENCE35 из директории, экспортированной с помощью tool1cd -eb, возникает краш с ошибкой памяти:

` ctool1cd -l /root/export.log $INPUT_DB_PATH -eb /root/tables "_REFERENCE35" ctool1cd -l /root/import.log $OUTPUT_DB_PATH -ib /root/tables "_REFERENCE35"

free(): invalid next size (fast) Aborted ` При этом следующие действия проходят без ошибок: • Импорт таблицы в противоложеном направлении $OUTPUT_DB_PATH -> $INPUT_DB_PATH • Импорт своей же таблицы в $INPUT_DB_PATH • Импорт своей же таблицы в $OUTPUT_DB_PATH

Таблицы совпадают по структуре. Различия между descr минимальны, в частности строки: `

  • {"Files",475,476,7838}
  • {"Files",470,471,7095} `

Отладка: • GDB показывает падение в V8Object::~V8Object() → std::vector::~vector() → free(): • Valgrind выявляет множественные definitely lost блоки, особенно при вызовах:

gdb.txt valgrind.txt

ivan-kovtun avatar Jul 17 '25 15:07 ivan-kovtun

Импорт таблицы в итоге происходит? Судя по логам gdb, оно падает уже при завершении работы... Осталось понять, почему.

dmpas avatar Jul 17 '25 15:07 dmpas

Да, в результирующей базе действительно таблицы обновились. Попробую сделать компактный пример для воспроизведения.

ivan-kovtun avatar Jul 17 '25 15:07 ivan-kovtun

Попробую сделать компактный пример для воспроизведения.

@ivan-kovtun Не получилось сделать пример? Эта ошибка стабильно воспроизводится? Если вдруг надо будет потестить исправление..

dmpas avatar Jul 31 '25 11:07 dmpas

@ivan-kovtun Не получилось сделать пример?

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

ivan-kovtun avatar Jul 31 '25 15:07 ivan-kovtun