Skip to content

Instantly share code, notes, and snippets.

@morenocarullo
Created September 6, 2012 10:20
Show Gist options
  • Save morenocarullo/3654435 to your computer and use it in GitHub Desktop.
Save morenocarullo/3654435 to your computer and use it in GitHub Desktop.
Valgrind + Ruby 1.9.3 on Ubuntu 12.04
moreno@darwin:~/progetti/java_bin$ valgrind --partial-loads-ok=yes --undef-value-errors=no ruby -I'lib:test:ext' test/test_valgrind_check.rb
==6535== Memcheck, a memory error detector
==6535== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==6535== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==6535== Command: ruby -Ilib:test:ext test/test_valgrind_check.rb
==6535==
==6535== Invalid read of size 4
==6535== at 0x4E861D3: glob_helper (dir.c:1139)
==6535== by 0x4E86B0B: ruby_glob0 (dir.c:1516)
==6535== by 0x4E87194: rb_push_glob (dir.c:1655)
==6535== by 0x4FA7750: vm_call_method (vm_insnhelper.c:404)
==6535== by 0x4F9E3F5: vm_exec_core (insns.def:1899)
==6535== by 0x4FA38A9: vm_exec (vm.c:1220)
==6535== by 0x4FA8EB6: rb_yield (vm.c:654)
==6535== by 0x4E5DE41: rb_ary_each (array.c:1478)
==6535== by 0x4FA7750: vm_call_method (vm_insnhelper.c:404)
==6535== by 0x4F9D418: vm_exec_core (insns.def:1015)
==6535== by 0x4FA38A9: vm_exec (vm.c:1220)
==6535== by 0x4FA4D52: vm_call0 (vm_eval.c:66)
==6535== Address 0x71e5914 is 52 bytes inside a block of size 53 alloc'd
==6535== at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6535== by 0x4E85F0F: glob_helper (dir.c:1445)
==6535== by 0x4E86B0B: ruby_glob0 (dir.c:1516)
==6535== by 0x4E87194: rb_push_glob (dir.c:1655)
==6535== by 0x4FA7750: vm_call_method (vm_insnhelper.c:404)
==6535== by 0x4F9E3F5: vm_exec_core (insns.def:1899)
==6535== by 0x4FA38A9: vm_exec (vm.c:1220)
==6535== by 0x4FA8EB6: rb_yield (vm.c:654)
==6535== by 0x4E5DE41: rb_ary_each (array.c:1478)
==6535== by 0x4FA7750: vm_call_method (vm_insnhelper.c:404)
==6535== by 0x4F9D418: vm_exec_core (insns.def:1015)
==6535== by 0x4FA38A9: vm_exec (vm.c:1220)
==6535==
==6535== Invalid read of size 4
==6535== at 0x4E85FCC: glob_helper (dir.c:1252)
==6535== by 0x4E86B0B: ruby_glob0 (dir.c:1516)
==6535== by 0x4E87194: rb_push_glob (dir.c:1655)
==6535== by 0x4FA7750: vm_call_method (vm_insnhelper.c:404)
==6535== by 0x4F9E3F5: vm_exec_core (insns.def:1899)
==6535== by 0x4FA38A9: vm_exec (vm.c:1220)
==6535== by 0x4FA8EB6: rb_yield (vm.c:654)
==6535== by 0x4E5DE41: rb_ary_each (array.c:1478)
==6535== by 0x4FA7750: vm_call_method (vm_insnhelper.c:404)
==6535== by 0x4F9D418: vm_exec_core (insns.def:1015)
==6535== by 0x4FA38A9: vm_exec (vm.c:1220)
==6535== by 0x4FA4D52: vm_call0 (vm_eval.c:66)
==6535== Address 0x71e5914 is 52 bytes inside a block of size 53 alloc'd
==6535== at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6535== by 0x4E85F0F: glob_helper (dir.c:1445)
==6535== by 0x4E86B0B: ruby_glob0 (dir.c:1516)
==6535== by 0x4E87194: rb_push_glob (dir.c:1655)
==6535== by 0x4FA7750: vm_call_method (vm_insnhelper.c:404)
==6535== by 0x4F9E3F5: vm_exec_core (insns.def:1899)
==6535== by 0x4FA38A9: vm_exec (vm.c:1220)
==6535== by 0x4FA8EB6: rb_yield (vm.c:654)
==6535== by 0x4E5DE41: rb_ary_each (array.c:1478)
==6535== by 0x4FA7750: vm_call_method (vm_insnhelper.c:404)
==6535== by 0x4F9D418: vm_exec_core (insns.def:1015)
==6535== by 0x4FA38A9: vm_exec (vm.c:1220)
==6535==
Run options:
# Running tests:
.
Finished tests in 0.023153s, 43.1901 tests/s, 0.0000 assertions/s.
1 tests, 0 assertions, 0 failures, 0 errors, 0 skips
==6535==
==6535== HEAP SUMMARY:
==6535== in use at exit: 4,600,827 bytes in 47,286 blocks
==6535== total heap usage: 211,715 allocs, 164,429 frees, 71,285,417 bytes allocated
==6535==
==6535== LEAK SUMMARY:
==6535== definitely lost: 2,293,692 bytes in 9,107 blocks
==6535== indirectly lost: 1,588,699 bytes in 24,401 blocks
==6535== possibly lost: 24,649 bytes in 94 blocks
==6535== still reachable: 693,787 bytes in 13,684 blocks
==6535== suppressed: 0 bytes in 0 blocks
==6535== Rerun with --leak-check=full to see details of leaked memory
==6535==
==6535== For counts of detected and suppressed errors, rerun with: -v
==6535== ERROR SUMMARY: 4 errors from 2 contexts (suppressed: 0 from 0)
moreno@darwin:~/progetti/java_bin$
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment