Skip to content

Instantly share code, notes, and snippets.

@dogbert17
Created April 8, 2018 16:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dogbert17/8cfbb94b35929a8ce1d957f0fdd96cbb to your computer and use it in GitHub Desktop.
Save dogbert17/8cfbb94b35929a8ce1d957f0fdd96cbb to your computer and use it in GitHub Desktop.
nwc10's example through valgrind
dogbert@dogbert-VirtualBox ~/repos/rakudo/nqp $ valgrind /home/dogbert/repos/rakudo/install/bin/moar nqp.moarvm t/p5regex/01-p5regex.t
==5706== Memcheck, a memory error detector
==5706== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==5706== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
==5706== Command: /home/dogbert/repos/rakudo/install/bin/moar nqp.moarvm t/p5regex/01-p5regex.t
==5706==
# file: rx_basic
ok 1 - basic literal
ok 2 - basic multichar literal
ok 3 - basic dot
ok 4 - basic multidot
ok 5 - dot in mid pattern
ok 6 - failed literal match
ok 7 - failed literal match
ok 8 - failed dot match
ok 9 - scanning match
# done with file rx_basic
# file: rx_quantifiers
ok 10 - star 2+
ok 11 - star 1
ok 12 - star 0
ok 13 - star 2+
ok 14 - star 1
ok 15 - star 0
ok 16 - plus 2+
ok 17 - plus 1
==5706== Conditional jump or move depends on uninitialised value(s)
==5706== at 0x4C324BD: memcpy@@GLIBC_2.14 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==5706== by 0x50340CE: memcpy (string3.h:53)
==5706== by 0x50340CE: MVM_fixed_size_realloc_at_safepoint (fixedsizealloc.c:234)
==5706== by 0x50866E9: MVM_sc_add_all_scs_entry (sc.c:71)
==5706== by 0x5086B0F: MVM_sc_create (sc.c:11)
==5706== by 0x50051FC: MVM_interp_run (interp.c:3023)
==5706== by 0x50F8553: MVM_vm_run_file (moar.c:407)
==5706== by 0x40121A: main (main.c:299)
==5706==
==5706== Conditional jump or move depends on uninitialised value(s)
==5706== at 0x4C324C3: memcpy@@GLIBC_2.14 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==5706== by 0x50340CE: memcpy (string3.h:53)
==5706== by 0x50340CE: MVM_fixed_size_realloc_at_safepoint (fixedsizealloc.c:234)
==5706== by 0x50866E9: MVM_sc_add_all_scs_entry (sc.c:71)
==5706== by 0x5086B0F: MVM_sc_create (sc.c:11)
==5706== by 0x50051FC: MVM_interp_run (interp.c:3023)
==5706== by 0x50F8553: MVM_vm_run_file (moar.c:407)
==5706== by 0x40121A: main (main.c:299)
==5706==
==5706== Conditional jump or move depends on uninitialised value(s)
==5706== at 0x4C324D1: memcpy@@GLIBC_2.14 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==5706== by 0x50340CE: memcpy (string3.h:53)
==5706== by 0x50340CE: MVM_fixed_size_realloc_at_safepoint (fixedsizealloc.c:234)
==5706== by 0x50866E9: MVM_sc_add_all_scs_entry (sc.c:71)
==5706== by 0x5086B0F: MVM_sc_create (sc.c:11)
==5706== by 0x50051FC: MVM_interp_run (interp.c:3023)
==5706== by 0x50F8553: MVM_vm_run_file (moar.c:407)
==5706== by 0x40121A: main (main.c:299)
==5706==
==5706== Conditional jump or move depends on uninitialised value(s)
==5706== at 0x4C3251E: memcpy@@GLIBC_2.14 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==5706== by 0x50340CE: memcpy (string3.h:53)
==5706== by 0x50340CE: MVM_fixed_size_realloc_at_safepoint (fixedsizealloc.c:234)
==5706== by 0x50866E9: MVM_sc_add_all_scs_entry (sc.c:71)
==5706== by 0x5086B0F: MVM_sc_create (sc.c:11)
==5706== by 0x50051FC: MVM_interp_run (interp.c:3023)
==5706== by 0x50F8553: MVM_vm_run_file (moar.c:407)
==5706== by 0x40121A: main (main.c:299)
==5706==
==5706== Conditional jump or move depends on uninitialised value(s)
==5706== at 0x4C32678: memcpy@@GLIBC_2.14 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==5706== by 0x50340CE: memcpy (string3.h:53)
==5706== by 0x50340CE: MVM_fixed_size_realloc_at_safepoint (fixedsizealloc.c:234)
==5706== by 0x50866E9: MVM_sc_add_all_scs_entry (sc.c:71)
==5706== by 0x5086B0F: MVM_sc_create (sc.c:11)
==5706== by 0x50051FC: MVM_interp_run (interp.c:3023)
==5706== by 0x50F8553: MVM_vm_run_file (moar.c:407)
==5706== by 0x40121A: main (main.c:299)
==5706==
==5706== Use of uninitialised value of size 8
==5706== at 0x4C326CB: memcpy@@GLIBC_2.14 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==5706== by 0x50340CE: memcpy (string3.h:53)
==5706== by 0x50340CE: MVM_fixed_size_realloc_at_safepoint (fixedsizealloc.c:234)
==5706== by 0x50866E9: MVM_sc_add_all_scs_entry (sc.c:71)
==5706== by 0x5086B0F: MVM_sc_create (sc.c:11)
==5706== by 0x50051FC: MVM_interp_run (interp.c:3023)
==5706== by 0x50F8553: MVM_vm_run_file (moar.c:407)
==5706== by 0x40121A: main (main.c:299)
==5706==
==5706== Invalid write of size 8
==5706== at 0x4C326CB: memcpy@@GLIBC_2.14 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==5706== by 0x50340CE: memcpy (string3.h:53)
==5706== by 0x50340CE: MVM_fixed_size_realloc_at_safepoint (fixedsizealloc.c:234)
==5706== by 0x50866E9: MVM_sc_add_all_scs_entry (sc.c:71)
==5706== by 0x5086B0F: MVM_sc_create (sc.c:11)
==5706== by 0x50051FC: MVM_interp_run (interp.c:3023)
==5706== by 0x50F8553: MVM_vm_run_file (moar.c:407)
==5706== by 0x40121A: main (main.c:299)
==5706== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==5706==
==5706==
==5706== Process terminating with default action of signal 11 (SIGSEGV)
==5706== Access not within mapped region at address 0x0
==5706== at 0x4C326CB: memcpy@@GLIBC_2.14 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==5706== by 0x50340CE: memcpy (string3.h:53)
==5706== by 0x50340CE: MVM_fixed_size_realloc_at_safepoint (fixedsizealloc.c:234)
==5706== by 0x50866E9: MVM_sc_add_all_scs_entry (sc.c:71)
==5706== by 0x5086B0F: MVM_sc_create (sc.c:11)
==5706== by 0x50051FC: MVM_interp_run (interp.c:3023)
==5706== by 0x50F8553: MVM_vm_run_file (moar.c:407)
==5706== by 0x40121A: main (main.c:299)
==5706== If you believe this happened as a result of a stack
==5706== overflow in your program's main thread (unlikely but
==5706== possible), you can try to increase the size of the
==5706== main thread stack using the --main-stacksize= flag.
==5706== The main thread stack size used in this run was 8388608.
==5706==
==5706== HEAP SUMMARY:
==5706== in use at exit: 23,322,537 bytes in 76,044 blocks
==5706== total heap usage: 264,385 allocs, 188,341 frees, 74,795,853 bytes allocated
==5706==
==5706== LEAK SUMMARY:
==5706== definitely lost: 520 bytes in 1 blocks
==5706== indirectly lost: 0 bytes in 0 blocks
==5706== possibly lost: 816,168 bytes in 14,572 blocks
==5706== still reachable: 22,505,849 bytes in 61,471 blocks
==5706== of which reachable via heuristic:
==5706== length64 : 510,144 bytes in 7,605 blocks
==5706== suppressed: 0 bytes in 0 blocks
==5706== Rerun with --leak-check=full to see details of leaked memory
==5706==
==5706== For counts of detected and suppressed errors, rerun with: -v
==5706== Use --track-origins=yes to see where uninitialised values come from
==5706== ERROR SUMMARY: 7 errors from 7 contexts (suppressed: 0 from 0)
Killed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment