28 / 27 / 7
Регистрация: 11.06.2011
Сообщений: 387

Double free or corruption (fasttop)

15.03.2018, 11:28. Показов 2465. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите разобраться в чем может быть причина. Есть одна очень большая программа. И она периодически падает. Через gdb попытался что-то понять, но в этот раз ничего не дало...


Вот вывод bt
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
*** Error in `/home/sasha/myprog': double free or corruption (fasttop): 0x00007fffd0001070 ***
 
Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7ffff0b0c700 (LWP 11565)]
0x00007ffff4994067 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56      ../nptl/sysdeps/unix/sysv/linux/raise.c: Нет такого файла или каталога.
(gdb) bt
#0  0x00007ffff4994067 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007ffff4995448 in __GI_abort () at abort.c:89
#2  0x00007ffff49d21b4 in __libc_message (do_abort=do_abort@entry=1,
    fmt=fmt@entry=0x7ffff4ac7210 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175
#3  0x00007ffff49d798e in malloc_printerr (action=1,
    str=0x7ffff4ac73f8 "double free or corruption (fasttop)", ptr=<optimized out>) at malloc.c:4996
#4  0x00007ffff49d8696 in _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at malloc.c:3840
#5  0x0000000000511df1 in ThStatus::start_thread (this=0x85a318) at ThStatus.cpp:27
#6  0x0000000000422b33 in boost::_mfi::mf0<void, ThStatus>::operator() (this=0x85a308, t=...)
    at /usr/include/boost/bind/mem_fn_template.hpp:70
#7  0x0000000000422732 in boost::_bi::list1<boost::_bi::value<ThStatus> >::operator()<boost::_mfi::mf0<void, ThStatus>, boost::_bi::list0> (this=0x85a318, f=..., a=...) at /usr/include/boost/bind/bind.hpp:253
#8  0x000000000042218d in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ThStatus>, boost::_bi::list1<boost::_bi::value<ThStatus> > >::operator() (this=0x85a308)
    at /usr/include/boost/bind/bind_template.hpp:20
#9  0x0000000000421cc0 in boost::detail::thread_data<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ThStatus>, boost::_bi::list1<boost::_bi::value<ThStatus> > > >::run (this=0x85a150)
    at /usr/include/boost/thread/detail/thread.hpp:117
#10 0x00007ffff71b4aea in ?? () from /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.55.0
#11 0x00007ffff5b7d064 in start_thread (arg=0x7ffff0b0c700) at pthread_create.c:309
#12 0x00007ffff4a4762d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
в ThStatus.cpp:27 идет строка
C
1
2
            26 for (std::string server:groups){
            27 std::string result = ThFactory::command(server,"list");
Внутрь в ThFactory::command судя по bt не входит. А где тогда искать двойное удаление ?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.03.2018, 11:28
Ответы с готовыми решениями:

Double free or corruption
Здравствуйте, вылетает такая ошибка Версия DEBUG, но всё-равно почему-то не пишет названий функций, как можно узнать где идёт...

Ошибка: double free or corruption (fasttop)
Я описываю метод diamond-square. Это метод для процедурной генерации мира (кому интересно - вот описание) Но столкнулся с проблемой. При...

Ошибка этапа исполнения: double free or corruption (fasttop):
Доброе времени суток подскажите пожалуйста в чем может быть следующая проблема. Код который выводит программа приведен ниже. Сама...

2
зомбяк
 Аватар для TRam_
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
15.03.2018, 13:09
Что-то не то происходит либо в ThStatus::start_thread, либо в функции, которая этот поток создаёт.
0
28 / 27 / 7
Регистрация: 11.06.2011
Сообщений: 387
16.03.2018, 11:09  [ТС]
Лучший ответ Сообщение было отмечено admsasha как решение

Решение

Поток создается в main()
C++
1
2
3
        ThStatus  threadStatus;
        thrds.create_thread(boost::bind(&ThStatus::start_thread,threadStatus));
        thrds.join_all();
поменял строку
C++
1
            std::string result = ThFactory::command(server,"list");
на
C++
1
2
3
4
5
            
27 std::cout <<< "1111" << std::endl;
28 std::string result = "";
29 result = ThFactory::command(server,"list");
30 std::cout <<< "2222" << std::endl;
Отладчик стал показывать проблему на строке 28
А в консоле
Code
1
2
1111
2222
Я ожидал будет падение после 1111.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.03.2018, 11:09
Помогаю со студенческими работами здесь

Double free or corruption (out)
std::stringstream brf; brf &lt;&lt; a.rdbuf(); char *tmp = new char(brf.length()); memcpy(tmp,...

Double free or corruption при изменении размера динамического массива
Сразу скажу, что у меня задание на работу с памятью, и std::vector по условию использовать запрещено. #include &lt;iostream&gt; ...

Ошибка "double free or corruption" в динамическом двумерном массиве
Доброго времени. Не могу понять, почему выскакивает эта ошибка: *** Error in `./a.out': double free or corruption (out):...

Ошибки error C2296: -: недопустимо, левый операнд имеет тип "double (__cdecl *)(double,double,double
Думаю из-за polp #include&lt;iostream&gt; #include&lt;cmath&gt; #include&lt;cstdlib&gt; using namespace std; double polp(double af,double...

Ошибка: error LNK2001: unresolved external symbol "double __cdecl Akk(double,double,double)"
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; double Akk(double x, double y, double z); int main() { int a, b, c; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru