magazine_chain_pop_head Ошибка сегментации в gslice.c:539

Я поймал ошибку, вызванную вызовом g_slice_alloc0(160); Я могу вызвать g_slice_alloc0(320), g_slice_alloc0(128) или любое значение, кроме 160, без перехвата segfault с помощью gdb.

Я даже включил G_SLICE= всегда-malloc или G_SLICE= отладочные блоки, но поведение программы не меняется.

Чтобы убедиться, что проблема не в двойном освобождении, я даже проигнорировал освобождение памяти для теста.

(соответствующая ссылка: https://mail.gnome.org/archives/gtk-devel-list/2010-December/msg00065.html)

1 ответ

Решение

Здесь используется тот же ответ, что и в ветке списка рассылки:

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

Не видя ваш код, ошибка в нем не может быть найдена. Вы запускали свой код в valgrind для поиска других проблем с повреждением памяти?

Другие вопросы по тегам