py = '3.14', mode = 'C' @requires_sudo @pytest.mark.parametrize("mode", ["", "c", "C", "Cc"]) @allpythons() def test_valgrind_attach(py, mode): with run_python(py, target("sleepy.py"), "2") as p: result = valgrind(["-p", str(p.pid)], mode) > assert result.returncode == 0, "\n".join((result.stdout, result.stderr)) E AssertionError: E ==3811== Memcheck, a memory error detector E ==3811== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. E ==3811== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info E ==3811== Command: src/austin -Ci 1ms -o /dev/null -p 3810 E ==3811== E [1m _ _ [0m E [1m __ _ _ _ __| |_(_)_ _ [0m E [1m/ _` | || (_-< _| | ' \ [0m E [1m\__,_|\_,_/__/\__|_|_||_| [0m [1;36m4.1.0 [0m [gcc 13.3.0] E E šŸ Parent process [ [0;36m3810 [0m] [1mPython [0m version: [1;33m3.14.5 [0m E ==3811== Conditional jump or move depends on uninitialised value(s) E ==3811== at 0x12D7D8: py_thread__resolve_name (py_thread_name.h:397) E ==3811== by 0x12D7D8: py_thread__read_with_stack_remote (py_thread.c:562) E ==3811== by 0x11ACAA: _py_proc__sample_threads (py_proc.c:1265) E ==3811== by 0x123414: _py_proc__sample_interpreter (py_proc.c:1393) E ==3811== by 0x123414: py_proc__sample (py_proc.c:1422) E ==3811== by 0x113897: py_proc_list__sample (py_proc_list.c:181) E ==3811== by 0x10D9C6: do_child_processes (austin.c:212) E ==3811== by 0x10DDCE: austin (austin.c:343) E ==3811== by 0x10BB2C: main (austin.c:415) E ==3811== E E šŸ“ˆ [1mSampling Statistics [0m E E Total duration [0;30m . . . . . . [0m [1m3.64s [0m E Average sampling rate [0;30m . . [0m [1m991.97 Hz [0m E Error rate [0;30m . . . . . . . . [0m [1m0/3611 [0m ( [1m0.00% [0m) E ==3811== E ==3811== FILE DESCRIPTORS: 4 open (3 std) at exit. E ==3811== Open AF_UNIX socket 3: E ==3811== at 0x4A7931B: socket (syscall-template.S:120) E ==3811== by 0x4A74378: openlog_internal (syslog.c:349) E ==3811== by 0x4A74A25: __vsyslog_internal (syslog.c:281) E ==3811== by 0x112AE2: vsyslog (syslog.h:49) E ==3811== by 0x112AE2: _log_writer (logging.c:60) E ==3811== by 0x112AE2: _log_writer (logging.c:56) E ==3811== by 0x112AE2: log_d (logging.c:166) E ==3811== by 0x10BB81: main (austin.c:436) E ==3811== E ==3811== E ==3811== HEAP SUMMARY: E ==3811== in use at exit: 0 bytes in 0 blocks E ==3811== total heap usage: 33,715 allocs, 33,715 frees, 18,248,997 bytes allocated E ==3811== E ==3811== All heap blocks were freed -- no leaks are possible E ==3811== E ==3811== Use --track-origins=yes to see where uninitialised values come from E ==3811== For lists of detected and suppressed errors, rerun with: -s E ==3811== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0) E E assert 42 == 0 E + where 42 = CompletedProcess(args=['valgrind', '--error-exitcode=42', '--leak-check=full', '--show-leak-kinds=all', '--errors-for-leak-kinds=all', '--track-fds=yes', 'src/austin', '-Ci', '1ms', '-o', '/dev/null', '-p', '3810'], returncode=42, stdout='', stderr="==3811== Memcheck, a memory error detector\n==3811== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.\n==3811== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info\n==3811== Command: src/austin -Ci 1ms -o /dev/null -p 3810\n==3811== \n\x1b[1m _ _ \x1b[0m\n\x1b[1m __ _ _ _ __| |_(_)_ _ \x1b[0m\n\x1b[1m/ _` | || (_-< _| | ' \\ \x1b[0m\n\x1b[1m\\__,_|\\_,_/__/\\__|_|_||_|\x1b[0m \x1b[1;36m4.1.0\x1b[0m [gcc 13.3.0]\n\nšŸ Parent process [\x1b[0;36m3810\x1b[0m] \x1b[1mPython\x1b[0m version: \x1b[1;33m3.14.5\x1b[0m\n==3811== Conditional jump or move depends on uninitialised value(s)\n==3811== at 0x12D7D8: py_thread__resolve_name (py_thread_name.h:397)\n==3811== by 0x12D7D8: py_thread__read_with_stack_remote (py_thread.c:562)\n==3811== by 0x11ACAA: _py_proc__sample_threads (py_proc.c:1265)\n==3811== by 0x123414: _py_proc__sample_interpreter (py_proc.c:1393)\n==3811== by 0x1234...x1b[0m\n Average sampling rate\x1b[0;30m . . \x1b[0m\x1b[1m991.97 Hz\x1b[0m\n Error rate\x1b[0;30m . . . . . . . . \x1b[0m\x1b[1m0/3611\x1b[0m (\x1b[1m0.00%\x1b[0m)\n==3811== \n==3811== FILE DESCRIPTORS: 4 open (3 std) at exit.\n==3811== Open AF_UNIX socket 3: \n==3811== at 0x4A7931B: socket (syscall-template.S:120)\n==3811== by 0x4A74378: openlog_internal (syslog.c:349)\n==3811== by 0x4A74A25: __vsyslog_internal (syslog.c:281)\n==3811== by 0x112AE2: vsyslog (syslog.h:49)\n==3811== by 0x112AE2: _log_writer (logging.c:60)\n==3811== by 0x112AE2: _log_writer (logging.c:56)\n==3811== by 0x112AE2: log_d (logging.c:166)\n==3811== by 0x10BB81: main (austin.c:436)\n==3811== \n==3811== \n==3811== HEAP SUMMARY:\n==3811== in use at exit: 0 bytes in 0 blocks\n==3811== total heap usage: 33,715 allocs, 33,715 frees, 18,248,997 bytes allocated\n==3811== \n==3811== All heap blocks were freed -- no leaks are possible\n==3811== \n==3811== Use --track-origins=yes to see where uninitialised values come from\n==3811== For lists of detected and suppressed errors, rerun with: -s\n==3811== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)\n").returncode test/integrity/test_valgrind.py:72: AssertionError