Я написал многопоточный стресс-тест для инфраструктуры базы данных, с которой я работаю, и пытаюсь профилировать ее с помощью callgrind. Программа отлично работает вне valgrind и обеспечивает ожидаемые результаты.Как определить, почему процесс valgrind/callgrind убивает
Однако при запуске под valgrind --tool=callgrind
программа выполняется в течение короткого промежутка времени, а затем останавливается с сообщением valgrind Killed
, поскольку это последний выход для стандартного вывода.
Есть ли способ определить, почему valgrind убил мою задачу?
После следуя совету докторов наук: он получает убит valgrind --tool=none
, однако, я не совсем уверен, как анализировать сообщения, которые я уже были даны, кажется, есть много sigvgkill
сигналов в моих потоков , Первый экземпляр этого здесь:
--13713:1:syswrap- run_a_thread_NORETURN(tid=104): pre-thread_wrapper
--> [pre-success] Success(0x0:0x365c)--13713:1:syswrap- thread_wrapper(tid=104): entry
SYSCALL[13713,104](311) sys_set_robust_list (0x4f213be0, 12)[sync] --> Success(0x0:0x0)
SYSCALL[13713,104](240) sys_futex (0xbeaf348, 128, 2, 0x0, 0x0) --> [async] ...
--13713-- async signal handler: signal=13, tid=32, si_code=0
--13713-- interrupted_syscall: tid=32, ip=0x380b197c, restart=False, sres.isErr=True, sres.val=32
--13713-- completed, but uncommitted: committing
--13713:1:gdbsrv VG core calling VG_(gdbserver_report_signal) vki_nr 13 SIGPIPE gdb_nr 13 SIGPIPE tid 32
--13713:1:gdbsrv not connected => pass
--13713-- delivering signal 13 (SIGPIPE):0 to thread 32
--13713-- delivering 13 (code 0) to default handler; action: terminate
==13713==
Вы уверены, что оно было создано из valgrind? Или у вас заканчивается память, и ядро убивает процесс? – pah
@threadp Заставляет ли addgrind добавить значительные накладные расходы памяти? Я не выделяю много памяти в своем приложении, и у нее никогда не хватало памяти, прежде чем при обычном запуске в ядре? Как я могу это определить? –
Проверьте ваш выход 'dmesg' после того, как произошло убийство. Это вряд ли будет проблемой, но это возможность. – pah