echo "" | valgrind ruby I ran the above command to get valgrind output on ruby doing nothing. It gave the following as prt of it's output. I expect to see significantly fewer than 100,000 errors on a run of a program with no actual work to do. ==86478== Conditional jump or move depends on uninitialised value(s) ==86478== at 0x4A9B21A: ??? (in /usr/lib/x86_64-linux-gnu/libruby-3.3.so.3.3.7) ==86478== by 0x4A9D7BE: rb_sym_to_s (in /usr/lib/x86_64-linux-gnu/libruby-3.3.so.3.3.7) ==86478== by 0x4B0C97B: ??? (in /usr/lib/x86_64-linux-gnu/libruby-3.3.so.3.3.7) ==86478== by 0x4B0F752: ??? (in /usr/lib/x86_64-linux-gnu/libruby-3.3.so.3.3.7) ==86478== by 0x4B10858: rb_funcall_with_block_kw (in /usr/lib/x86_64-linux-gnu/libruby-3.3.so.3.3.7) ==86478== by 0x4B0C1F7: rb_yield (in /usr/lib/x86_64-linux-gnu/libruby-3.3.so.3.3.7) ==86478== by 0x4957D67: ??? (in /usr/lib/x86_64-linux-gnu/libruby-3.3.so.3.3.7) ==86478== by 0x4AFE125: ??? (in /usr/lib/x86_64-linux-gnu/libruby-3.3.so.3.3.7) ==86478== by 0x4B0C1F7: rb_yield (in /usr/lib/x86_64-linux-gnu/libruby-3.3.so.3.3.7) ==86478== by 0x48D193B: rb_ary_each (in /usr/lib/x86_64-linux-gnu/libruby-3.3.so.3.3.7) ==86478== by 0x4B0C97B: ??? (in /usr/lib/x86_64-linux-gnu/libruby-3.3.so.3.3.7) ==86478== by 0x4B0F752: ??? (in /usr/lib/x86_64-linux-gnu/libruby-3.3.so.3.3.7) ==86478== ==86478== Conditional jump or move depends on uninitialised value(s) ==86478== at 0x4A9D7D0: rb_sym_to_s (in /usr/lib/x86_64-linux-gnu/libruby-3.3.so.3.3.7) ==86478== by 0x4B0C97B: ??? (in /usr/lib/x86_64-linux-gnu/libruby-3.3.so.3.3.7) ==86478== by 0x4B0F752: ??? (in /usr/lib/x86_64-linux-gnu/libruby-3.3.so.3.3.7) ==86478== by 0x4B10858: rb_funcall_with_block_kw (in /usr/lib/x86_64-linux-gnu/libruby-3.3.so.3.3.7) ==86478== by 0x4B0C1F7: rb_yield (in /usr/lib/x86_64-linux-gnu/libruby-3.3.so.3.3.7) ==86478== by 0x4957D67: ??? (in /usr/lib/x86_64-linux-gnu/libruby-3.3.so.3.3.7) ==86478== by 0x4AFE125: ??? (in /usr/lib/x86_64-linux-gnu/libruby-3.3.so.3.3.7) ==86478== by 0x4B0C1F7: rb_yield (in /usr/lib/x86_64-linux-gnu/libruby-3.3.so.3.3.7) ==86478== by 0x48D193B: rb_ary_each (in /usr/lib/x86_64-linux-gnu/libruby-3.3.so.3.3.7) ==86478== by 0x4B0C97B: ??? (in /usr/lib/x86_64-linux-gnu/libruby-3.3.so.3.3.7) ==86478== by 0x4B0F752: ??? (in /usr/lib/x86_64-linux-gnu/libruby-3.3.so.3.3.7) ==86478== by 0x4B108C1: ??? (in /usr/lib/x86_64-linux-gnu/libruby-3.3.so.3.3.7) ==86478== ==86478== ==86478== More than 1000 different errors detected. I'm not reporting any more. ==86478== Final error counts will be inaccurate. Go fix your program! ==86478== Rerun with --error-limit=no to disable this cutoff. Note ==86478== that errors may occur in your program without prior warning from ==86478== Valgrind, because errors are no longer being displayed. ==86478== ==86478== ==86478== HEAP SUMMARY: ==86478== in use at exit: 3,162,383 bytes in 18,810 blocks ==86478== total heap usage: 59,898 allocs, 41,088 frees, 37,625,107 bytes allocated ==86478== ==86478== LEAK SUMMARY: ==86478== definitely lost: 799,384 bytes in 6,291 blocks ==86478== indirectly lost: 988,865 bytes in 11,588 blocks ==86478== possibly lost: 4,488 bytes in 30 blocks ==86478== still reachable: 1,369,646 bytes in 901 blocks ==86478== suppressed: 0 bytes in 0 blocks ==86478== Rerun with --leak-check=full to see details of leaked memory ==86478== ==86478== Use --track-origins=yes to see where uninitialised values come from ==86478== For lists of detected and suppressed errors, rerun with: -s ==86478== ERROR SUMMARY: 106476 errors from 1000 contexts (suppressed: 0 from 0)