Skip to content

Instantly share code, notes, and snippets.

@dogbert17
Created November 8, 2017 15:33
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/3a7a6dbaa5cc474275d47a47a5a7e49c to your computer and use it in GitHub Desktop.
Save dogbert17/3a7a6dbaa5cc474275d47a47a5a7e49c to your computer and use it in GitHub Desktop.
Valgrind run of test 62 in t/spec/S17-supply/syntax.t
dogbert@dogbert-VirtualBox ~/repos/rakudo $ cat ~/scratch.pl6
use Test;
{
my atomicint $total = 0;
sub test-close($val) {
supply {
whenever Supply.interval(0.01) { }
CLOSE {
$total ⚛+= $val;
}
}
}
await do for ^4 {
start for ^1000 {
test-close($_).tap.close;
}
}
is $total, 4 * (^1000).sum, 'CLOSE phaser sees correct outer scope';
}
dogbert@dogbert-VirtualBox ~/repos/rakudo $ ./perl6-valgrind-m ~/scratch.pl6
================================================================================================
This is Rakudo Perl 6 running in valgrind, a tool for debugging and profiling programs.
Running a program in valgrind usually takes *a lot* more time than running it directly,
so please be patient.
Valgrind options can be added with MVM_VALGRIND_OPTS environment variable.
This Rakudo version is 2017.10.145.gb.0.cda.5909 built on MoarVM version 2017.10.57.gd.257.df.23,
running on ubuntu (14.04.3.LTS.Trusty.Tahr) / linux (3.19.0.32.generic)
------------------------------------------------------------------------------------------------
==13047== Memcheck, a memory error detector
==13047== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==13047== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==13047== Command: /home/dogbert/repos/rakudo/nqp/MoarVM/../../install/bin/moar --execname=./perl6-valgrind-m --libpath=. --libpath=blib --libpath=/home/dogbert/repos/rakudo/install/share/nqp/lib --libpath=/home/dogbert/repos/rakudo/install/share/nqp/lib /home/dogbert/repos/rakudo/perl6.moarvm --nqp-lib=blib /home/dogbert/scratch.pl6
==13047==
==13047== Thread 6:
==13047== Invalid write of size 4
==13047== at 0x420C8E9: uv_timer_init (timer.c:55)
==13047== by 0x41449EA: setup (timers.c:23)
==13047== by 0x413BFD2: setup_work (eventloop.c:18)
==13047== by 0x413C272: async_handler (eventloop.c:63)
==13047== by 0x41FFF4C: uv__async_io (async.c:118)
==13047== by 0x41FC30B: uv__io_poll (linux-core.c:400)
==13047== by 0x4200852: uv_run (in /home/dogbert/repos/rakudo/install/lib/libmoar.so)
==13047== by 0x413C32E: enter_loop (eventloop.c:83)
==13047== by 0x4158B0A: invoke_handler (MVMCFunction.c:9)
==13047== by 0x4116732: thread_initial_invoke (threads.c:59)
==13047== by 0x40E0C90: MVM_interp_run (interp.c:93)
==13047== by 0x41167E3: start_thread (threads.c:85)
==13047== Address 0x8ee8e90 is 24 bytes inside a block of size 104 free'd
==13047== at 0x402B3D8: free (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==13047== by 0x41448B3: MVM_free (alloc.h:40)
==13047== by 0x4144AD6: gc_free (timers.c:42)
==13047== by 0x417A66C: gc_free (MVMAsyncTask.c:44)
==13047== by 0x4136DD3: MVM_gc_collect_free_nursery_uncopied (collect.c:609)
==13047== by 0x4130D85: finish_gc (orchestrate.c:230)
==13047== by 0x41311E3: run_gc (orchestrate.c:373)
==13047== by 0x41315BC: MVM_gc_enter_from_allocator (orchestrate.c:486)
==13047== by 0x4131A11: MVM_gc_allocate_nursery (allocation.c:32)
==13047== by 0x4131926: MVM_gc_allocate (allocation.h:13)
==13047== by 0x4131A79: MVM_gc_allocate_zeroed (allocation.c:49)
==13047== by 0x4131CC2: MVM_gc_allocate_frame (allocation.c:99)
==13047==
==13047== Conditional jump or move depends on uninitialised value(s)
==13047== at 0x420C924: uv_timer_stop (timer.c:94)
==13047== by 0x4144A7D: cancel (timers.c:33)
==13047== by 0x413C1FA: cancel_work (eventloop.c:49)
==13047== by 0x413C288: async_handler (eventloop.c:65)
==13047== by 0x41FFF4C: uv__async_io (async.c:118)
==13047== by 0x41FC30B: uv__io_poll (linux-core.c:400)
==13047== by 0x4200852: uv_run (in /home/dogbert/repos/rakudo/install/lib/libmoar.so)
==13047== by 0x413C32E: enter_loop (eventloop.c:83)
==13047== by 0x4158B0A: invoke_handler (MVMCFunction.c:9)
==13047== by 0x4116732: thread_initial_invoke (threads.c:59)
==13047== by 0x40E0C90: MVM_interp_run (interp.c:93)
==13047== by 0x41167E3: start_thread (threads.c:85)
==13047==
==13047== Conditional jump or move depends on uninitialised value(s)
==13047== at 0x413C9F3: MVM_io_eventloop_get_active_work (eventloop.c:226)
==13047== by 0x4144A92: cancel (timers.c:34)
==13047== by 0x413C1FA: cancel_work (eventloop.c:49)
==13047== by 0x413C288: async_handler (eventloop.c:65)
==13047== by 0x41FFF4C: uv__async_io (async.c:118)
==13047== by 0x41FC30B: uv__io_poll (linux-core.c:400)
==13047== by 0x4200852: uv_run (in /home/dogbert/repos/rakudo/install/lib/libmoar.so)
==13047== by 0x413C32E: enter_loop (eventloop.c:83)
==13047== by 0x4158B0A: invoke_handler (MVMCFunction.c:9)
==13047== by 0x4116732: thread_initial_invoke (threads.c:59)
==13047== by 0x40E0C90: MVM_interp_run (interp.c:93)
==13047== by 0x41167E3: start_thread (threads.c:85)
==13047==
==13047== Conditional jump or move depends on uninitialised value(s)
==13047== at 0x413CA20: MVM_io_eventloop_get_active_work (eventloop.c:226)
==13047== by 0x4144A92: cancel (timers.c:34)
==13047== by 0x413C1FA: cancel_work (eventloop.c:49)
==13047== by 0x413C288: async_handler (eventloop.c:65)
==13047== by 0x41FFF4C: uv__async_io (async.c:118)
==13047== by 0x41FC30B: uv__io_poll (linux-core.c:400)
==13047== by 0x4200852: uv_run (in /home/dogbert/repos/rakudo/install/lib/libmoar.so)
==13047== by 0x413C32E: enter_loop (eventloop.c:83)
==13047== by 0x4158B0A: invoke_handler (MVMCFunction.c:9)
==13047== by 0x4116732: thread_initial_invoke (threads.c:59)
==13047== by 0x40E0C90: MVM_interp_run (interp.c:93)
==13047== by 0x41167E3: start_thread (threads.c:85)
==13047==
==13047== Conditional jump or move depends on uninitialised value(s)
==13047== at 0x413CA24: MVM_io_eventloop_get_active_work (eventloop.c:226)
==13047== by 0x4144A92: cancel (timers.c:34)
==13047== by 0x413C1FA: cancel_work (eventloop.c:49)
==13047== by 0x413C288: async_handler (eventloop.c:65)
==13047== by 0x41FFF4C: uv__async_io (async.c:118)
==13047== by 0x41FC30B: uv__io_poll (linux-core.c:400)
==13047== by 0x4200852: uv_run (in /home/dogbert/repos/rakudo/install/lib/libmoar.so)
==13047== by 0x413C32E: enter_loop (eventloop.c:83)
==13047== by 0x4158B0A: invoke_handler (MVMCFunction.c:9)
==13047== by 0x4116732: thread_initial_invoke (threads.c:59)
==13047== by 0x40E0C90: MVM_interp_run (interp.c:93)
==13047== by 0x41167E3: start_thread (threads.c:85)
==13047==
==13047== Conditional jump or move depends on uninitialised value(s)
==13047== at 0x413CA28: MVM_io_eventloop_get_active_work (eventloop.c:226)
==13047== by 0x4144A92: cancel (timers.c:34)
==13047== by 0x413C1FA: cancel_work (eventloop.c:49)
==13047== by 0x413C288: async_handler (eventloop.c:65)
==13047== by 0x41FFF4C: uv__async_io (async.c:118)
==13047== by 0x41FC30B: uv__io_poll (linux-core.c:400)
==13047== by 0x4200852: uv_run (in /home/dogbert/repos/rakudo/install/lib/libmoar.so)
==13047== by 0x413C32E: enter_loop (eventloop.c:83)
==13047== by 0x4158B0A: invoke_handler (MVMCFunction.c:9)
==13047== by 0x4116732: thread_initial_invoke (threads.c:59)
==13047== by 0x40E0C90: MVM_interp_run (interp.c:93)
==13047== by 0x41167E3: start_thread (threads.c:85)
==13047==
MoarVM panic: ==13047== Use of uninitialised value of size 4
==13047== at 0x45A121B: _itoa_word (_itoa.c:179)
==13047== by 0x45A4928: vfprintf (vfprintf.c:1660)
==13047== by 0x45A669A: buffered_vfprintf (vfprintf.c:2356)
==13047== by 0x45A19E4: vfprintf (vfprintf.c:1313)
==13047== by 0x40DFA7D: MVM_panic (exceptions.c:684)
==13047== by 0x413CA9F: MVM_io_eventloop_get_active_work (eventloop.c:233)
==13047== by 0x4144A92: cancel (timers.c:34)
==13047== by 0x413C1FA: cancel_work (eventloop.c:49)
==13047== by 0x413C288: async_handler (eventloop.c:65)
==13047== by 0x41FFF4C: uv__async_io (async.c:118)
==13047== by 0x41FC30B: uv__io_poll (linux-core.c:400)
==13047== by 0x4200852: uv_run (in /home/dogbert/repos/rakudo/install/lib/libmoar.so)
==13047==
==13047== Conditional jump or move depends on uninitialised value(s)
==13047== at 0x45A1223: _itoa_word (_itoa.c:179)
==13047== by 0x45A4928: vfprintf (vfprintf.c:1660)
==13047== by 0x45A669A: buffered_vfprintf (vfprintf.c:2356)
==13047== by 0x45A19E4: vfprintf (vfprintf.c:1313)
==13047== by 0x40DFA7D: MVM_panic (exceptions.c:684)
==13047== by 0x413CA9F: MVM_io_eventloop_get_active_work (eventloop.c:233)
==13047== by 0x4144A92: cancel (timers.c:34)
==13047== by 0x413C1FA: cancel_work (eventloop.c:49)
==13047== by 0x413C288: async_handler (eventloop.c:65)
==13047== by 0x41FFF4C: uv__async_io (async.c:118)
==13047== by 0x41FC30B: uv__io_poll (linux-core.c:400)
==13047== by 0x4200852: uv_run (in /home/dogbert/repos/rakudo/install/lib/libmoar.so)
==13047==
==13047== Conditional jump or move depends on uninitialised value(s)
==13047== at 0x45A1ECE: vfprintf (vfprintf.c:1660)
==13047== by 0x45A669A: buffered_vfprintf (vfprintf.c:2356)
==13047== by 0x45A19E4: vfprintf (vfprintf.c:1313)
==13047== by 0x40DFA7D: MVM_panic (exceptions.c:684)
==13047== by 0x413CA9F: MVM_io_eventloop_get_active_work (eventloop.c:233)
==13047== by 0x4144A92: cancel (timers.c:34)
==13047== by 0x413C1FA: cancel_work (eventloop.c:49)
==13047== by 0x413C288: async_handler (eventloop.c:65)
==13047== by 0x41FFF4C: uv__async_io (async.c:118)
==13047== by 0x41FC30B: uv__io_poll (linux-core.c:400)
==13047== by 0x4200852: uv_run (in /home/dogbert/repos/rakudo/install/lib/libmoar.so)
==13047== by 0x413C32E: enter_loop (eventloop.c:83)
==13047==
==13047== Conditional jump or move depends on uninitialised value(s)
==13047== at 0x45A1F3B: vfprintf (vfprintf.c:1660)
==13047== by 0x45A669A: buffered_vfprintf (vfprintf.c:2356)
==13047== by 0x45A19E4: vfprintf (vfprintf.c:1313)
==13047== by 0x40DFA7D: MVM_panic (exceptions.c:684)
==13047== by 0x413CA9F: MVM_io_eventloop_get_active_work (eventloop.c:233)
==13047== by 0x4144A92: cancel (timers.c:34)
==13047== by 0x413C1FA: cancel_work (eventloop.c:49)
==13047== by 0x413C288: async_handler (eventloop.c:65)
==13047== by 0x41FFF4C: uv__async_io (async.c:118)
==13047== by 0x41FC30B: uv__io_poll (linux-core.c:400)
==13047== by 0x4200852: uv_run (in /home/dogbert/repos/rakudo/install/lib/libmoar.so)
==13047== by 0x413C32E: enter_loop (eventloop.c:83)
==13047==
==13047== Conditional jump or move depends on uninitialised value(s)
==13047== at 0x45A5C66: vfprintf (vfprintf.c:1660)
==13047== by 0x45A669A: buffered_vfprintf (vfprintf.c:2356)
==13047== by 0x45A19E4: vfprintf (vfprintf.c:1313)
==13047== by 0x40DFA7D: MVM_panic (exceptions.c:684)
==13047== by 0x413CA9F: MVM_io_eventloop_get_active_work (eventloop.c:233)
==13047== by 0x4144A92: cancel (timers.c:34)
==13047== by 0x413C1FA: cancel_work (eventloop.c:49)
==13047== by 0x413C288: async_handler (eventloop.c:65)
==13047== by 0x41FFF4C: uv__async_io (async.c:118)
==13047== by 0x41FC30B: uv__io_poll (linux-core.c:400)
==13047== by 0x4200852: uv_run (in /home/dogbert/repos/rakudo/install/lib/libmoar.so)
==13047== by 0x413C32E: enter_loop (eventloop.c:83)
==13047==
==13047== Conditional jump or move depends on uninitialised value(s)
==13047== at 0x45A1F84: vfprintf (vfprintf.c:1660)
==13047== by 0x45A669A: buffered_vfprintf (vfprintf.c:2356)
==13047== by 0x45A19E4: vfprintf (vfprintf.c:1313)
==13047== by 0x40DFA7D: MVM_panic (exceptions.c:684)
==13047== by 0x413CA9F: MVM_io_eventloop_get_active_work (eventloop.c:233)
==13047== by 0x4144A92: cancel (timers.c:34)
==13047== by 0x413C1FA: cancel_work (eventloop.c:49)
==13047== by 0x413C288: async_handler (eventloop.c:65)
==13047== by 0x41FFF4C: uv__async_io (async.c:118)
==13047== by 0x41FC30B: uv__io_poll (linux-core.c:400)
==13047== by 0x4200852: uv_run (in /home/dogbert/repos/rakudo/install/lib/libmoar.so)
==13047== by 0x413C32E: enter_loop (eventloop.c:83)
==13047==
==13047== Conditional jump or move depends on uninitialised value(s)
==13047== at 0x45A1FBD: vfprintf (vfprintf.c:1660)
==13047== by 0x45A669A: buffered_vfprintf (vfprintf.c:2356)
==13047== by 0x45A19E4: vfprintf (vfprintf.c:1313)
==13047== by 0x40DFA7D: MVM_panic (exceptions.c:684)
==13047== by 0x413CA9F: MVM_io_eventloop_get_active_work (eventloop.c:233)
==13047== by 0x4144A92: cancel (timers.c:34)
==13047== by 0x413C1FA: cancel_work (eventloop.c:49)
==13047== by 0x413C288: async_handler (eventloop.c:65)
==13047== by 0x41FFF4C: uv__async_io (async.c:118)
==13047== by 0x41FC30B: uv__io_poll (linux-core.c:400)
==13047== by 0x4200852: uv_run (in /home/dogbert/repos/rakudo/install/lib/libmoar.so)
==13047== by 0x413C32E: enter_loop (eventloop.c:83)
==13047==
use of invalid eventloop work item index 174529680
==13047==
==13047== HEAP SUMMARY:
==13047== in use at exit: 88,638,459 bytes in 265,140 blocks
==13047== total heap usage: 562,280 allocs, 297,140 frees, 191,820,981 bytes allocated
==13047==
==13047== LEAK SUMMARY:
==13047== definitely lost: 55,254 bytes in 3,211 blocks
==13047== indirectly lost: 152 bytes in 12 blocks
==13047== possibly lost: 217,852 bytes in 6,794 blocks
==13047== still reachable: 88,365,201 bytes in 255,123 blocks
==13047== suppressed: 0 bytes in 0 blocks
==13047== Rerun with --leak-check=full to see details of leaked memory
==13047==
==13047== For counts of detected and suppressed errors, rerun with: -v
==13047== Use --track-origins=yes to see where uninitialised values come from
==13047== ERROR SUMMARY: 31 errors from 13 contexts (suppressed: 0 from 0)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment