[DRE-maint] Bug#1095467: ruby3.3: ruby has too many valgrind errors which makes debugging ruby libraries difficult

Russell Coker russell at coker.com.au
Sat Feb 8 08:52:37 GMT 2025


Package: ruby3.3
Version: 3.3.7-1
Severity: normal

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)

-- System Information:
Debian Release: trixie/sid
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.12.12-amd64 (SMP w/18 CPU threads; PREEMPT)
Kernel taint flags: TAINT_CPU_OUT_OF_SPEC
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: unable to detect

Versions of packages ruby3.3 depends on:
ii  libc6                 2.40-6
ii  libcrypt1             1:4.4.38-1
ii  libgmp10              2:6.3.0+dfsg-3
ii  libruby3.3            3.3.7-1
ii  rubygems-integration  1.19
ii  zlib1g                1:1.3.dfsg+really1.3.1-1+b1

Versions of packages ruby3.3 recommends:
pn  fonts-lato    <none>
ii  libjs-jquery  3.6.1+dfsg+~3.5.14-1

ruby3.3 suggests no packages.

-- debconf-show failed



More information about the Pkg-ruby-extras-maintainers mailing list