Created
September 29, 2014 05:50
-
-
Save jer/882015c81a39984f107a to your computer and use it in GitHub Desktop.
Valgrind before fix
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
> cat test.rb | |
require 'chess' | |
game = Chess::Game.new | |
puts game.to_s | |
> valgrind --partial-loads-ok=yes --undef-value-errors=no ruby test.rb | |
==55403== Memcheck, a memory error detector | |
==55403== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al. | |
==55403== Using Valgrind-3.10.0 and LibVEX; rerun with -h for copyright info | |
==55403== Command: ruby test.rb | |
==55403== | |
--55403-- /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby: | |
--55403-- dSYM directory is missing; consider using --dsymutil=yes | |
UNKNOWN __pthread_sigmask is unsupported. This warning will not be repeated. | |
==55403== Warning: ignored attempt to set SIGUSR2 handler in sigaction(); | |
==55403== the SIGUSR2 signal is used internally by Valgrind | |
--55403-- /Users/jer/.rvm/gems/ruby-2.1.0/gems/chess-0.0.4/ext/chess.bundle: | |
--55403-- dSYM directory is missing; consider using --dsymutil=yes | |
==55403== Invalid write of size 1 | |
==55403== at 0xAC21E4: vsprintf_l (in /usr/lib/system/libsystem_c.dylib) | |
==55403== by 0xAEFD4A: __sprintf_chk (in /usr/lib/system/libsystem_c.dylib) | |
==55403== by 0xD31E9B: print_board (in /Users/jer/.rvm/gems/ruby-2.1.0/gems/chess-0.0.4/ext/chess.bundle) | |
==55403== by 0xD346BC: game_to_s (in /Users/jer/.rvm/gems/ruby-2.1.0/gems/chess-0.0.4/ext/chess.bundle) | |
==55403== by 0x1002E8B4A: vm_call_cfunc (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0x1002E848F: vm_call_method (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0x1002D1D34: vm_exec_core (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0x1002DEFCE: vm_exec (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0x1002DFEB7: rb_iseq_eval_main (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0x1001BA9C3: ruby_exec_internal (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0x1001BA8ED: ruby_run_node (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0x100000C8E: main (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== Address 0x101d43fda is 0 bytes after a block of size 250 alloc'd | |
==55403== at 0x66CB: malloc (in /usr/local/Cellar/valgrind/3.10.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so) | |
==55403== by 0xD31CA0: print_board (in /Users/jer/.rvm/gems/ruby-2.1.0/gems/chess-0.0.4/ext/chess.bundle) | |
==55403== by 0xD346BC: game_to_s (in /Users/jer/.rvm/gems/ruby-2.1.0/gems/chess-0.0.4/ext/chess.bundle) | |
==55403== by 0x1002E8B4A: vm_call_cfunc (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0x1002E848F: vm_call_method (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0x1002D1D34: vm_exec_core (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0x1002DEFCE: vm_exec (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0x1002DFEB7: rb_iseq_eval_main (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0x1001BA9C3: ruby_exec_internal (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0x1001BA8ED: ruby_run_node (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0x100000C8E: main (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== | |
==55403== Invalid read of size 1 | |
==55403== at 0x7E9A: strlen (in /usr/local/Cellar/valgrind/3.10.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so) | |
==55403== by 0x100280B15: rb_str_new_cstr (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0xD346C7: game_to_s (in /Users/jer/.rvm/gems/ruby-2.1.0/gems/chess-0.0.4/ext/chess.bundle) | |
==55403== by 0x1002E8B4A: vm_call_cfunc (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0x1002E848F: vm_call_method (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0x1002D1D34: vm_exec_core (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0x1002DEFCE: vm_exec (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0x1002DFEB7: rb_iseq_eval_main (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0x1001BA9C3: ruby_exec_internal (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0x1001BA8ED: ruby_run_node (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0x100000C8E: main (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== Address 0x101d43fda is 0 bytes after a block of size 250 alloc'd | |
==55403== at 0x66CB: malloc (in /usr/local/Cellar/valgrind/3.10.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so) | |
==55403== by 0xD31CA0: print_board (in /Users/jer/.rvm/gems/ruby-2.1.0/gems/chess-0.0.4/ext/chess.bundle) | |
==55403== by 0xD346BC: game_to_s (in /Users/jer/.rvm/gems/ruby-2.1.0/gems/chess-0.0.4/ext/chess.bundle) | |
==55403== by 0x1002E8B4A: vm_call_cfunc (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0x1002E848F: vm_call_method (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0x1002D1D34: vm_exec_core (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0x1002DEFCE: vm_exec (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0x1002DFEB7: rb_iseq_eval_main (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0x1001BA9C3: ruby_exec_internal (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0x1001BA8ED: ruby_run_node (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== by 0x100000C8E: main (in /Users/jer/.rvm/rubies/ruby-2.1.0/bin/ruby) | |
==55403== | |
8 r n b q k b n r | |
7 p p p p p p p p | |
6 . . . . . . . . | |
5 . . . . . . . . | |
4 . . . . . . . . | |
3 . . . . . . . . | |
2 P P P P P P P P | |
1 R N B Q K B N R | |
a b c d e f g h | |
==55403== | |
==55403== HEAP SUMMARY: | |
==55403== in use at exit: 2,542,639 bytes in 29,078 blocks | |
==55403== total heap usage: 67,756 allocs, 38,678 frees, 15,090,786 bytes allocated | |
==55403== | |
==55403== LEAK SUMMARY: | |
==55403== definitely lost: 239,980 bytes in 1,556 blocks | |
==55403== indirectly lost: 641,892 bytes in 11,924 blocks | |
==55403== possibly lost: 951,081 bytes in 4,519 blocks | |
==55403== still reachable: 673,794 bytes in 10,702 blocks | |
==55403== suppressed: 35,892 bytes in 377 blocks | |
==55403== Rerun with --leak-check=full to see details of leaked memory | |
==55403== | |
==55403== For counts of detected and suppressed errors, rerun with: -v | |
==55403== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment