Russian Qt Forum
Ноябрь 22, 2024, 20:59 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Valgrind падает  (Прочитано 2380 раз)
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« : Октябрь 22, 2015, 11:57 »

Привет, друзья.
У меня есть проект, конвертер КЭ моделей.
Выявил недавно проблему, что в разных сессиях создаются неодинаковые файлы при одних и тех же операциях.
Удалось через valgrind поправить пару косяков, но, всё же что-то ещё осталось.
Сейчас при запуске анализа в определённый момент анализ падает. Вот всё то, что он успевает вывести в вывод приложения
Код:
Analyzing memory of /home/dmitriy/qtprojects/procastil/build/ProCASTil-Desktop-Debug/ProCASTil1
==16465== Memcheck, a memory error detector
==16465== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==16465== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
==16465== Command: /home/dmitriy/qtprojects/procastil/build/ProCASTil-Desktop-Debug/ProCASTil1
==16465==
==16465== (action at startup) vgdb me ...
==16465==
==16465== TO DEBUG THIS PROCESS USING GDB: start GDB like this
==16465==   /path/to/gdb /home/dmitriy/qtprojects/procastil/build/ProCASTil-Desktop-Debug/ProCASTil1
==16465== and then give GDB the following command
==16465==   target remote | /usr/lib/valgrind/../../bin/vgdb --pid=16465
==16465== --pid is optional if only one valgrind process is running
==16465==
==16465== Conditional jump or move depends on uninitialised value(s)
==16465==    at 0x133530FA: ??? (in /usr/lib/libgtk-x11-2.0.so.0.2400.28)
==16465==    by 0x789B523: ??? (in /usr/lib/libgobject-2.0.so.0.4400.1)
==16465==    by 0x78B4F96: g_signal_emit_valist (in /usr/lib/libgobject-2.0.so.0.4400.1)
==16465==    by 0x78B5E39: g_signal_emit_by_name (in /usr/lib/libgobject-2.0.so.0.4400.1)
==16465==    by 0x78A2C2A: g_object_set_valist (in /usr/lib/libgobject-2.0.so.0.4400.1)
==16465==    by 0x78A34BB: g_object_set (in /usr/lib/libgobject-2.0.so.0.4400.1)
==16465==    by 0x52F0CC5: ??? (in /usr/lib/libQt5Widgets.so.5.5.0)
==16465==    by 0x527464C: QStyleFactory::create(QString const&) (in /usr/lib/libQt5Widgets.so.5.5.0)
==16465==    by 0x520D704: QApplication::style() (in /usr/lib/libQt5Widgets.so.5.5.0)
==16465==    by 0x520DACC: QApplicationPrivate::initialize() (in /usr/lib/libQt5Widgets.so.5.5.0)
==16465==    by 0x520DB1E: QApplicationPrivate::construct() (in /usr/lib/libQt5Widgets.so.5.5.0)
==16465==    by 0x40BD6D: main (main.cpp:10)
==16465==  Uninitialised value was created by a stack allocation
==16465==    at 0x789D0A0: g_cclosure_marshal_VOID__VOIDv (in /usr/lib/libgobject-2.0.so.0.4400.1)
==16465==
==16465== (action on error) vgdb me ...
==16465== Continuing ...
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   obj:/usr/lib/libgtk-x11-2.0.so.0.2400.28
   obj:/usr/lib/libgobject-2.0.so.0.4400.1
   fun:g_signal_emit_valist
   fun:g_signal_emit_by_name
   fun:g_object_set_valist
   fun:g_object_set
   obj:/usr/lib/libQt5Widgets.so.5.5.0
   fun:_ZN13QStyleFactory6createERK7QString
   fun:_ZN12QApplication5styleEv
   fun:_ZN19QApplicationPrivate10initializeEv
   fun:_ZN19QApplicationPrivate9constructEv
   fun:main
}
libpng warning: iCCP: profile 'ICC Profile': 1000000h: invalid rendering intent
libpng warning: iCCP: profile 'ICC Profile': 1000000h: invalid rendering intent
libpng warning: iCCP: profile 'ICC Profile': 1000000h: invalid rendering intent
libpng warning: iCCP: profile 'ICC Profile': 1000000h: invalid rendering intent
ICE default IO error handler doing an exit(), pid = 16465, errno = 32
==16465==
==16465== HEAP SUMMARY:
==16465==     in use at exit: 47,509,234 bytes in 55,822 blocks
==16465==   total heap usage: 365,660 allocs, 309,838 frees, 124,206,149 bytes allocated
==16465==
==16465== LEAK SUMMARY:
==16465==    definitely lost: 68,840 bytes in 19 blocks
==16465==    indirectly lost: 13,439 bytes in 551 blocks
==16465==      possibly lost: 22,583,899 bytes in 9,760 blocks
==16465==    still reachable: 24,685,280 bytes in 44,628 blocks
==16465==                       of which reachable via heuristic:
==16465==                         length64           : 8,360 bytes in 107 blocks
==16465==                         newarray           : 2,160 bytes in 55 blocks
==16465==         suppressed: 0 bytes in 0 blocks
==16465== Rerun with --leak-check=full to see details of leaked memory
==16465==
==16465== For counts of detected and suppressed errors, rerun with: -v
==16465== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
Analyzing finished.

Помогите, пожалуйста проанализировать код.
« Последнее редактирование: Октябрь 22, 2015, 12:58 от __Heaven__ » Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #1 : Октябрь 22, 2015, 13:00 »

Если выбираю строчку анализа без gdb, то вообще qtcreator вылетает с ошибкой
Код:
SOFT ASSERT: "item" in file /build/qtcreator/src/qt-creator/src/plugins/debugger/debuggerkitinformation.cpp, line 343
SOFT ASSERT: "item" in file /build/qtcreator/src/qt-creator/src/plugins/debugger/debuggerkitinformation.cpp, line 343
addOverrideAction /Memory Issues: Action /Memory Issues is already registered for context Global Context.
/usr/bin/qtcreator: line 2: 16995 Ошибка сегментирования                   (core dumped) QT_LOGGING_TO_CONSOLE=1 qtcreator-bin $@
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.048 секунд. Запросов: 23.