Skip to content

Instantly share code, notes, and snippets.

@Xliff
Last active April 11, 2016 21:40
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 Xliff/9f451357e87542162b4b1a32cd30bc9f to your computer and use it in GitHub Desktop.
Save Xliff/9f451357e87542162b4b1a32cd30bc9f to your computer and use it in GitHub Desktop.

I am working on a set of NativeCall library bindings for Perl 6. Right now I am testing one set of them. If I run the tests, sometimes they complete with no issues:

$ perl6 -Ilib t/02-ogg-test.t
ok 1 - can create ogg_sync_state
ok 2 - can call ogg_sync_init
ok 3 - can create ogg_page
ok 4 - can call ogg_sync_pageout
ok 5 - can allocate buffer with ogg_sync_buffer
ok 6 - read first block successfully and called ogg_sync_wrote
ok 7 - ogg_page filled after 0 (<16) read loops
ok 8 - retrieved serial number -649167736 from ogg_page_serialno
ok 9 - ogg_page at beginning of bitstream
ok 10 - can create ogg_stream_state
ok 11 - can initialize ogg_stream
ok 12 - can write ogg_page to ogg_stream
1..12

However, without changing any code, I will get the following:

$ perl6 -Ilib t/02-ogg-test.t
ok 1 - can create ogg_sync_state
ok 2 - can call ogg_sync_init
ok 3 - can create ogg_page
ok 4 - can call ogg_sync_pageout
ok 5 - can allocate buffer with ogg_sync_buffer
ok 6 - read first block successfully and called ogg_sync_wrote
ok 7 - ogg_page filled after 0 (<16) read loops
ok 8 - retrieved serial number -649167736 from ogg_page_serialno
ok 9 - ogg_page at beginning of bitstream
ok 10 - can create ogg_stream_state
ok 11 - can initialize ogg_stream
*** Error in `/home/cbwood/.rakudobrew/moar-nom/install/bin/moar': corrupted double-linked list: 0x0c316330 ***
======= Backtrace: =========
/lib/i386-linux-gnu/i686/cmov/libc.so.6(+0x692ab)[0xb72ab2ab]
/lib/i386-linux-gnu/i686/cmov/libc.so.6(+0x6f4f7)[0xb72b14f7]
/lib/i386-linux-gnu/i686/cmov/libc.so.6(+0x71aab)[0xb72b3aab]
/lib/i386-linux-gnu/i686/cmov/libc.so.6(+0x7223a)[0xb72b423a]
/lib/i386-linux-gnu/i686/cmov/libc.so.6(realloc+0x10e)[0xb72b536e]
/home/cbwood/.rakudobrew/moar-nom/install/lib/libmoar.so(+0xd66b7)[0xb74ec6b7]
/home/cbwood/.rakudobrew/moar-nom/install/lib/libmoar.so(MVM_interp_run+0xa1be)[0xb74a37ce]
/home/cbwood/.rakudobrew/moar-nom/install/lib/libmoar.so(MVM_vm_run_file+0x9d)[0xb756b98d]
/home/cbwood/.rakudobrew/moar-nom/install/bin/moar[0x8048c53]
/lib/i386-linux-gnu/i686/cmov/libc.so.6(__libc_start_main+0xf7)[0xb725a527]
/home/cbwood/.rakudobrew/moar-nom/install/bin/moar[0x8048cad]
======= Memory map: ========
08048000-0804a000 r-xp 00000000 08:01 134563     /home/cbwood/.rakudobrew/moar-nom/install/bin/moar
0804a000-0804b000 rw-p 00001000 08:01 134563     /home/cbwood/.rakudobrew/moar-nom/install/bin/moar
099ea000-0ee39000 rw-p 00000000 00:00 0          [heap]
b5200000-b5221000 rw-p 00000000 00:00 0
b5221000-b5300000 ---p 00000000 00:00 0
b5307000-b5323000 r-xp 00000000 08:01 1044630    /lib/i386-linux-gnu/libgcc_s.so.1
b5323000-b5324000 rw-p 0001b000 08:01 1044630    /lib/i386-linux-gnu/libgcc_s.so.1
b5324000-b532b000 r-xp 00000000 08:01 789050     /usr/lib/i386-linux-gnu/libogg.so.0.8.2
b532b000-b532c000 r--p 00006000 08:01 789050     /usr/lib/i386-linux-gnu/libogg.so.0.8.2
b532c000-b532d000 rw-p 00007000 08:01 789050     /usr/lib/i386-linux-gnu/libogg.so.0.8.2
b532d000-b536e000 rw-p 00000000 00:00 0
b536e000-b53a2000 rw-p 00000000 00:00 0
b53a2000-b55df000 r--p 00000000 08:01 5476       /home/cbwood/projects/p6-audio-liboggvorbis/lib/.precomp/1FF3C6E4453EA39A79F918910E9867A667C62CEB.1460303366.91304/44/44135490DE79444E265213D35D4AF8B47BB31F74
b55df000-b5602000 r--p 00000000 08:01 5472       /home/cbwood/projects/p6-audio-liboggvorbis/lib/.precomp/1FF3C6E4453EA39A79F918910E9867A667C62CEB.1460303366.91304/24/24DD121B5B4774C04A7084827BFAD92199756E03
b5602000-b560c000 r--p 00000000 08:01 5470       /home/cbwood/projects/p6-audio-liboggvorbis/lib/.precomp/1FF3C6E4453EA39A79F918910E9867A667C62CEB.1460303366.91304/2A/2ACCA56EF5582D3ED623105F00BD76D7449263F7
b560c000-b5615000 r--p 00000000 08:01 5466       /home/cbwood/projects/p6-audio-liboggvorbis/lib/.precomp/1FF3C6E4453EA39A79F918910E9867A667C62CEB.1460303366.91304/FE/FE7156F9200E802D3DB8FA628CF91AD6B020539B
b5615000-b562c000 r--p 00000000 08:01 5463       /home/cbwood/projects/p6-audio-liboggvorbis/lib/.precomp/1FF3C6E4453EA39A79F918910E9867A667C62CEB.1460303366.91304/51/51E302443A2C8FF185ABC10CA1E5520EFEE885A1
b562c000-b5a2d000 rw-p 00000000 00:00 0
b5a2d000-b5a4f000 r--p 00000000 08:01 5461       /home/cbwood/projects/p6-audio-liboggvorbis/lib/.precomp/1FF3C6E4453EA39A79F918910E9867A667C62CEB.1460303366.91304/C7/C712FE6969F786C9380D643DF17E85D06868219E
b5a4f000-b5ae5000 rw-p 00000000 00:00 0
b5ae5000-b5b2f000 r--p 00000000 08:01 134645     /home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/Perl6/Metamodel.moarvm
b5b2f000-b5b5d000 r--p 00000000 08:01 134646     /home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/Perl6/BOOTSTRAP.moarvm
b5b7e000-b6669000 r--p 00000000 08:01 290693     /home/cbwood/.rakudobrew/moar-nom/install/share/perl6/runtime/CORE.setting.moarvm
b6669000-b6670000 r-xp 00000000 08:01 290698     /home/cbwood/.rakudobrew/moar-nom/install/share/perl6/runtime/dynext/libperl6_ops_moar.so
b6670000-b6671000 rw-p 00006000 08:01 290698     /home/cbwood/.rakudobrew/moar-nom/install/share/perl6/runtime/dynext/libperl6_ops_moar.so
b6671000-b6698000 r--p 00000000 08:01 134642     /home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/Perl6/Optimizer.moarvm
b6698000-b669e000 r--p 00000000 08:01 134644     /home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/Perl6/Compiler.moarvm
b669e000-b66e0000 rw-p 00000000 00:00 0
b66e0000-b672a000 r--p 00000000 08:01 134637     /home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/Perl6/World.moarvm
b672a000-b673a000 r--p 00000000 08:01 134640     /home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/Perl6/Ops.moarvm
b673a000-b674d000 r--p 00000000 08:01 134643     /home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/Perl6/Pod.moarvm
b674d000-b6831000 r--p 00000000 08:01 134641     /home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/Perl6/Actions.moarvm
b6831000-b686c000 r--p 00000000 08:01 134604     /home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/NQPP5QRegex.moarvm
b686c000-b6c1e000 r--p 00000000 08:01 134638     /home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/Perl6/Grammar.moarvm
b6c1e000-b6c39000 r--p 00000000 08:01 134598     /home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/MASTOps.moarvm
b6c39000-b6c46000 r--p 00000000 08:01 134599     /home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/MASTNodes.moarvm
b6c46000-b6cba000 r--p 00000000 08:01 134600     /home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/QAST.moarvm
b6cba000-b6d11000 r--p 00000000 08:01 134596     /home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/NQPHLL.moarvm
b6d11000-b6d29000 r--p 00000000 08:01 134594     /home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/QASTNode.moarvm
b6d29000-b6d4e000 r--p 00000000 08:01 134595     /home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/QRegex.moarvm
b6d4e000-b6db2000 r--p 00000000 08:01 134601     /home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/NQPP6QRegex.moarvm
b6db2000-b6dc6000 r--p 00000000 08:01 134591     /home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/nqpmo.moarvm
b6dc6000-b71c9000 rw-p 00000000 00:00 0
b71c9000-b71cc000 r-xp 00000000 08:01 1044577    /lib/i386-linux-gnu/i686/cmov/libdl-2.22.so
b71cc000-b71cd000 r--p 00002000 08:01 1044577    /lib/i386-linux-gnu/i686/cmov/libdl-2.22.so
b71cd000-b71ce000 rw-p 00003000 08:01 1044577    /lib/i386-linux-gnu/i686/cmov/libdl-2.22.so
b71ce000-b71d5000 r-xp 00000000 08:01 1044604    /lib/i386-linux-gnu/i686/cmov/librt-2.22.so
b71d5000-b71d6000 r--p 00006000 08:01 1044604    /lib/i386-linux-gnu/i686/cmov/librt-2.22.so
b71d6000-b71d7000 rw-p 00007000 08:01 1044604    /lib/i386-linux-gnu/i686/cmov/librt-2.22.so
b71d7000-b71f0000 r-xp 00000000 08:01 1044489    /lib/i386-linux-gnu/i686/cmov/libpthread-2.22.so
b71f0000-b71f1000 r--p 00018000 08:01 1044489    /lib/i386-linux-gnu/i686/cmov/libpthread-2.22.so
b71f1000-b71f2000 rw-p 00019000 08:01 1044489    /lib/i386-linux-gnu/i686/cmov/libpthread-2.22.so
b71f2000-b71f4000 rw-p 00000000 00:00 0
b71f4000-b7240000 r-xp 00000000 08:01 1044579    /lib/i386-linux-gnu/i686/cmov/libm-2.22.so
b7240000-b7241000 r--p 0004b000 08:01 1044579    /lib/i386-linux-gnu/i686/cmov/libm-2.22.so
b7241000-b7242000 rw-p 0004c000 08:01 1044579    /lib/i386-linux-gnu/i686/cmov/libm-2.22.so
b7242000-b73f3000 r-xp 00000000 08:01 1044542    /lib/i386-linux-gnu/i686/cmov/libc-2.22.so
b73f3000-b73f4000 ---p 001b1000 08:01 1044542    /lib/i386-linux-gnu/i686/cmov/libc-2.22.so
b73f4000-b73f6000 r--p 001b1000 08:01 1044542    /lib/i386-linux-gnu/i686/cmov/libc-2.22.so
b73f6000-b73f7000 rw-p 001b3000 08:01 1044542    /lib/i386-linux-gnu/i686/cmov/libc-2.22.so
b73f7000-b73fa000 rw-p 00000000 00:00 0
b73fe000-b73ff000 rw-p 00000000 00:00 0
b73ff000-b7404000 r--p 00000000 08:01 134635     /home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/Perl6/ModuleLoader.moarvm
b7404000-b7410000 r--p 00000000 08:01 134593     /home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/NQPCORE.setting.moarvm
b7410000-b7413000 r--p 00000000 08:01 134592     /home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib/ModuleLoader.moarvm
b7413000-b7416000 r--p 00000000 08:01 290695     /home/cbwood/.rakudobrew/moar-nom/install/share/perl6/runtime/perl6.moarvm
b7416000-b7735000 r-xp 00000000 08:01 134565     /home/cbwood/.rakudobrew/moar-nom/install/lib/libmoar.so
b7735000-b778d000 rw-p 0031f000 08:01 134565     /home/cbwood/.rakudobrew/moar-nom/install/lib/libmoar.so
b778d000-b7790000 rw-p 00000000 00:00 0
b7790000-b7792000 r--p 00000000 00:00 0          [vvar]
b7792000-b7793000 r-xp 00000000 00:00 0          [vdso]
b7793000-b77b4000 r-xp 00000000 08:01 1044750    /lib/i386-linux-gnu/ld-2.22.so
b77b4000-b77b5000 rw-p 00000000 00:00 0
b77b5000-b77b6000 r--p 00021000 08:01 1044750    /lib/i386-linux-gnu/ld-2.22.so
b77b6000-b77b7000 rw-p 00022000 08:01 1044750    /lib/i386-linux-gnu/ld-2.22.so
bfcdd000-bfcfc000 rwxp 00000000 00:00 0          [stack]
bfcfc000-bfcfe000 rw-p 00000000 00:00 0
Aborted

So I am writing this gist to see if this is something I'm doing, or if this is an issue that needs to be reported.

For those interested, here is a copy of the test code:

#!/usr/bin/perl6

use v6;

use Test;
use lib 'lib';

use NativeCall;
use Audio::LibOggVorbis::Ogg;

my $s = ogg_sync_state.new();
isa-ok $s, ogg_sync_state, 'can create ogg_sync_state';

my ($ret, $page, $p, $b, $fh);

$ret = ogg_sync_init($s);
ok $ret == 0, 'can call ogg_sync_init';

$p = ogg_page.new();
isa-ok $p, ogg_page, 'can create ogg_page';

$ret = ogg_sync_pageout($s, $p);
ok $ret != 1, 'can call ogg_sync_pageout';

$b = ogg_sync_buffer($s, 4096);
isa-ok $b, CArray, 'can allocate buffer with ogg_sync_buffer';

$fh = open "resources/SoundMeni.ogg", :bin;
my $data = $fh.read(4096);
for $data.subbuf(0).kv -> $i, $c {
        $b[$i] = $c;
}
$ret = ogg_sync_wrote($s, 4096);
ok $ret == 0, 'read first block successfully and called ogg_sync_wrote';

my $count = 0;
repeat {
        $ret = ogg_sync_pageout($s, $p);
        last if $ret == 1;

        $b = ogg_sync_buffer($s, 4096);
        $data = $fh.read(4096);
        for $data.subbuf(0).kv -> $i, $c {
                $b[$i] = $c;
        }
        $ret = ogg_sync_wrote($s, 4096);
        if ($ret != 0) {
                        fail "ogg_sync_wrote returned error condition";
        }
        $ret = ogg_sync_pageout($s, $p);
} until $count++ > 15;
ok $count <= 15, "ogg_page filled after $count (<16) read loops";

my $sn = ogg_page_serialno($p);
ok $sn.defined, "retrieved serial number $sn from ogg_page_serialno";

$ret = ogg_page_bos($p);
ok $ret > 0, 'ogg_page at beginning of bitstream';

my $st = ogg_stream_state.new();
isa-ok $st, ogg_stream_state, 'can create ogg_stream_state';

$ret = ogg_stream_init($st, $sn);
ok $ret == 0, 'can initialize ogg_stream';

$ret = ogg_stream_pagein($st, $p);
ok $ret == 0, 'can write ogg_page to ogg_stream';

done-testing;

jnthn from #perl6 suggested using the valgrind version of perl6. Here is that output:

$ perl6-valgrind-m -Ilib t/02-ogg-test.t================================================================================================
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.
This Rakudo version is 2016.03.113.g.37857.b.2 built on MoarVM version 2016.03.104.g.10.d.3971,
running on debian (3.16.0) / linux (4.4.0.1.686.pae)
------------------------------------------------------------------------------------------------
==1861== Memcheck, a memory error detector
==1861== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==1861== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
==1861== Command: /home/cbwood/.rakudobrew/moar-nom/install/bin/moar --execname=/home/cbwood/.rakudobrew/bin/../moar-nom/install/bin/perl6-valgrind-m --libpath=/home/cbwood/.rakudobrew/moar-nom/install/share/nqp/lib --libpath=/home/cbwood/.rakudobrew/moar-nom/install/share/perl6/lib --libpath=/home/cbwood/.rakudobrew/moar-nom/install/share/perl6/runtime /home/cbwood/.rakudobrew/moar-nom/install/share/perl6/runtime/perl6.moarvm -Ilib t/02-ogg-test.t
==1861==
--1861-- WARNING: Serious error when reading debug info
--1861-- When reading debug info from /lib/i386-linux-gnu/ld-2.22.so:
--1861-- Ignoring non-Dwarf2/3/4 block in .debug_info
--1861-- WARNING: Serious error when reading debug info
--1861-- When reading debug info from /lib/i386-linux-gnu/ld-2.22.so:
--1861-- Last block truncated in .debug_info; ignoring
--1861-- WARNING: Serious error when reading debug info
--1861-- When reading debug info from /lib/i386-linux-gnu/ld-2.22.so:
--1861-- parse_CU_Header: is neither DWARF2 nor DWARF3 nor DWARF4
--1861-- WARNING: Serious error when reading debug info
--1861-- When reading debug info from /lib/i386-linux-gnu/i686/cmov/libc-2.22.so:
--1861-- Ignoring non-Dwarf2/3/4 block in .debug_info
--1861-- WARNING: Serious error when reading debug info
--1861-- When reading debug info from /lib/i386-linux-gnu/i686/cmov/libc-2.22.so:
--1861-- Last block truncated in .debug_info; ignoring
--1861-- WARNING: Serious error when reading debug info
--1861-- When reading debug info from /lib/i386-linux-gnu/i686/cmov/libc-2.22.so:
--1861-- parse_CU_Header: is neither DWARF2 nor DWARF3 nor DWARF4
--1861-- WARNING: Serious error when reading debug info
--1861-- When reading debug info from /lib/i386-linux-gnu/i686/cmov/libm-2.22.so:
--1861-- Ignoring non-Dwarf2/3/4 block in .debug_info
--1861-- WARNING: Serious error when reading debug info
--1861-- When reading debug info from /lib/i386-linux-gnu/i686/cmov/libm-2.22.so:
--1861-- Last block truncated in .debug_info; ignoring
--1861-- WARNING: Serious error when reading debug info
--1861-- When reading debug info from /lib/i386-linux-gnu/i686/cmov/libm-2.22.so:
--1861-- parse_CU_Header: is neither DWARF2 nor DWARF3 nor DWARF4
--1861-- WARNING: Serious error when reading debug info
--1861-- When reading debug info from /lib/i386-linux-gnu/i686/cmov/librt-2.22.so:
--1861-- Ignoring non-Dwarf2/3/4 block in .debug_info
--1861-- WARNING: Serious error when reading debug info
--1861-- When reading debug info from /lib/i386-linux-gnu/i686/cmov/librt-2.22.so:
--1861-- Last block truncated in .debug_info; ignoring
--1861-- WARNING: Serious error when reading debug info
--1861-- When reading debug info from /lib/i386-linux-gnu/i686/cmov/librt-2.22.so:
--1861-- parse_CU_Header: is neither DWARF2 nor DWARF3 nor DWARF4
--1861-- WARNING: Serious error when reading debug info
--1861-- When reading debug info from /lib/i386-linux-gnu/i686/cmov/libdl-2.22.so:
--1861-- Ignoring non-Dwarf2/3/4 block in .debug_info
--1861-- WARNING: Serious error when reading debug info
--1861-- When reading debug info from /lib/i386-linux-gnu/i686/cmov/libdl-2.22.so:
--1861-- Last block truncated in .debug_info; ignoring
--1861-- WARNING: Serious error when reading debug info
--1861-- When reading debug info from /lib/i386-linux-gnu/i686/cmov/libdl-2.22.so:
--1861-- parse_CU_Header: is neither DWARF2 nor DWARF3 nor DWARF4
ok 1 - can create ogg_sync_state
ok 2 - can call ogg_sync_init
ok 3 - can create ogg_page
ok 4 - can call ogg_sync_pageout
ok 5 - can allocate buffer with ogg_sync_buffer
ok 6 - read first block successfully and called ogg_sync_wrote
ok 7 - ogg_page filled after 0 (<16) read loops
ok 8 - retrieved serial number -649167736 from ogg_page_serialno
ok 9 - ogg_page at beginning of bitstream
ok 10 - can create ogg_stream_state
==1861== Invalid write of size 4
==1861==    at 0x7F487D7: ogg_stream_init (in /usr/lib/i386-linux-gnu/libogg.so.0.8.2)
==1861==    by 0x4191F42: ??? (in /home/cbwood/.rakudobrew/moar-nom/install/lib/libmoar.so)
==1861==    by 0x41918E9: dc_callvm_call_x86_cdecl (in /home/cbwood/.rakudobrew/moar-nom/install/lib/libmoar.so)
==1861==    by 0x41914D5: dcCallInt (in /home/cbwood/.rakudobrew/moar-nom/install/lib/libmoar.so)
==1861==    by 0x40E9DA2: MVM_nativecall_invoke (in /home/cbwood/.rakudobrew/moar-nom/install/lib/libmoar.so)
==1861==    by 0x40CC597: MVM_interp_run (in /home/cbwood/.rakudobrew/moar-nom/install/lib/libmoar.so)
==1861==    by 0x418E98C: MVM_vm_run_file (in /home/cbwood/.rakudobrew/moar-nom/install/lib/libmoar.so)
==1861==    by 0x8048C52: main (in /home/cbwood/.rakudobrew/moar-nom/install/bin/moar)
==1861==  Address 0xa2b8bd8 is 0 bytes after a block of size 80 alloc'd
==1861==    at 0x402E0F8: calloc (vg_replace_malloc.c:711)
==1861==    by 0x4129441: initialize (in /home/cbwood/.rakudobrew/moar-nom/install/lib/libmoar.so)
==1861==    by 0x40C53F1: MVM_interp_run (in /home/cbwood/.rakudobrew/moar-nom/install/lib/libmoar.so)
==1861==    by 0x418E98C: MVM_vm_run_file (in /home/cbwood/.rakudobrew/moar-nom/install/lib/libmoar.so)
==1861==    by 0x8048C52: main (in /home/cbwood/.rakudobrew/moar-nom/install/bin/moar)
==1861==
ok 11 - can initialize ogg_stream
ok 12 - can write ogg_page to ogg_stream
1..12
==1861==
==1861== HEAP SUMMARY:
==1861==     in use at exit: 89,634,444 bytes in 345,372 blocks
==1861==   total heap usage: 707,140 allocs, 361,768 frees, 182,293,403 bytes allocated
==1861==
==1861== LEAK SUMMARY:
==1861==    definitely lost: 5,555 bytes in 192 blocks
==1861==    indirectly lost: 13,298 bytes in 651 blocks
==1861==      possibly lost: 215,970 bytes in 6,762 blocks
==1861==    still reachable: 89,399,621 bytes in 337,767 blocks
==1861==         suppressed: 0 bytes in 0 blocks
==1861== Rerun with --leak-check=full to see details of leaked memory
==1861==
==1861== For counts of detected and suppressed errors, rerun with: -v
==1861== ERROR SUMMARY: 47 errors from 1 contexts (suppressed: 0 from 0)

Thanks, #perl6.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment