Raku / old-issue-tracker

Tickets from RT
https://github.com/Raku/old-issue-tracker/issues
2 stars 1 forks source link

Glibc: double free or memory corruption crash running t/spec/S02-types/bool.t in Rakudo 2013.02.1-7-gb205e66 #3058

Closed p6rt closed 9 years ago

p6rt commented 11 years ago

Migrated from rt.perl.org#116933 (status was 'resolved')

Searchable as RT116933$

p6rt commented 11 years ago

From quester.pm@gmail.com

Hello,

I updated Rakudo from git last night and did a make spectest. Only one test failed, S02-types/bool.t.

It seems like if I run the entire test, it fails as shown in the attachment. But, if I comment out *any* one of the last dozen or so lines it runs to completion. Also, if I take the line at which the dump occurs...

  *is Bool.roll(*).[^10].elems, 10, 'Bool.roll(*) contains at least 10 elems';*

... and place a copy of it after every existing line, the entire file runs.

I would think that this indicates that there must be some sort of boundary condition involved in triggering the dump, perhaps something like garbage collection.

Please let me know of anything you can think of that I could gather that would be helpful in tracking this down.

The environment here is​:

rakudo version 2013.02.1-7-gb205e66 built on parrot 4.10.0 revision RELEASE_4_10_0

nqp version 2013.02.1-16-gf70f431 built on parrot 4.10.0 revision RELEASE_4_10_0

Parrot version 4.10.0-devel built for amd64-linux

Fedora 17 linux, 64 bit, kernel 3.7.9-101.fc17.x86_64

Gcc 4.7.2-2.fc17.x86_64

Glibc 2.15-58.fc17.x86_64

Best regards, Ira Kevin Byerly quester (on #perl6 and perlmonks) quester.pm@​gmail.com

p6rt commented 11 years ago

From quester.pm@gmail.com

Script started on Mon 25 Feb 2013 08​:40​:18 PM HST $ $ $ $ perl6 -v This is perl6 version 2013.02.1-7-gb205e66 built on parrot 4.10.0 revision RELEASE_4_10_0 $ $ $ $ $ cat t/spec/S02-types/bool.t use v6; use Test; plan 51;

#L\<S12/Built-in Enumerations/"Two built-in enumerations are">

# tests True and False are Bool's isa_ok(Bool​::True, Bool); isa_ok(Bool​::False, Bool);

# tests they keep their Bool'ness when stored my $a = Bool​::True; isa_ok($a, Bool);

$a = Bool​::False; isa_ok($a, Bool);

# tests that Bool.Bool works isa_ok (Bool​::True).Bool, Bool, "Bool.Bool is a Bool"; isa_ok (Bool​::False).Bool, Bool, "Bool.Bool is a Bool"; is (Bool​::True).Bool, Bool​::True, "Bool.Bool works for True"; is (Bool​::False).Bool, Bool​::False, "Bool.Bool works for False";

# tests that ?Bool works isa_ok ?(Bool​::True), Bool, "?Bool is a Bool"; isa_ok ?(Bool​::False), Bool, "?Bool is a Bool"; is ?(Bool​::True), Bool​::True, "?Bool works for True"; is ?(Bool​::False), Bool​::False, "?Bool works for False";

# tests they work with && and || #?pugs 4 skip 'pass' Bool​::True && pass('True works'); Bool​::False || pass('False works');

# tests they work with ! !Bool​::True || pass('!True works'); !Bool​::False && pass('!False works');

# tests True with ok() ok(Bool​::True, 'True works');

# tests False with ok() and ! ok(!Bool​::False, 'False works');

# tests Bool stringification - interaction with ~ isa_ok(~Bool​::True, Str); isa_ok(~Bool​::False, Str); #?pugs 2 todo "stringification" is(~Bool​::True, 'True', 'Bool stringification (True)'); is(~Bool​::False, 'False', 'Bool stringification (False)'); #?pugs 2 todo '.Str' is Bool​::True.Str, 'True', 'True.Str'; is Bool​::False.Str, 'False', 'False.Str'; #?pugs 2 todo '.gist' is Bool​::True.gist, 'True', 'True.gist'; is Bool​::False.gist, 'False', 'False.gist'; is Bool​::True.perl, 'Bool​::True', 'True.perl'; is Bool​::False.perl, 'Bool​::False', 'False.perl';

# numification - interaction with + #?pugs 2 skip "Numeric" ok(+Bool​::True ~~ Numeric); ok(+Bool​::False ~~ Numeric); #?pugs 2 todo "Int" isa_ok(+Bool​::True, Int, 'True numifies to an Int'); isa_ok(+Bool​::False, Int, 'False numifies to an Int');

is(Bool​::True.Int, '1', 'True Intifies to 1'); is(Bool​::False.Int, '0', 'False Intifies to 1');

is(+Bool​::True, '1', 'True numifies to 1'); is(+Bool​::False, '0', 'False numifies to 0');

# Arithmetic operations my $bool = Bool​::False; is(++$bool, Bool​::True, 'Increment of Bool​::False produces Bool​::True'); #?pugs todo is(++$bool, Bool​::True, 'Increment of Bool​::True still produces Bool​::True'); #?pugs todo 'Cannot cast from VBool True to VCode' is(--$bool, Bool​::False, 'Decrement of Bool​::True produces Bool​::False'); #?pugs todo is(--$bool, Bool​::False, 'Decrement of Bool​::False produces Bool​::False');

# RT #​65514 {   #?pugs 2 skip 'Cannot cast from VBool True to VCode'   ok (0 but Bool​::True), 'Bool​::True works with "but"';   is (0 but Bool​::True), 0, 'Bool​::True works with "but"';   #?pugs 2 skip 'Cannot cast from VBool False to VCode'   ok !('RT65514' but Bool​::False), 'Bool​::False works with "but"';   is ('RT65514' but Bool​::False), 'RT65514', 'Bool​::False works with "but"'; }

#?pugs skip '.key' {   is Bool​::True.key, 'True', 'Bool​::True.key works (is "True")';   is Bool​::False.key, 'False', 'Bool​::False.key works (is "False")'; }

#?pugs skip '.pick' {   my $x = Bool.pick;   ok ($x === True || $x === False), 'Bool.pick return True or False';   is Bool.pick(*).elems, 2, 'Bool.pick(*) returns two elems';;   my @​a = Bool.roll(30);   ok @​a.grep({$_}), 'Bool.roll(30) contains a True';   ok @​a.grep({!$_}), 'Bool.roll(30) contains a False';   is Bool.roll(*).[^10].elems, 10, 'Bool.roll(*) contains at least 10 elems';

}

done;

# vim​: ft=perl6 $ $ $ $ $ perl6 t/spec/S02-types/bool.t 1..51 ok 1 - The object is-a 'Bool' ok 2 - The object is-a 'Bool' ok 3 - The object is-a 'Bool' ok 4 - The object is-a 'Bool' ok 5 - Bool.Bool is a Bool ok 6 - Bool.Bool is a Bool ok 7 - Bool.Bool works for True ok 8 - Bool.Bool works for False ok 9 - ?Bool is a Bool ok 10 - ?Bool is a Bool ok 11 - ?Bool works for True ok 12 - ?Bool works for False ok 13 - True works ok 14 - False works ok 15 - !True works ok 16 - !False works ok 17 - True works ok 18 - False works ok 19 - The object is-a 'Str' ok 20 - The object is-a 'Str' ok 21 - Bool stringification (True) ok 22 - Bool stringification (False) ok 23 - True.Str ok 24 - False.Str ok 25 - True.gist ok 26 - False.gist ok 27 - True.perl ok 28 - False.perl ok 29 - ok 30 - ok 31 - True numifies to an Int ok 32 - False numifies to an Int ok 33 - True Intifies to 1 ok 34 - False Intifies to 1 ok 35 - True numifies to 1 ok 36 - False numifies to 0 ok 37 - Increment of Bool​::False produces Bool​::True ok 38 - Increment of Bool​::True still produces Bool​::True ok 39 - Decrement of Bool​::True produces Bool​::False ok 40 - Decrement of Bool​::False produces Bool​::False ok 41 - Bool​::True works with "but" ok 42 - Bool​::True works with "but" ok 43 - Bool​::False works with "but" ok 44 - Bool​::False works with "but" ok 45 - Bool​::True.key works (is "True") ok 46 - Bool​::False.key works (is "False") ok 47 - Bool.pick return True or False ok 48 - Bool.pick(*) returns two elems ok 49 - Bool.roll(30) contains a True ok 50 - Bool.roll(30) contains a False *** glibc detected *** perl6​: double free or corruption (!prev)​: 0x0000000003397bd0 *** ======= Backtrace​: ========= /lib64/libc.so.6[0x3c6087c00e] /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/nqp_bigint_ops.so(+0xc8dd)[0x7f19f44c68dd] /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/nqp_ops.so(+0x26f12)[0x7f19f4938f12] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(+0x897cd)[0x7f19fb49c7cd] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(+0x89ae7)[0x7f19fb49cae7] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(Parrot_gc_new_pmc_header+0x1b)[0x7f19fb497e7b] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(+0xa87dd)[0x7f19fb4bb7dd] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(Parrot_pmc_new+0x3c)[0x7f19fb4bba8c] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(Parrot_pcc_reuse_continuation+0x6d)[0x7f19fb4a6e4d] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(+0x60bff)[0x7f19fb473bff] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(+0xa9cd5)[0x7f19fb4bccd5] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(+0xa992d)[0x7f19fb4bc92d] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(+0x9369e)[0x7f19fb4a669e] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(Parrot_pcc_invoke_from_sig_object+0xde)[0x7f19fb4a20be] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(Parrot_ext_call+0xcc)[0x7f19fb49680c] /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/nqp_ops.so(+0x23d78)[0x7f19f4935d78] /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/perl6_ops.so(+0x21e29)[0x7f19f46f8e29] /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/perl6_ops.so(+0x2223a)[0x7f19f46f923a] /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/perl6_group.so(+0x2545)[0x7f19f4b5f545] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(+0xa9cd5)[0x7f19fb4bccd5] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(+0xa992d)[0x7f19fb4bc92d] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(+0x9369e)[0x7f19fb4a669e] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(Parrot_pcc_invoke_from_sig_object+0xde)[0x7f19fb4a20be] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(Parrot_ext_call+0xcc)[0x7f19fb49680c] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(+0x15d6fd)[0x7f19fb5706fd] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(Parrot_pcc_invoke_from_sig_object+0x8a)[0x7f19fb4a206a] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(Parrot_ext_call+0xcc)[0x7f19fb49680c] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(+0xadc3d)[0x7f19fb4c0c3d] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(Parrot_cx_begin_execution+0x6a)[0x7f19fb4c0cca] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(Parrot_pf_execute_bytecode_program+0xdb)[0x7f19fb4c887b] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(Parrot_api_run_bytecode+0xf1)[0x7f19fb492711] perl6(main+0x170)[0x4011b0] /lib64/libc.so.6(__libc_start_main+0xf5)[0x3c60821735] perl6[0x401261] ======= Memory map​: ======== 00400000-0040e000 r-xp 00000000 08​:04 6030374 /home/ira/rakudo/rakudo/perl6 0060d000-0060e000 rw-p 0000d000 08​:04 6030374 /home/ira/rakudo/rakudo/perl6 024ad000-0a699000 rw-p 00000000 00​:00 0 [heap] 3aab800000-3aab802000 r-xp 00000000 08​:02 5008155 /usr/lib64/libutil-2.15.so 3aab802000-3aaba01000 ---p 00002000 08​:02 5008155 /usr/lib64/libutil-2.15.so 3aaba01000-3aaba02000 r--p 00001000 08​:02 5008155 /usr/lib64/libutil-2.15.so 3aaba02000-3aaba03000 rw-p 00002000 08​:02 5008155 /usr/lib64/libutil-2.15.so 3c31a00000-3c31a3c000 r-xp 00000000 08​:02 5007605 /usr/lib64/libreadline.so.6.2 3c31a3c000-3c31c3b000 ---p 0003c000 08​:02 5007605 /usr/lib64/libreadline.so.6.2 3c31c3b000-3c31c3d000 r--p 0003b000 08​:02 5007605 /usr/lib64/libreadline.so.6.2 3c31c3d000-3c31c43000 rw-p 0003d000 08​:02 5007605 /usr/lib64/libreadline.so.6.2 3c31c43000-3c31c45000 rw-p 00000000 00​:00 0 3c33400000-3c33425000 r-xp 00000000 08​:02 5007457 /usr/lib64/libtinfo.so.5.9 3c33425000-3c33624000 ---p 00025000 08​:02 5007457 /usr/lib64/libtinfo.so.5.9 3c33624000-3c33628000 r--p 00024000 08​:02 5007457 /usr/lib64/libtinfo.so.5.9 3c33628000-3c33629000 rw-p 00028000 08​:02 5007457 /usr/lib64/libtinfo.so.5.9 3c34800000-3c34807000 r-xp 00000000 08​:02 5007913 /usr/lib64/librt-2.15.so 3c34807000-3c34a06000 ---p 00007000 08​:02 5007913 /usr/lib64/librt-2.15.so 3c34a06000-3c34a07000 r--p 00006000 08​:02 5007913 /usr/lib64/librt-2.15.so 3c34a07000-3c34a08000 rw-p 00007000 08​:02 5007913 /usr/lib64/librt-2.15.so 3c60400000-3c60420000 r-xp 00000000 08​:02 4984833 /usr/lib64/ld-2.15.so 3c6061f000-3c60620000 r--p 0001f000 08​:02 4984833 /usr/lib64/ld-2.15.so 3c60620000-3c60621000 rw-p 00020000 08​:02 4984833 /usr/lib64/ld-2.15.so 3c60621000-3c60622000 rw-p 00000000 00​:00 0 3c60800000-3c609ac000 r-xp 00000000 08​:02 4984834 /usr/lib64/libc-2.15.so 3c609ac000-3c60bac000 ---p 001ac000 08​:02 4984834 /usr/lib64/libc-2.15.so 3c60bac000-3c60bb0000 r--p 001ac000 08​:02 4984834 /usr/lib64/libc-2.15.so 3c60bb0000-3c60bb2000 rw-p 001b0000 08​:02 4984834 /usr/lib64/libc-2.15.so 3c60bb2000-3c60bb7000 rw-p 00000000 00​:00 0 3c60c00000-3c60c03000 r-xp 00000000 08​:02 4990610 /usr/lib64/libdl-2.15.so 3c60c03000-3c60e02000 ---p 00003000 08​:02 4990610 /usr/lib64/libdl-2.15.so 3c60e02000-3c60e03000 r--p 00002000 08​:02 4990610 /usr/lib64/libdl-2.15.so 3c60e03000-3c60e04000 rw-p 00003000 08​:02 4990610 /usr/lib64/libdl-2.15.so 3c61000000-3c61016000 r-xp 00000000 08​:02 4980748 /usr/lib64/libpthread-2.15.so 3c61016000-3c61216000 ---p 00016000 08​:02 4980748 /usr/lib64/libpthread-2.15.so 3c61216000-3c61217000 r--p 00016000 08​:02 4980748 /usr/lib64/libpthread-2.15.so 3c61217000-3c61218000 rw-p 00017000 08​:02 4980748 /usr/lib64/libpthread-2.15.so 3c61218000-3c6121c000 rw-p 00000000 00​:00 0 3c61800000-3c618fa000 r-xp 00000000 08​:02 4992975 /usr/lib64/libm-2.15.so 3c618fa000-3c61af9000 ---p 000fa000 08​:02 4992975 /usr/lib64/libm-2.15.so 3c61af9000-3c61afa000 r--p 000f9000 08​:02 4992975 /usr/lib64/libm-2.15.so 3c61afa000-3c61afb000 rw-p 000fa000 08​:02 4992975 /usr/lib64/libm-2.15.so 3c62800000-3c62815000 r-xp 00000000 08​:02 4981556 /usr/lib64/libgcc_s-4.7.2-20120921.so.1 3c62815000-3c62a14000 ---p 00015000 08​:02 4981556 /usr/lib64/libgcc_s-4.7.2-20120921.so.1 3c62a14000-3c62a15000 rw-p 00014000 08​:02 4981556 /usr/lib64/libgcc_s-4.7.2-20120921.so.1 3c62c00000-3c62c16000 r-xp 00000000 08​:02 5007444 /usr/lib64/libresolv-2.15.so 3c62c16000-3c62e15000 ---p 00016000 08​:02 5007444 /usr/lib64/libresolv-2.15.so 3c62e15000-3c62e16000 r--p 00015000 08​:02 5007444 /usr/lib64/libresolv-2.15.so 3c62e16000-3c62e17000 rw-p 00016000 08​:02 5007444 /usr/lib64/libresolv-2.15.so 3c62e17000-3c62e19000 rw-p 00000000 00​:00 0 3c64400000-3c644e5000 r-xp 00000000 08​:02 5007465 /usr/lib64/libstdc++.so.6.0.17 3c644e5000-3c646e4000 ---p 000e5000 08​:02 5007465 /usr/lib64/libstdc++.so.6.0.17 3c646e4000-3c646ec000 r--p 000e4000 08​:02 5007465 /usr/lib64/libstdc++.so.6.0.17 3c646ec000-3c646ee000 rw-p 000ec000 08​:02 5007465 /usr/lib64/libstdc++.so.6.0.17 3c646ee000-3c64703000 rw-p 00000000 00​:00 0 3c71000000-3c71016000 r-xp 00000000 08​:02 4988400 /usr/lib64/libnsl-2.15.so 3c71016000-3c71215000 ---p 00016000 08​:02 4988400 /usr/lib64/libnsl-2.15.so 3c71215000-3c71216000 r--p 00015000 08​:02 4988400 /usr/lib64/libnsl-2.15.so 3c71216000-3c71217000 rw-p 00016000 08​:02 4988400 /usr/lib64/libnsl-2.15.so 3c71217000-3c71219000 rw-p 00000000 00​:00 0 3c74400000-3c74556000 r-xp 00000000 08​:02 4999628 /usr/lib64/libicuuc.so.48.1.1 3c74556000-3c74756000 ---p 00156000 08​:02 4999628 /usr/lib64/libicuuc.so.48.1.1 3c74756000-3c74766000 r--p 00156000 08​:02 4999628 /usr/lib64/libicuuc.so.48.1.1 3c74766000-3c74767000 rw-p 00166000 08​:02 4999628 /usr/lib64/libicuuc.so.48.1.1 3c74767000-3c7476b000 rw-p 00000000 00​:00 0 3c75c00000-3c76d6f000 r-xp 00000000 08​:02 5000354 /usr/lib64/libicudata.so.48.1.1 3c76d6f000-3c76f6e000 ---p 0116f000 08​:02 5000354 /usr/lib64/libicudata.so.48.1.1 3c76f6e000-3c76f6f000 r--p 0116e000 08​:02 5000354 /usr/lib64/libicudata.so.48.1.1 3c76f6f000-3c76f70000 rw-p 0116f000 08​:02 5000354 /usr/lib64/libicudata.so.48.1.1 3f74800000-3f74865000 r-xp 00000000 08​:02 4987304 /usr/lib64/libfreebl3.so 3f74865000-3f74a65000 ---p 00065000 08​:02 4987304 /usr/lib64/libfreebl3.so 3f74a65000-3f74a66000 rw-p 00065000 08​:02 4987304 /usr/lib64/libfreebl3.so 3f74a66000-3f74a6b000 rw-p 00000000 00​:00 0 3f75400000-3f75408000 r-xp 00000000 08​:02 4999398 /usr/lib64/libcrypt-2.15.so 3f75408000-3f75607000 ---p 00008000 08​:02 4999398 /usr/lib64/libcrypt-2.15.so 3f75607000-3f75608000 r--p 00007000 08​:02 4999398 /usr/lib64/libcrypt-2.15.so 3f75608000-3f75609000 rw-p 00008000 08​:02 4999398 /usr/lib64/libcrypt-2.15.so 3f75609000-3f75637000 rw-p 00000000 00​:00 0 7f19f027b000-7f19f0786000 rw-p 00000000 00​:00 0 7f19f0786000-7f19f0795000 r-xp 00000000 08​:04 6556682 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/nqp_dyncall_ops.so 7f19f0795000-7f19f0994000 ---p 0000f000 08​:04 6556682 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/nqp_dyncall_ops.so 7f19f0994000-7f19f0995000 r--p 0000e000 08​:04 6556682 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/nqp_dyncall_ops.so 7f19f0995000-7f19f0996000 rw-p 0000f000 08​:04 6556682 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/nqp_dyncall_ops.so 7f19f0996000-7f19f0999000 r-xp 00000000 08​:04 6556164 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/sys_ops.so 7f19f0999000-7f19f0b98000 ---p 00003000 08​:04 6556164 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/sys_ops.so 7f19f0b98000-7f19f0b99000 r--p 00002000 08​:04 6556164 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/sys_ops.so 7f19f0b99000-7f19f0b9a000 rw-p 00003000 08​:04 6556164 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/sys_ops.so 7f19f0b9a000-7f19f0b9e000 r-xp 00000000 08​:04 6556159 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/math_ops.so 7f19f0b9e000-7f19f0d9e000 ---p 00004000 08​:04 6556159 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/math_ops.so 7f19f0d9e000-7f19f0d9f000 r--p 00004000 08​:04 6556159 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/math_ops.so 7f19f0d9f000-7f19f0da1000 rw-p 00005000 08​:04 6556159 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/math_ops.so 7f19f0da1000-7f19f0daa000 r-xp 00000000 08​:04 6556153 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/bit_ops.so 7f19f0daa000-7f19f0fa9000 ---p 00009000 08​:04 6556153 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/bit_ops.so 7f19f0fa9000-7f19f0faa000 r--p 00008000 08​:04 6556153 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/bit_ops.so 7f19f0faa000-7f19f0fae000 rw-p 00009000 08​:04 6556153 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/bit_ops.so 7f19f0fae000-7f19f0fb1000 r-xp 00000000 08​:04 6556160 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/obscure_ops.so 7f19f0fb1000-7f19f11b0000 ---p 00003000 08​:04 6556160 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/obscure_ops.so 7f19f11b0000-7f19f11b1000 r--p 00002000 08​:04 6556160 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/obscure_ops.so 7f19f11b1000-7f19f11b3000 rw-p 00003000 08​:04 6556160 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/obscure_ops.so 7f19f11b3000-7f19f11b6000 r-xp 00000000 08​:04 6556156 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/file.so 7f19f11b6000-7f19f13b5000 ---p 00003000 08​:04 6556156 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/file.so 7f19f13b5000-7f19f13b6000 r--p 00002000 08​:04 6556156 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/file.so 7f19f13b6000-7f19f13b7000 rw-p 00003000 08​:04 6556156 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/file.so 7f19f13b7000-7f19f13b9000 r-xp 00000000 08​:04 6556161 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/os.so 7f19f13b9000-7f19f15b8000 ---p 00002000 08​:04 6556161 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/os.so 7f19f15b8000-7f19f15b9000 r--p 00001000 08​:04 6556161 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/os.so 7f19f15b9000-7f19f15ba000 rw-p 00002000 08​:04 6556161 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/os.so 7f19f15ba000-7f19f27ba000 rw-p 00000000 00​:00 0 7f19f27ba000-7f19f27c0000 r-xp 00000000 08​:04 6556165 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/trans_ops.so 7f19f27c0000-7f19f29bf000 ---p 00006000 08​:04 6556165 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/trans_ops.so 7f19f29bf000-7f19f29c0000 r--p 00005000 08​:04 6556165 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/trans_ops.so 7f19f29c0000-7f19f29c3000 rw-p 00006000 08​:04 6556165 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/trans_ops.so 7f19f29c3000-7f19f4290000 rw-p 00000000 00​:00 0 7f19f4290000-7f19f4296000 r-xp 00000000 08​:04 6556158 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/io_ops.so 7f19f4296000-7f19f4495000 ---p 00006000 08​:04 6556158 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/io_ops.so 7f19f4495000-7f19f4496000 r--p 00005000 08​:04 6556158 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/io_ops.so 7f19f4496000-7f19f4499000 rw-p 00006000 08​:04 6556158 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/io_ops.so 7f19f4499000-7f19f44ba000 rw-p 00000000 00​:00 0 7f19f44ba000-7f19f44d4000 r-xp 00000000 08​:04 6556681 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/nqp_bigint_ops.so 7f19f44d4000-7f19f46d3000 ---p 0001a000 08​:04 6556681 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/nqp_bigint_ops.so 7f19f46d3000-7f19f46d4000 r--p 00019000 08​:04 6556681 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/nqp_bigint_ops.so 7f19f46d4000-7f19f46d7000 rw-p 0001a000 08​:04 6556681 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/nqp_bigint_ops.so 7f19f46d7000-7f19f4705000 r-xp 00000000 08​:04 6556732 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/perl6_ops.so 7f19f4705000-7f19f4904000 ---p 0002e000 08​:04 6556732 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/perl6_ops.so 7f19f4904000-7f19f4905000 r--p 0002d000 08​:04 6556732 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/perl6_ops.so 7f19f4905000-7f19f4912000 rw-p 0002e000 08​:04 6556732 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/perl6_ops.so 7f19f4912000-7f19f4951000 r-xp 00000000 08​:04 6556680 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/nqp_ops.so 7f19f4951000-7f19f4b50000 ---p 0003f000 08​:04 6556680 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/nqp_ops.so 7f19f4b50000-7f19f4b51000 r--p 0003e000 08​:04 6556680 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/nqp_ops.so 7f19f4b51000-7f19f4b5d000 rw-p 0003f000 08​:04 6556680 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/nqp_ops.so 7f19f4b5d000-7f19f4b65000 r-xp 00000000 08​:04 6556731 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/perl6_group.so 7f19f4b65000-7f19f4d64000 ---p 00008000 08​:04 6556731 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/perl6_group.so 7f19f4d64000-7f19f4d65000 r--p 00007000 08​:04 6556731 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/perl6_group.so 7f19f4d65000-7f19f4d66000 rw-p 00008000 08​:04 6556731 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/perl6_group.so 7f19f4d66000-7f19f4d7c000 r-xp 00000000 08​:04 6556679 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/nqp_group.so 7f19f4d7c000-7f19f4f7b000 ---p 00016000 08​:04 6556679 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/nqp_group.so 7f19f4f7b000-7f19f4f7c000 r--p 00015000 08​:04 6556679 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/nqp_group.so 7f19f4f7c000-7f19f4f7d000 rw-p 00016000 08​:04 6556679 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/nqp_group.so 7f19f4f7d000-7f19fb3aa000 r--p 00000000 08​:02 5007419 /usr/lib/locale/locale-archive 7f19fb3aa000-7f19fb3f7000 rw-p 00000000 00​:00 0 7f19fb412000-7f19fb413000 rw-p 00000000 00​:00 0 7f19fb413000-7f19fb5fb000 r-xp 00000000 08​:04 6556145 /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0 7f19fb5fb000-7f19fb7fb000 ---p 001e8000 08​:04 6556145 /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0 7f19fb7fb000-7f19fb801000 r--p 001e8000 08​:04 6556145 /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0 7f19fb801000-7f19fb839000 rw-p 001ee000 08​:04 6556145 /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0 7f19fb839000-7f19fb83b000 rw-p 00000000 00​:00 0 7fffbc47e000-7fffbc49e000 rwxp 00000000 00​:00 0 [stack] 7fffbc49e000-7fffbc49f000 rw-p 00000000 00​:00 0 7fffbc5ff000-7fffbc600000 r-xp 00000000 00​:00 0 [vdso] ffffffffff600000-ffffffffff601000 r-xp 00000000 00​:00 0 [vsyscall] Aborted (core dumped) $ $ $ $ exit

Script done on Mon 25 Feb 2013 08​:40​:49 PM HST

p6rt commented 11 years ago

From @quester

Update​:

I found that the bug also can be triggered with just this loop, usually after about 6-13 iterations​:

(0 but Bool​::True) and print qq{$_ } for 1..100;

Backtraces are attached for three recent versions of Rakudo, the current version from git as of about 2013-03-01 0700 UTC (2013.02.1-14-g357e603), Rakudo Star 2013-02, and Rakudo Star 2013-01.

It looks like this also failed with a sigabrt in the #perl6 evalbot, see http://irclog.perlgeek.de/perl6/2013-03-01#i_6511442.

Best regards, Ira

p6rt commented 11 years ago

From @quester

This is from the current version of Rakudo in git (2013-03-01 0700 UTC)​:

[ira@​f17 rakudo]$ ./perl6 -v This is perl6 version 2013.02.1-14-g357e603 built on parrot 4.10.0 revision RELEASE_4_10_0

[ira@​f17 rakudo]$ ./perl6 -e '(0 but Bool​::True) and print qq{$_ } for 1..100;' 1 2 3 4 5 6 7 8 9 10 *** glibc detected *** ./perl6​: free()​: invalid next size (fast)​: 0x0000000003592e40 *** ======= Backtrace​: ========= /lib64/libc.so.6[0x3c6087c00e] /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/nqp_ops.so(+0x26c9f)[0x7f62ae0abc9f] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(+0x897cd)[0x7f62b4c107cd] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(+0x89ae7)[0x7f62b4c10ae7] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(Parrot_gc_new_pmc_header+0x1b)[0x7f62b4c0be7b] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(+0xa87dd)[0x7f62b4c2f7dd] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(Parrot_pmc_new_init+0x49)[0x7f62b4c2fc99] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(+0xd3336)[0x7f62b4c5a336] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(+0xa9cd5)[0x7f62b4c30cd5] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(+0xa992d)[0x7f62b4c3092d] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(+0x9369e)[0x7f62b4c1a69e] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(Parrot_pcc_invoke_from_sig_object+0xde)[0x7f62b4c160be] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(Parrot_ext_call+0xcc)[0x7f62b4c0a80c] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(+0x15d6fd)[0x7f62b4ce46fd] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(Parrot_pcc_invoke_from_sig_object+0x8a)[0x7f62b4c1606a] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(Parrot_ext_call+0xcc)[0x7f62b4c0a80c] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(+0xadc3d)[0x7f62b4c34c3d] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(Parrot_cx_begin_execution+0x6a)[0x7f62b4c34cca] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(Parrot_pf_execute_bytecode_program+0xdb)[0x7f62b4c3c87b] /home/ira/rakudo/rakudo/install/lib/libparrot.so.4.10.0(Parrot_api_run_bytecode+0xf1)[0x7f62b4c06711] ./perl6(main+0x170)[0x4011b0] /lib64/libc.so.6(__libc_start_main+0xf5)[0x3c60821735] ./perl6[0x401261] ======= Memory map​: ======== 00400000-0040e000 r-xp 00000000 08​:04 7081115 /home/ira/rakudo/rakudo/perl6 0060d000-0060e000 rw-p 0000d000 08​:04 7081115 /home/ira/rakudo/rakudo/perl6 00f1d000-07d8e000 rw-p 00000000 00​:00 0 [heap] 3aab800000-3aab802000 r-xp 00000000 08​:02 5008155 /usr/lib64/libutil-2.15.so 3aab802000-3aaba01000 ---p 00002000 08​:02 5008155 /usr/lib64/libutil-2.15.so 3aaba01000-3aaba02000 r--p 00001000 08​:02 5008155 /usr/lib64/libutil-2.15.so 3aaba02000-3aaba03000 rw-p 00002000 08​:02 5008155 /usr/lib64/libutil-2.15.so 3c31a00000-3c31a3c000 r-xp 00000000 08​:02 5007605 /usr/lib64/libreadline.so.6.2 3c31a3c000-3c31c3b000 ---p 0003c000 08​:02 5007605 /usr/lib64/libreadline.so.6.2 3c31c3b000-3c31c3d000 r--p 0003b000 08​:02 5007605 /usr/lib64/libreadline.so.6.2 3c31c3d000-3c31c43000 rw-p 0003d000 08​:02 5007605 /usr/lib64/libreadline.so.6.2 3c31c43000-3c31c45000 rw-p 00000000 00​:00 0 3c33400000-3c33425000 r-xp 00000000 08​:02 5007457 /usr/lib64/libtinfo.so.5.9 3c33425000-3c33624000 ---p 00025000 08​:02 5007457 /usr/lib64/libtinfo.so.5.9 3c33624000-3c33628000 r--p 00024000 08​:02 5007457 /usr/lib64/libtinfo.so.5.9 3c33628000-3c33629000 rw-p 00028000 08​:02 5007457 /usr/lib64/libtinfo.so.5.9 3c34800000-3c34807000 r-xp 00000000 08​:02 5007913 /usr/lib64/librt-2.15.so 3c34807000-3c34a06000 ---p 00007000 08​:02 5007913 /usr/lib64/librt-2.15.so 3c34a06000-3c34a07000 r--p 00006000 08​:02 5007913 /usr/lib64/librt-2.15.so 3c34a07000-3c34a08000 rw-p 00007000 08​:02 5007913 /usr/lib64/librt-2.15.so 3c60400000-3c60420000 r-xp 00000000 08​:02 4984833 /usr/lib64/ld-2.15.so 3c6061f000-3c60620000 r--p 0001f000 08​:02 4984833 /usr/lib64/ld-2.15.so 3c60620000-3c60621000 rw-p 00020000 08​:02 4984833 /usr/lib64/ld-2.15.so 3c60621000-3c60622000 rw-p 00000000 00​:00 0 3c60800000-3c609ac000 r-xp 00000000 08​:02 4984834 /usr/lib64/libc-2.15.so 3c609ac000-3c60bac000 ---p 001ac000 08​:02 4984834 /usr/lib64/libc-2.15.so 3c60bac000-3c60bb0000 r--p 001ac000 08​:02 4984834 /usr/lib64/libc-2.15.so 3c60bb0000-3c60bb2000 rw-p 001b0000 08​:02 4984834 /usr/lib64/libc-2.15.so 3c60bb2000-3c60bb7000 rw-p 00000000 00​:00 0 3c60c00000-3c60c03000 r-xp 00000000 08​:02 4990610 /usr/lib64/libdl-2.15.so 3c60c03000-3c60e02000 ---p 00003000 08​:02 4990610 /usr/lib64/libdl-2.15.so 3c60e02000-3c60e03000 r--p 00002000 08​:02 4990610 /usr/lib64/libdl-2.15.so 3c60e03000-3c60e04000 rw-p 00003000 08​:02 4990610 /usr/lib64/libdl-2.15.so 3c61000000-3c61016000 r-xp 00000000 08​:02 4980748 /usr/lib64/libpthread-2.15.so 3c61016000-3c61216000 ---p 00016000 08​:02 4980748 /usr/lib64/libpthread-2.15.so 3c61216000-3c61217000 r--p 00016000 08​:02 4980748 /usr/lib64/libpthread-2.15.so 3c61217000-3c61218000 rw-p 00017000 08​:02 4980748 /usr/lib64/libpthread-2.15.so 3c61218000-3c6121c000 rw-p 00000000 00​:00 0 3c61800000-3c618fa000 r-xp 00000000 08​:02 4992975 /usr/lib64/libm-2.15.so 3c618fa000-3c61af9000 ---p 000fa000 08​:02 4992975 /usr/lib64/libm-2.15.so 3c61af9000-3c61afa000 r--p 000f9000 08​:02 4992975 /usr/lib64/libm-2.15.so 3c61afa000-3c61afb000 rw-p 000fa000 08​:02 4992975 /usr/lib64/libm-2.15.so 3c62800000-3c62815000 r-xp 00000000 08​:02 4981556 /usr/lib64/libgcc_s-4.7.2-20120921.so.1 3c62815000-3c62a14000 ---p 00015000 08​:02 4981556 /usr/lib64/libgcc_s-4.7.2-20120921.so.1 3c62a14000-3c62a15000 rw-p 00014000 08​:02 4981556 /usr/lib64/libgcc_s-4.7.2-20120921.so.1 3c62c00000-3c62c16000 r-xp 00000000 08​:02 5007444 /usr/lib64/libresolv-2.15.so 3c62c16000-3c62e15000 ---p 00016000 08​:02 5007444 /usr/lib64/libresolv-2.15.so 3c62e15000-3c62e16000 r--p 00015000 08​:02 5007444 /usr/lib64/libresolv-2.15.so 3c62e16000-3c62e17000 rw-p 00016000 08​:02 5007444 /usr/lib64/libresolv-2.15.so 3c62e17000-3c62e19000 rw-p 00000000 00​:00 0 3c64400000-3c644e5000 r-xp 00000000 08​:02 5007465 /usr/lib64/libstdc++.so.6.0.17 3c644e5000-3c646e4000 ---p 000e5000 08​:02 5007465 /usr/lib64/libstdc++.so.6.0.17 3c646e4000-3c646ec000 r--p 000e4000 08​:02 5007465 /usr/lib64/libstdc++.so.6.0.17 3c646ec000-3c646ee000 rw-p 000ec000 08​:02 5007465 /usr/lib64/libstdc++.so.6.0.17 3c646ee000-3c64703000 rw-p 00000000 00​:00 0 3c71000000-3c71016000 r-xp 00000000 08​:02 4988400 /usr/lib64/libnsl-2.15.so 3c71016000-3c71215000 ---p 00016000 08​:02 4988400 /usr/lib64/libnsl-2.15.so 3c71215000-3c71216000 r--p 00015000 08​:02 4988400 /usr/lib64/libnsl-2.15.so 3c71216000-3c71217000 rw-p 00016000 08​:02 4988400 /usr/lib64/libnsl-2.15.so 3c71217000-3c71219000 rw-p 00000000 00​:00 0 3c74400000-3c74556000 r-xp 00000000 08​:02 4999628 /usr/lib64/libicuuc.so.48.1.1 3c74556000-3c74756000 ---p 00156000 08​:02 4999628 /usr/lib64/libicuuc.so.48.1.1 3c74756000-3c74766000 r--p 00156000 08​:02 4999628 /usr/lib64/libicuuc.so.48.1.1 3c74766000-3c74767000 rw-p 00166000 08​:02 4999628 /usr/lib64/libicuuc.so.48.1.1 3c74767000-3c7476b000 rw-p 00000000 00​:00 0 3c75c00000-3c76d6f000 r-xp 00000000 08​:02 5000354 /usr/lib64/libicudata.so.48.1.1 3c76d6f000-3c76f6e000 ---p 0116f000 08​:02 5000354 /usr/lib64/libicudata.so.48.1.1 3c76f6e000-3c76f6f000 r--p 0116e000 08​:02 5000354 /usr/lib64/libicudata.so.48.1.1 3c76f6f000-3c76f70000 rw-p 0116f000 08​:02 5000354 /usr/lib64/libicudata.so.48.1.1 3f74800000-3f74865000 r-xp 00000000 08​:02 4987304 /usr/lib64/libfreebl3.so 3f74865000-3f74a65000 ---p 00065000 08​:02 4987304 /usr/lib64/libfreebl3.so 3f74a65000-3f74a66000 rw-p 00065000 08​:02 4987304 /usr/lib64/libfreebl3.so 3f74a66000-3f74a6b000 rw-p 00000000 00​:00 0 3f75400000-3f75408000 r-xp 00000000 08​:02 4999398 /usr/lib64/libcrypt-2.15.so 3f75408000-3f75607000 ---p 00008000 08​:02 4999398 /usr/lib64/libcrypt-2.15.so 3f75607000-3f75608000 r--p 00007000 08​:02 4999398 /usr/lib64/libcrypt-2.15.so 3f75608000-3f75609000 rw-p 00008000 08​:02 4999398 /usr/lib64/libcrypt-2.15.so 3f75609000-3f75637000 rw-p 00000000 00​:00 0 7f62a9a94000-7f62a9f9f000 rw-p 00000000 00​:00 0 7f62a9f9f000-7f62a9fae000 r-xp 00000000 08​:04 7212307 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/nqp_dyncall_ops.so 7f62a9fae000-7f62aa1ad000 ---p 0000f000 08​:04 7212307 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/nqp_dyncall_ops.so 7f62aa1ad000-7f62aa1ae000 r--p 0000e000 08​:04 7212307 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/nqp_dyncall_ops.so 7f62aa1ae000-7f62aa1af000 rw-p 0000f000 08​:04 7212307 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/nqp_dyncall_ops.so 7f62aa1af000-7f62aa1b2000 r-xp 00000000 08​:04 7211771 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/sys_ops.so 7f62aa1b2000-7f62aa3b1000 ---p 00003000 08​:04 7211771 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/sys_ops.so 7f62aa3b1000-7f62aa3b2000 r--p 00002000 08​:04 7211771 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/sys_ops.so 7f62aa3b2000-7f62aa3b3000 rw-p 00003000 08​:04 7211771 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/sys_ops.so 7f62aa3b3000-7f62aa3b7000 r-xp 00000000 08​:04 7211766 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/math_ops.so 7f62aa3b7000-7f62aa5b7000 ---p 00004000 08​:04 7211766 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/math_ops.so 7f62aa5b7000-7f62aa5b8000 r--p 00004000 08​:04 7211766 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/math_ops.so 7f62aa5b8000-7f62aa5ba000 rw-p 00005000 08​:04 7211766 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/math_ops.so 7f62aa5ba000-7f62aa5c3000 r-xp 00000000 08​:04 7211760 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/bit_ops.so 7f62aa5c3000-7f62aa7c2000 ---p 00009000 08​:04 7211760 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/bit_ops.so 7f62aa7c2000-7f62aa7c3000 r--p 00008000 08​:04 7211760 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/bit_ops.so 7f62aa7c3000-7f62aa7c7000 rw-p 00009000 08​:04 7211760 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/bit_ops.so 7f62aa7c7000-7f62aa7ca000 r-xp 00000000 08​:04 7211767 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/obscure_ops.so 7f62aa7ca000-7f62aa9c9000 ---p 00003000 08​:04 7211767 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/obscure_ops.so 7f62aa9c9000-7f62aa9ca000 r--p 00002000 08​:04 7211767 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/obscure_ops.so 7f62aa9ca000-7f62aa9cc000 rw-p 00003000 08​:04 7211767 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/obscure_ops.so 7f62aa9cc000-7f62aa9cf000 r-xp 00000000 08​:04 7211763 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/file.so 7f62aa9cf000-7f62aabce000 ---p 00003000 08​:04 7211763 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/file.so 7f62aabce000-7f62aabcf000 r--p 00002000 08​:04 7211763 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/file.so 7f62aabcf000-7f62aabd0000 rw-p 00003000 08​:04 7211763 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/file.so 7f62aabd0000-7f62aabd2000 r-xp 00000000 08​:04 7211768 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/os.so 7f62aabd2000-7f62aadd1000 ---p 00002000 08​:04 7211768 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/os.so 7f62aadd1000-7f62aadd2000 r--p 00001000 08​:04 7211768 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/os.so 7f62aadd2000-7f62aadd3000 rw-p 00002000 08​:04 7211768 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/os.so 7f62aadd3000-7f62abfab000 rw-p 00000000 00​:00 0 7f62abfab000-7f62abfb1000 r-xp 00000000 08​:04 7211772 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/trans_ops.so 7f62abfb1000-7f62ac1b0000 ---p 00006000 08​:04 7211772 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/trans_ops.so 7f62ac1b0000-7f62ac1b1000 r--p 00005000 08​:04 7211772 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/trans_ops.so 7f62ac1b1000-7f62ac1b4000 rw-p 00006000 08​:04 7211772 /home/ira/rakudo/rakudo/install/lib/parrot/4.10.0-devel/dynext/trans_ops.so 7f62ac1b4000-7f62ada03000 rw-p 00000000 00​:00 0 7f62ada03000-7f62ada09000 r-xp 00000000 08​:04 7211765 /home/ira/rakudo/rakudo/install/lib/parrotAborted (core dumped)


This is from Rakudo Star 2013-02​:

[ira@​f17 rakudo-star-2013.02]$ ./perl6 -v This is perl6 version 2013.02.1 built on parrot 4.10.0 revision 0

[ira@​f17 rakudo-star-2013.02]$ ./perl6 -e '(0 but Bool​::True) and print qq{$_ } for 1..100;' 1 2 3 4 5 6 7 8 9 10 *** glibc detected *** ./perl6​: free()​: invalid pointer​: 0x000000000441e388 *** ======= Backtrace​: ========= /lib64/libc.so.6[0x3c6087c00e] /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/nqp_bigint_ops.so(+0xc8dd)[0x7f1289bb88dd] /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/nqp_ops.so(+0x26e72)[0x7f128a02ae72] /home/ira/rakudo/rakudo-star-2013.02/install/lib/libparrot.so.4.10.0(+0x897cd)[0x7f1290b8e7cd] /home/ira/rakudo/rakudo-star-2013.02/install/lib/libparrot.so.4.10.0(+0x89ae7)[0x7f1290b8eae7] /home/ira/rakudo/rakudo-star-2013.02/install/lib/libparrot.so.4.10.0(Parrot_gc_new_pmc_header+0x1b)[0x7f1290b89e7b] /home/ira/rakudo/rakudo-star-2013.02/install/lib/libparrot.so.4.10.0(+0xa87dd)[0x7f1290bad7dd] /home/ira/rakudo/rakudo-star-2013.02/install/lib/libparrot.so.4.10.0(Parrot_pmc_new+0x3c)[0x7f1290bada8c] /home/ira/rakudo/rakudo-star-2013.02/install/lib/libparrot.so.4.10.0(+0x12241e)[0x7f1290c2741e] /home/ira/rakudo/rakudo-star-2013.02/install/lib/libparrot.so.4.10.0(+0x5faa7)[0x7f1290b64aa7] /home/ira/rakudo/rakudo-star-2013.02/install/lib/libparrot.so.4.10.0(+0xa9cd5)[0x7f1290baecd5] /home/ira/rakudo/rakudo-star-2013.02/install/lib/libparrot.so.4.10.0(+0xa992d)[0x7f1290bae92d] /home/ira/rakudo/rakudo-star-2013.02/install/lib/libparrot.so.4.10.0(+0x9369e)[0x7f1290b9869e] /home/ira/rakudo/rakudo-star-2013.02/install/lib/libparrot.so.4.10.0(Parrot_pcc_invoke_from_sig_object+0xde)[0x7f1290b940be] /home/ira/rakudo/rakudo-star-2013.02/install/lib/libparrot.so.4.10.0(Parrot_ext_call+0xcc)[0x7f1290b8880c] /home/ira/rakudo/rakudo-star-2013.02/install/lib/libparrot.so.4.10.0(+0x15d6fd)[0x7f1290c626fd] /home/ira/rakudo/rakudo-star-2013.02/install/lib/libparrot.so.4.10.0(Parrot_pcc_invoke_from_sig_object+0x8a)[0x7f1290b9406a] /home/ira/rakudo/rakudo-star-2013.02/install/lib/libparrot.so.4.10.0(Parrot_ext_call+0xcc)[0x7f1290b8880c] /home/ira/rakudo/rakudo-star-2013.02/install/lib/libparrot.so.4.10.0(+0xadc3d)[0x7f1290bb2c3d] /home/ira/rakudo/rakudo-star-2013.02/install/lib/libparrot.so.4.10.0(Parrot_cx_begin_execution+0x6a)[0x7f1290bb2cca] /home/ira/rakudo/rakudo-star-2013.02/install/lib/libparrot.so.4.10.0(Parrot_pf_execute_bytecode_program+0xdb)[0x7f1290bba87b] /home/ira/rakudo/rakudo-star-2013.02/install/lib/libparrot.so.4.10.0(Parrot_api_run_bytecode+0xf1)[0x7f1290b84711] ./perl6(main+0x170)[0x4011b0] /lib64/libc.so.6(__libc_start_main+0xf5)[0x3c60821735] ./perl6[0x401261] ======= Memory map​: ======== 00400000-0040e000 r-xp 00000000 08​:04 6819182 /home/ira/rakudo/rakudo-star-2013.02/perl6 0060e000-0060f000 rw-p 0000e000 08​:04 6819182 /home/ira/rakudo/rakudo-star-2013.02/perl6 011a9000-08039000 rw-p 00000000 00​:00 0 [heap] 3aab800000-3aab802000 r-xp 00000000 08​:02 5008155 /usr/lib64/libutil-2.15.so 3aab802000-3aaba01000 ---p 00002000 08​:02 5008155 /usr/lib64/libutil-2.15.so 3aaba01000-3aaba02000 r--p 00001000 08​:02 5008155 /usr/lib64/libutil-2.15.so 3aaba02000-3aaba03000 rw-p 00002000 08​:02 5008155 /usr/lib64/libutil-2.15.so 3c31a00000-3c31a3c000 r-xp 00000000 08​:02 5007605 /usr/lib64/libreadline.so.6.2 3c31a3c000-3c31c3b000 ---p 0003c000 08​:02 5007605 /usr/lib64/libreadline.so.6.2 3c31c3b000-3c31c3d000 r--p 0003b000 08​:02 5007605 /usr/lib64/libreadline.so.6.2 3c31c3d000-3c31c43000 rw-p 0003d000 08​:02 5007605 /usr/lib64/libreadline.so.6.2 3c31c43000-3c31c45000 rw-p 00000000 00​:00 0 3c33400000-3c33425000 r-xp 00000000 08​:02 5007457 /usr/lib64/libtinfo.so.5.9 3c33425000-3c33624000 ---p 00025000 08​:02 5007457 /usr/lib64/libtinfo.so.5.9 3c33624000-3c33628000 r--p 00024000 08​:02 5007457 /usr/lib64/libtinfo.so.5.9 3c33628000-3c33629000 rw-p 00028000 08​:02 5007457 /usr/lib64/libtinfo.so.5.9 3c34800000-3c34807000 r-xp 00000000 08​:02 5007913 /usr/lib64/librt-2.15.so 3c34807000-3c34a06000 ---p 00007000 08​:02 5007913 /usr/lib64/librt-2.15.so 3c34a06000-3c34a07000 r--p 00006000 08​:02 5007913 /usr/lib64/librt-2.15.so 3c34a07000-3c34a08000 rw-p 00007000 08​:02 5007913 /usr/lib64/librt-2.15.so 3c60400000-3c60420000 r-xp 00000000 08​:02 4984833 /usr/lib64/ld-2.15.so 3c6061f000-3c60620000 r--p 0001f000 08​:02 4984833 /usr/lib64/ld-2.15.so 3c60620000-3c60621000 rw-p 00020000 08​:02 4984833 /usr/lib64/ld-2.15.so 3c60621000-3c60622000 rw-p 00000000 00​:00 0 3c60800000-3c609ac000 r-xp 00000000 08​:02 4984834 /usr/lib64/libc-2.15.so 3c609ac000-3c60bac000 ---p 001ac000 08​:02 4984834 /usr/lib64/libc-2.15.so 3c60bac000-3c60bb0000 r--p 001ac000 08​:02 4984834 /usr/lib64/libc-2.15.so 3c60bb0000-3c60bb2000 rw-p 001b0000 08​:02 4984834 /usr/lib64/libc-2.15.so 3c60bb2000-3c60bb7000 rw-p 00000000 00​:00 0 3c60c00000-3c60c03000 r-xp 00000000 08​:02 4990610 /usr/lib64/libdl-2.15.so 3c60c03000-3c60e02000 ---p 00003000 08​:02 4990610 /usr/lib64/libdl-2.15.so 3c60e02000-3c60e03000 r--p 00002000 08​:02 4990610 /usr/lib64/libdl-2.15.so 3c60e03000-3c60e04000 rw-p 00003000 08​:02 4990610 /usr/lib64/libdl-2.15.so 3c61000000-3c61016000 r-xp 00000000 08​:02 4980748 /usr/lib64/libpthread-2.15.so 3c61016000-3c61216000 ---p 00016000 08​:02 4980748 /usr/lib64/libpthread-2.15.so 3c61216000-3c61217000 r--p 00016000 08​:02 4980748 /usr/lib64/libpthread-2.15.so 3c61217000-3c61218000 rw-p 00017000 08​:02 4980748 /usr/lib64/libpthread-2.15.so 3c61218000-3c6121c000 rw-p 00000000 00​:00 0 3c61800000-3c618fa000 r-xp 00000000 08​:02 4992975 /usr/lib64/libm-2.15.so 3c618fa000-3c61af9000 ---p 000fa000 08​:02 4992975 /usr/lib64/libm-2.15.so 3c61af9000-3c61afa000 r--p 000f9000 08​:02 4992975 /usr/lib64/libm-2.15.so 3c61afa000-3c61afb000 rw-p 000fa000 08​:02 4992975 /usr/lib64/libm-2.15.so 3c62800000-3c62815000 r-xp 00000000 08​:02 4981556 /usr/lib64/libgcc_s-4.7.2-20120921.so.1 3c62815000-3c62a14000 ---p 00015000 08​:02 4981556 /usr/lib64/libgcc_s-4.7.2-20120921.so.1 3c62a14000-3c62a15000 rw-p 00014000 08​:02 4981556 /usr/lib64/libgcc_s-4.7.2-20120921.so.1 3c62c00000-3c62c16000 r-xp 00000000 08​:02 5007444 /usr/lib64/libresolv-2.15.so 3c62c16000-3c62e15000 ---p 00016000 08​:02 5007444 /usr/lib64/libresolv-2.15.so 3c62e15000-3c62e16000 r--p 00015000 08​:02 5007444 /usr/lib64/libresolv-2.15.so 3c62e16000-3c62e17000 rw-p 00016000 08​:02 5007444 /usr/lib64/libresolv-2.15.so 3c62e17000-3c62e19000 rw-p 00000000 00​:00 0 3c64400000-3c644e5000 r-xp 00000000 08​:02 5007465 /usr/lib64/libstdc++.so.6.0.17 3c644e5000-3c646e4000 ---p 000e5000 08​:02 5007465 /usr/lib64/libstdc++.so.6.0.17 3c646e4000-3c646ec000 r--p 000e4000 08​:02 5007465 /usr/lib64/libstdc++.so.6.0.17 3c646ec000-3c646ee000 rw-p 000ec000 08​:02 5007465 /usr/lib64/libstdc++.so.6.0.17 3c646ee000-3c64703000 rw-p 00000000 00​:00 0 3c71000000-3c71016000 r-xp 00000000 08​:02 4988400 /usr/lib64/libnsl-2.15.so 3c71016000-3c71215000 ---p 00016000 08​:02 4988400 /usr/lib64/libnsl-2.15.so 3c71215000-3c71216000 r--p 00015000 08​:02 4988400 /usr/lib64/libnsl-2.15.so 3c71216000-3c71217000 rw-p 00016000 08​:02 4988400 /usr/lib64/libnsl-2.15.so 3c71217000-3c71219000 rw-p 00000000 00​:00 0 3c74400000-3c74556000 r-xp 00000000 08​:02 4999628 /usr/lib64/libicuuc.so.48.1.1 3c74556000-3c74756000 ---p 00156000 08​:02 4999628 /usr/lib64/libicuuc.so.48.1.1 3c74756000-3c74766000 r--p 00156000 08​:02 4999628 /usr/lib64/libicuuc.so.48.1.1 3c74766000-3c74767000 rw-p 00166000 08​:02 4999628 /usr/lib64/libicuuc.so.48.1.1 3c74767000-3c7476b000 rw-p 00000000 00​:00 0 3c75c00000-3c76d6f000 r-xp 00000000 08​:02 5000354 /usr/lib64/libicudata.so.48.1.1 3c76d6f000-3c76f6e000 ---p 0116f000 08​:02 5000354 /usr/lib64/libicudata.so.48.1.1 3c76f6e000-3c76f6f000 r--p 0116e000 08​:02 5000354 /usr/lib64/libicudata.so.48.1.1 3c76f6f000-3c76f70000 rw-p 0116f000 08​:02 5000354 /usr/lib64/libicudata.so.48.1.1 3f74800000-3f74865000 r-xp 00000000 08​:02 4987304 /usr/lib64/libfreebl3.so 3f74865000-3f74a65000 ---p 00065000 08​:02 4987304 /usr/lib64/libfreebl3.so 3f74a65000-3f74a66000 rw-p 00065000 08​:02 4987304 /usr/lib64/libfreebl3.so 3f74a66000-3f74a6b000 rw-p 00000000 00​:00 0 3f75400000-3f75408000 r-xp 00000000 08​:02 4999398 /usr/lib64/libcrypt-2.15.so 3f75408000-3f75607000 ---p 00008000 08​:02 4999398 /usr/lib64/libcrypt-2.15.so 3f75607000-3f75608000 r--p 00007000 08​:02 4999398 /usr/lib64/libcrypt-2.15.so 3f75608000-3f75609000 rw-p 00008000 08​:02 4999398 /usr/lib64/libcrypt-2.15.so 3f75609000-3f75637000 rw-p 00000000 00​:00 0 7f1285785000-7f1285c90000 rw-p 00000000 00​:00 0 7f1285c90000-7f1285c9f000 r-xp 00000000 08​:04 6949718 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/nqp_dyncall_ops.so 7f1285c9f000-7f1285e9e000 ---p 0000f000 08​:04 6949718 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/nqp_dyncall_ops.so 7f1285e9e000-7f1285e9f000 r--p 0000e000 08​:04 6949718 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/nqp_dyncall_ops.so 7f1285e9f000-7f1285ea0000 rw-p 0000f000 08​:04 6949718 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/nqp_dyncall_ops.so 7f1285ea0000-7f1285ea3000 r-xp 00000000 08​:04 6949173 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/sys_ops.so 7f1285ea3000-7f12860a2000 ---p 00003000 08​:04 6949173 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/sys_ops.so 7f12860a2000-7f12860a3000 r--p 00002000 08​:04 6949173 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/sys_ops.so 7f12860a3000-7f12860a4000 rw-p 00003000 08​:04 6949173 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/sys_ops.so 7f12860a4000-7f12860a8000 r-xp 00000000 08​:04 6949168 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/math_ops.so 7f12860a8000-7f12862a8000 ---p 00004000 08​:04 6949168 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/math_ops.so 7f12862a8000-7f12862a9000 r--p 00004000 08​:04 6949168 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/math_ops.so 7f12862a9000-7f12862ab000 rw-p 00005000 08​:04 6949168 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/math_ops.so 7f12862ab000-7f12862b4000 r-xp 00000000 08​:04 6949162 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/bit_ops.so 7f12862b4000-7f12864b3000 ---p 00009000 08​:04 6949162 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/bit_ops.so 7f12864b3000-7f12864b4000 r--p 00008000 08​:04 6949162 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/bit_ops.so 7f12864b4000-7f12864b8000 rw-p 00009000 08​:04 6949162 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/bit_ops.so 7f12864b8000-7f12864bb000 r-xp 00000000 08​:04 6949169 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/obscure_ops.so 7f12864bb000-7f12866ba000 ---p 00003000 08​:04 6949169 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/obscure_ops.so 7f12866ba000-7f12866bb000 r--p 00002000 08​:04 6949169 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/obscure_ops.so 7f12866bb000-7f12866bd000 rw-p 00003000 08​:04 6949169 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/obscure_ops.so 7f12866bd000-7f12866c0000 r-xp 00000000 08​:04 6949165 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/file.so 7f12866c0000-7f12868bf000 ---p 00003000 08​:04 6949165 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/file.so 7f12868bf000-7f12868c0000 r--p 00002000 08​:04 6949165 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/file.so 7f12868c0000-7f12868c1000 rw-p 00003000 08​:04 6949165 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/file.so 7f12868c1000-7f12868c3000 r-xp 00000000 08​:04 6949170 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/os.so 7f12868c3000-7f1286ac2000 ---p 00002000 08​:04 6949170 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/os.so 7f1286ac2000-7f1286ac3000 r--p 00001000 08​:04 6949170 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/os.so 7f1286ac3000-7f1286ac4000 rw-p 00002000 08​:04 6949170 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/os.so 7f1286ac4000-7f1287d4e000 rw-p 00000000 00​:00 0 7f1287d4e000-7f1287d54000 r-xp 00000000 08​:04 6949174 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/trans_ops.so 7f1287d54000-7f1287f53000 ---p 00006000 08​:04 6949174 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/trans_ops.so 7f1287f53000-7f1287f54000 r--p 00005000 08​:04 6949174 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/trans_ops.so 7f1287f54000-7f1287f57000 rw-p 00006000 08​:04 6949174 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/trans_ops.so 7f1287f57000-7f1289982000 rw-p 00000000 00​:00 0 7f1289982000-7f1289988000 r-xp 00000000 08​:04 6949167 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/io_ops.so 7f1289988000-7f1289b87000 ---p 00006000 08​:04 6949167 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/io_ops.so 7f1289b87000-7f1289b88000 r--p 00005000 08​:04 6949167 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/io_ops.so 7f1289b88000-7f1289b8b000 rw-p 00006000 08​:04 6949167 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/io_ops.so 7f1289b8b000-7f1289bac000 rw-p 00000000 00​:00 0 7f1289bac000-7f1289bc6000 r-xp 00000000 08​:04 6949717 /home/ira/rakudo/rakudo-star-2013.02/install/lib/parrot/4.10.0/dynext/nqp_bigint_ops.soAborted (core dumped)


This is from Rakudo Star 2013-01​:

[ira@​f17 rakudo-star-2013.01]$ ./perl6 -v This is perl6 version 2013.01 built on parrot 4.10.0 revision 0

[ira@​f17 rakudo-star-2013.01]$ ./perl6 -e '(0 but Bool​::True) and print qq{$_ } for 1..100;' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 *** glibc detected *** ./perl6​: free()​: invalid next size (fast)​: 0x00000000011ec520 *** ======= Backtrace​: ========= /lib64/libc.so.6[0x3c6087c00e] /home/ira/rakudo/rakudo-star-2013.01/install/lib/parrot/4.10.0/dynext/nqp_ops.so(+0x23bf1)[0x7fa9ce12ebf1] /home/ira/rakudo/rakudo-star-2013.01/install/lib/libparrot.so.4.10.0(+0x897cd)[0x7fa9d4c907cd] /home/ira/rakudo/rakudo-star-2013.01/install/lib/libparrot.so.4.10.0(+0x89ae7)[0x7fa9d4c90ae7] /home/ira/rakudo/rakudo-star-2013.01/install/lib/libparrot.so.4.10.0(Parrot_gc_new_pmc_header+0x1b)[0x7fa9d4c8be7b] /home/ira/rakudo/rakudo-star-2013.01/install/lib/libparrot.so.4.10.0(+0xa87dd)[0x7fa9d4caf7dd] /home/ira/rakudo/rakudo-star-2013.01/install/lib/libparrot.so.4.10.0(Parrot_pmc_new+0x3c)[0x7fa9d4cafa8c] /home/ira/rakudo/rakudo-star-2013.01/install/lib/libparrot.so.4.10.0(Parrot_pcc_reuse_continuation+0x6d)[0x7fa9d4c9ae4d] /home/ira/rakudo/rakudo-star-2013.01/install/lib/libparrot.so.4.10.0(+0x60bff)[0x7fa9d4c67bff] /home/ira/rakudo/rakudo-star-2013.01/install/lib/libparrot.so.4.10.0(+0xa9cd5)[0x7fa9d4cb0cd5] /home/ira/rakudo/rakudo-star-2013.01/install/lib/libparrot.so.4.10.0(+0xa992d)[0x7fa9d4cb092d] /home/ira/rakudo/rakudo-star-2013.01/install/lib/libparrot.so.4.10.0(+0x9369e)[0x7fa9d4c9a69e] /home/ira/rakudo/rakudo-star-2013.01/install/lib/libparrot.so.4.10.0(Parrot_pcc_invoke_from_sig_object+0xde)[0x7fa9d4c960be] /home/ira/rakudo/rakudo-star-2013.01/install/lib/libparrot.so.4.10.0(Parrot_ext_call+0xcc)[0x7fa9d4c8a80c] /home/ira/rakudo/rakudo-star-2013.01/install/lib/libparrot.so.4.10.0(+0x15d6fd)[0x7fa9d4d646fd] /home/ira/rakudo/rakudo-star-2013.01/install/lib/libparrot.so.4.10.0(Parrot_pcc_invoke_from_sig_object+0x8a)[0x7fa9d4c9606a] /home/ira/rakudo/rakudo-star-2013.01/install/lib/libparrot.so.4.10.0(Parrot_ext_call+0xcc)[0x7fa9d4c8a80c] /home/ira/rakudo/rakudo-star-2013.01/install/lib/libparrot.so.4.10.0(+0xadc3d)[0x7fa9d4cb4c3d] /home/ira/rakudo/rakudo-star-2013.01/install/lib/libparrot.so.4.10.0(Parrot_cx_begin_execution+0x6a)[0x7fa9d4cb4cca] /home/ira/rakudo/rakudo-star-2013.01/install/lib/libparrot.so.4.10.0(Parrot_pf_execute_bytecode_program+0xdb)[0x7fa9d4cbc87b] /home/ira/rakudo/rakudo-star-2013.01/install/lib/libparrot.so.4.10.0(Parrot_api_run_bytecode+0xf1)[0x7fa9d4c86711] ./perl6(main+0x170)[0x4011b0] /lib64/libc.so.6(__libc_start_main+0xf5)[0x3c60821735] ./perl6[0x401261] ======= Memory map​: ======== 00400000-0040e000 r-xp 00000000 08​:04 6294233 /home/ira/rakudo/rakudo-star-2013.01/perl6 0060d000-0060e000 rw-p 0000d000 08​:04 6294233 /home/ira/rakudo/rakudo-star-2013.01/perl6 00eda000-079d5000 rw-p 00000000 00​:00 0 [heap] 3aab800000-3aab802000 r-xp 00000000 08​:02 5008155 /usr/lib64/libutil-2.15.so 3aab802000-3aaba01000 ---p 00002000 08​:02 5008155 /usr/lib64/libutil-2.15.so 3aaba01000-3aaba02000 r--p 00001000 08​:02 5008155 /usr/lib64/libutil-2.15.so 3aaba02000-3aaba03000 rw-p 00002000 08​:02 5008155 /usr/lib64/libutil-2.15.so 3c31a00000-3c31a3c000 r-xp 00000000 08​:02 5007605 /usr/lib64/libreadline.so.6.2 3c31a3c000-3c31c3b000 ---p 0003c000 08​:02 5007605 /usr/lib64/libreadline.so.6.2 3c31c3b000-3c31c3d000 r--p 0003b000 08​:02 5007605 /usr/lib64/libreadline.so.6.2 3c31c3d000-3c31c43000 rw-p 0003d000 08​:02 5007605 /usr/lib64/libreadline.so.6.2 3c31c43000-3c31c45000 rw-p 00000000 00​:00 0 3c33400000-3c33425000 r-xp 00000000 08​:02 5007457 /usr/lib64/libtinfo.so.5.9 3c33425000-3c33624000 ---p 00025000 08​:02 5007457 /usr/lib64/libtinfo.so.5.9 3c33624000-3c33628000 r--p 00024000 08​:02 5007457 /usr/lib64/libtinfo.so.5.9 3c33628000-3c33629000 rw-p 00028000 08​:02 5007457 /usr/lib64/libtinfo.so.5.9 3c34800000-3c34807000 r-xp 00000000 08​:02 5007913 /usr/lib64/librt-2.15.so 3c34807000-3c34a06000 ---p 00007000 08​:02 5007913 /usr/lib64/librt-2.15.so 3c34a06000-3c34a07000 r--p 00006000 08​:02 5007913 /usr/lib64/librt-2.15.so 3c34a07000-3c34a08000 rw-p 00007000 08​:02 5007913 /usr/lib64/librt-2.15.so 3c60400000-3c60420000 r-xp 00000000 08​:02 4984833 /usr/lib64/ld-2.15.so 3c6061f000-3c60620000 r--p 0001f000 08​:02 4984833 /usr/lib64/ld-2.15.so 3c60620000-3c60621000 rw-p 00020000 08​:02 4984833 /usr/lib64/ld-2.15.so 3c60621000-3c60622000 rw-p 00000000 00​:00 0 3c60800000-3c609ac000 r-xp 00000000 08​:02 4984834 /usr/lib64/libc-2.15.so 3c609ac000-3c60bac000 ---p 001ac000 08​:02 4984834 /usr/lib64/libc-2.15.so 3c60bac000-3c60bb0000 r--p 001ac000 08​:02 4984834 /usr/lib64/libc-2.15.so 3c60bb0000-3c60bb2000 rw-p 001b0000 08​:02 4984834 /usr/lib64/libc-2.15.so 3c60bb2000-3c60bb7000 rw-p 00000000 00​:00 0 3c60c00000-3c60c03000 r-xp 00000000 08​:02 4990610 /usr/lib64/libdl-2.15.so 3c60c03000-3c60e02000 ---p 00003000 08​:02 4990610 /usr/lib64/libdl-2.15.so 3c60e02000-3c60e03000 r--p 00002000 08​:02 4990610 /usr/lib64/libdl-2.15.so 3c60e03000-3c60e04000 rw-p 00003000 08​:02 4990610 /usr/lib64/libdl-2.15.so 3c61000000-3c61016000 r-xp 00000000 08​:02 4980748 /usr/lib64/libpthread-2.15.so 3c61016000-3c61216000 ---p 00016000 08​:02 4980748 /usr/lib64/libpthread-2.15.so 3c61216000-3c61217000 r--p 00016000 08​:02 4980748 /usr/lib64/libpthread-2.15.so 3c61217000-3c61218000 rw-p 00017000 08​:02 4980748 /usr/lib64/libpthread-2.15.so 3c61218000-3c6121c000 rw-p 00000000 00​:00 0 3c61800000-3c618fa000 r-xp 00000000 08​:02 4992975 /usr/lib64/libm-2.15.so 3c618fa000-3c61af9000 ---p 000fa000 08​:02 4992975 /usr/lib64/libm-2.15.so 3c61af9000-3c61afa000 r--p 000f9000 08​:02 4992975 /usr/lib64/libm-2.15.so 3c61afa000-3c61afb000 rw-p 000fa000 08​:02 4992975 /usr/lib64/libm-2.15.so 3c62800000-3c62815000 r-xp 00000000 08​:02 4981556 /usr/lib64/libgcc_s-4.7.2-20120921.so.1 3c62815000-3c62a14000 ---p 00015000 08​:02 4981556 /usr/lib64/libgcc_s-4.7.2-20120921.so.1 3c62a14000-3c62a15000 rw-p 00014000 08​:02 4981556 /usr/lib64/libgcc_s-4.7.2-20120921.so.1 3c62c00000-3c62c16000 r-xp 00000000 08​:02 5007444 /usr/lib64/libresolv-2.15.so 3c62c16000-3c62e15000 ---p 00016000 08​:02 5007444 /usr/lib64/libresolv-2.15.so 3c62e15000-3c62e16000 r--p 00015000 08​:02 5007444 /usr/lib64/libresolv-2.15.so 3c62e16000-3c62e17000 rw-p 00016000 08​:02 5007444 /usr/lib64/libresolv-2.15.so 3c62e17000-3c62e19000 rw-p 00000000 00​:00 0 3c64400000-3c644e5000 r-xp 00000000 08​:02 5007465 /usr/lib64/libstdc++.so.6.0.17 3c644e5000-3c646e4000 ---p 000e5000 08​:02 5007465 /usr/lib64/libstdc++.so.6.0.17 3c646e4000-3c646ec000 r--p 000e4000 08​:02 5007465 /usr/lib64/libstdc++.so.6.0.17 3c646ec000-3c646ee000 rw-p 000ec000 08​:02 5007465 /usr/lib64/libstdc++.so.6.0.17 3c646ee000-3c64703000 rw-p 00000000 00​:00 0 3c71000000-3c71016000 r-xp 00000000 08​:02 4988400 /usr/lib64/libnsl-2.15.so 3c71016000-3c71215000 ---p 00016000 08​:02 4988400 /usr/lib64/libnsl-2.15.so 3c71215000-3c71216000 r--p 00015000 08​:02 4988400 /usr/lib64/libnsl-2.15.so 3c71216000-3c71217000 rw-p 00016000 08​:02 4988400 /usr/lib64/libnsl-2.15.so 3c71217000-3c71219000 rw-p 00000000 00​:00 0 3c74400000-3c74556000 r-xp 00000000 08​:02 4999628 /usr/lib64/libicuuc.so.48.1.1 3c74556000-3c74756000 ---p 00156000 08​:02 4999628 /usr/lib64/libicuuc.so.48.1.1 3c74756000-3c74766000 r--p 00156000 08​:02 4999628 /usr/lib64/libicuuc.so.48.1.1 3c74766000-3c74767000 rw-p 00166000 08​:02 4999628 /usr/lib64/libicuuc.so.48.1.1 3c74767000-3c7476b000 rw-p 00000000 00​:00 0 3c75c00000-3c76d6f000 r-xp 00000000 08​:02 5000354 /usr/lib64/libicudata.so.48.1.1 3c76d6f000-3c76f6e000 ---p 0116f000 08​:02 5000354 /usr/lib64/libicudata.so.48.1.1 3c76f6e000-3c76f6f000 r--p 0116e000 08​:02 5000354 /usr/lib64/libicudata.so.48.1.1 3c76f6f000-3c76f70000 rw-p 0116f000 08​:02 5000354 /usr/lib64/libicudata.so.48.1.1 3f74800000-3f74865000 r-xp 00000000 08​:02 4987304 /usr/lib64/libfreebl3.so 3f74865000-3f74a65000 ---p 00065000 08​:02 4987304 /usr/lib64/libfreebl3.so 3f74a65000-3f74a66000 rw-p 00065000 08​:02 4987304 /usr/lib64/libfreebl3.so 3f74a66000-3f74a6b000 rw-p 00000000 00​:00 0 3f75400000-3f75408000 r-xp 00000000 08​:02 4999398 /usr/lib64/libcrypt-2.15.so 3f75408000-3f75607000 ---p 00008000 08​:02 4999398 /usr/lib64/libcrypt-2.15.so 3f75607000-3f75608000 r--p 00007000 08​:02 4999398 /usr/lib64/libcrypt-2.15.so 3f75608000-3f75609000 rw-p 00008000 08​:02 4999398 /usr/lib64/libcrypt-2.15.so 3f75609000-3f75637000 rw-p 00000000 00​:00 0 7fa9c9d6b000-7fa9ca1fc000 rw-p 00000000 00​:00 0 7fa9ca1fc000-7fa9ca20b000 r-xp 00000000 08​:04 6427882 /home/ira/rakudo/rakudo-star-2013.01/install/lib/parrot/4.10.0/dynext/nqp_dyncall_ops.so 7fa9ca20b000-7fa9ca40a000 ---p 0000f000 08​:04 6427882 /home/ira/rakudo/rakudo-star-2013.01/install/lib/parrot/4.10.0/dynext/nqp_dyncall_ops.so 7fa9ca40a000-7fa9ca40b000 r--p 0000e000 08​:04 6427882 /home/ira/rakudo/rakudo-star-2013.01/install/lib/parrot/4.10.0/dynext/nqp_dyncall_ops.so 7fa9ca40b000-7fa9ca40c000 rw-p 0000f000 08​:04 6427882 /home/ira/rakudo/rakudo-star-2013.01/install/lib/parrot/4.10.0/dynext/nqp_dyncall_ops.so 7fa9ca40c000-7fa9ca40f000 r-xp 00000000 08​:04 6427337 /home/ira/rakudo/rakudo-star-2013.01/install/lib/parrot/4.10.0/dynext/sys_ops.so 7fa9ca40f000-7fa9ca60e000 ---p 00003000 08​:04 6427337 /home/ira/rakudo/rakudo-star-2013.01/install/lib/parrot/4.10.0/dynext/sys_ops.so 7fa9ca60e000-7fa9ca60f000 r--p 00002000 08​:04 6427337 /home/ira/rakudo/rakudo-star-2013.01/install/lib/parrot/4.10.0/dynext/sys_ops.so 7fa9ca60f000-7fa9ca610000 rw-p 00003000 08​:04 6427337 /home/ira/rakudo/rakudo-star-2013.01/install/lib/parrot/4.10.0/dynext/sys_ops.so 7fa9ca610000-7fa9ca614000 r-xp 00000000 08​:04 6427332 /home/ira/rakudo/rakudo-star-2013.01/install/lib/parrot/4.10.0/dynext/math_ops.so 7fa9ca614000-7fa9ca814000 ---p 00004000 08​:04 6427332 /home/ira/rakudo/rakudo-star-2013.01/install/lib/parrot/4.10.0/dynext/math_ops.so 7fa9ca814000-7fa9ca815000 r--p 00004000 08​:04 6427332 /home/ira/rakudo/rakudo-star-2013.01/install/lib/parrot/4.10.0/dynext/math_ops.so 7fa9ca815000-7fa9ca817000 rw-p 00005000 08​:04 6427332 /home/ira/rakudo/rakudo-star-2013.01/install/lib/parrot/4.10.0/dynext/math_ops.so 7fa9ca817000-7fa9ca820000 r-xp 00000000 08​:04 6427326 /home/ira/rakudo/rakudo-star-2013.01/install/lib/parrot/4.10.0/dynext/bit_ops.so 7fa9ca820000-7fa9caa1f000 ---p 00009000 08​:04 6427326 /home/ira/rakudo/rakudo-star-2013.01/install/lib/parrot/4.10.0/dynext/bit_ops.so 7fa9caa1f000-7fa9caa20000 r--p 00008000 08​:04 6427326 /home/ira/rakudo/rakudo-star-2013.01/install/lib/parrot/4.10.0/dynext/bit_ops.so 7fa9caa20000-7fa9caa24000 rw-p 00009000 08​:04 6427326 /home/ira/rakudo/rakudo-star-2013.01/install/lib/parrot/4.10.0/dynext/bit_ops.so 7fa9caa24000-7fa9caa27000 r-xp 00000000 08​:04 6427333 /home/ira/rakudo/rakudo-star-2013.01/install/lib/parrot/4.10.0/dynext/obscure_ops.so 7fa9caa27000-7fa9cac26000 ---p 00003000 08​:04 6427333 /home/ira/rakudo/rakudo-star-2013.01/install/lib/parrot/4.10.0/dynext/obscure_ops.so 7fa9cac26000-7fa9cac27000 r--p 00002000 08​:04 6427333 /home/ira/rakudo/rakudo-star-2013.01/install/lib/parrot/4.10.0/dynext/obscure_ops.so 7fa9cac27000-7fa9cac29000 rw-p 00003000 08​:04 6427333 /home/ira/rakudo/rakudo-star-2013.01/install/lib/parrot/4.10.0/dynext/obscure_ops.so 7fa9cac29000-7fa9cac2c000 r-xp 00000000 08​:04 6427329 /home/ira/rakudo/rakudo-star-2013.01/install/lib/parrot/4.10.0/dynext/file.so 7fa9cac2c000-7fa9cae2b000 ---p 00003000 08​:04 6427329 /home/ira/rakudo/rakudo-star-2013.01/install/lib/parrot/4.10.0/dynext/file.so 7fa9cae2b000-7fa9cae2c000 r--p 00002000 08​:04 6427329 /home/ira/rakudo/rakudo-star-2013.01/install/lib/parrot/4.10.0/dynext/file.so 7fa9cae2c000-7fa9cae2d000 rw-p 00003000 08​:04 6427329 /home/ira/rakudo/rakudo-star-2013.01/install/lib/parrot/4.10.0/dynext/file.so 7fa9cae2d000-7fa9cae2f000 r-xp 00000000 08​:04 6427334 /home/ira/rakudo/rakudo-star-2013.01/install/lib/parrot/4.10.0/dynext/os.so 7fa9cae2f000-7fa9cb02e000 ---p 00002000 08​:04 6427334 /home/ira/rakudo/rakudo-star-2013.01/install/lib/parrot/4.10.0/dynext/os.soAborted (core dumped)

p6rt commented 11 years ago

From @quester

One more observation that might be helpful​:

Whether memory allocation errors occur or not appears to depend on the data type on the left hand of the "but" operator. If it is either an integer or undefined or both, Rakudo will crash after a dozen or so iterations.

All the other defined data types I have tried on the left hand side work (or at least they don't crash; some of them aren't especially useful).

I *think* that this *may* indicate that the size of the left hand operand of "but" affects whether the crash occurs. (If it's an integer, the size of the integer does *not* affect whether the crash occurs, but judging from the output of valgrind, it looks like the NQP bigint implementation uses the bn_mp_... functions in libtommath, and the "digits" that represent the numbers are allocated and deallocated separately from the mp_int structure.)

If I ever have enough tuits, I will try looking at the valgrind output again, but there are a LOT of complaints about reading unallocated memory and using memory after it has been freed, even in the cases where there is no crash.

FWIW, here are the tests I ran... each expression is run in a loop 100 times.

These work; at least, without double free or other memory allocation crash​:

"0" but True "0" but False "0" but "some_string" [0] but True [0] but False [0] but "some_string" {0=>0} but True {0=>0} but False {0=>0} but "some_string" 0.0 but True 0.0 but False 0.0 but "some_string" 0e0 but True 0e0 but False 0e0 but "some_string" 0+0i but True 0+0i but False 0+0i but "some_string"

These fail with double free or other memory allocation problems​:

0 but True 0 but False 0 but "some_string" Int but True Int but False Int but "some_string" Str but True Str but False Str but "some_string" List but True List but False List but "some_string" Hash but True Hash but False Hash but "some_string" Num but True Num but False Num but "some_string" Complex but True Complex but False Complex but "some_string"

[The following number is 2^4095, written out, so the value cannot be less than 512 bytes long...]

522194440706576253345876355358312191289982124523691890192116741641976953985778728424413405967498779170445053357219631418993786719092896803631618043925682638972978488271854999170180795067191859157214035005927973113188159419698856372836167342172293308748403954352901852035642024370059304557233988891799014503343469488440893892973452815095130470299789726716411734651513348221529512507986199933857107770846917779942645743159118957217248367043905936319748237550094520674504208530837546834166925275516486044134775384991808184705966507606898412918594045916828375610659246423184062775112999150206172392431297837246097308511903252956622805412865917690043804311051417135098849101156584508839003337597742539960818209685142687562392007453579567729991395256699805775897135553415567045292136442139895777424891477161767258532611634530697452993846501061481697843891439474220308003706472837459911525285821188577408160690315522951458068463354171428220365223949985950890732881736611925133626529949897998045399734600887312408859224933727829625089164535236559716582775403784110923285873186648442456409760158728501220463308455437074192539205964902261490928669488824051563042951500651206733594863336608245755565801460390869016718045121902354170201577095168 but True

These fails peculiarly ("Cannot look up attributes in a type object") but without a memory allocation error​:

Rat but True Rat but False Rat but "some_string"

Best regards, Ira

p6rt commented 11 years ago

From @coke

This has been failing on the daily spec test runs on feather for a week or so.

$ ./perl6 --version This is perl6 version 2013.04-56-gbfd8508 built on parrot 5.2.0 revision RELEASE_5_2_0

$ .-types/bool.t 1..51 ok 1 - The object is-a 'Bool' ok 2 - The object is-a 'Bool' ok 3 - The object is-a 'Bool' ok 4 - The object is-a 'Bool' ok 5 - Bool.Bool is a Bool ok 6 - Bool.Bool is a Bool ok 7 - Bool.Bool works for True ok 8 - Bool.Bool works for False ok 9 - ?Bool is a Bool ok 10 - ?Bool is a Bool ok 11 - ?Bool works for True ok 12 - ?Bool works for False ok 13 - True works ok 14 - False works ok 15 - !True works ok 16 - !False works ok 17 - True works ok 18 - False works ok 19 - The object is-a 'Str' ok 20 - The object is-a 'Str' ok 21 - Bool stringification (True) ok 22 - Bool stringification (False) ok 23 - True.Str ok 24 - False.Str ok 25 - True.gist ok 26 - False.gist ok 27 - True.perl ok 28 - False.perl ok 29 - ok 30 - ok 31 - True numifies to an Int ok 32 - False numifies to an Int ok 33 - True Intifies to 1 ok 34 - False Intifies to 1 ok 35 - True numifies to 1 ok 36 - False numifies to 0 ok 37 - Increment of Bool​::False produces Bool​::True ok 38 - Increment of Bool​::True still produces Bool​::True ok 39 - Decrement of Bool​::True produces Bool​::False ok 40 - Decrement of Bool​::False produces Bool​::False ok 41 - Bool​::True works with "but" ok 42 - Bool​::True works with "but" ok 43 - Bool​::False works with "but" ok 44 - Bool​::False works with "but" ok 45 - Bool​::True.key works (is "True") ok 46 - Bool​::False.key works (is "False") ok 47 - Bool.pick return True or False ok 48 - Bool.pick(*) returns two elems ok 49 - Bool.roll(30) contains a True *** glibc detected *** ./perl6​: free()​: invalid next size (fast)​: 0x0db234c8 *** ======= Backtrace​: ========= /lib/i386-linux-gnu/libc.so.6(+0x70a8a)[0xf6031a8a] /lib/i386-linux-gnu/libc.so.6(+0x722e8)[0xf60332e8] /lib/i386-linux-gnu/libc.so.6(cfree+0x6d)[0xf60363ed] /home/coke/sandbox/perl6pass/rakudo/install/lib/libparrot.so.5.2.0(mem_sys_free+0x1f)[0xf75ac66f] ======= Memory map​: ======== 08048000-08052000 r-xp 00000000 fe​:00 2240734 /home/coke/sandbox/perl6pass/rakudo/perl6 08052000-08053000 rw-p 00009000 fe​:00 2240734 /home/coke/sandbox/perl6pass/rakudo/perl6 09307000-0dbdd000 rw-p 00000000 00​:00 0 [heap] f2d00000-f2d21000 rw-p 00000000 00​:00 0 f2d21000-f2e00000 ---p 00000000 00​:00 0 f2efa000-f3824000 rw-p 00000000 00​:00 0 f3824000-f3834000 r-xp 00000000 fe​:00 2236414 /home/coke/sandbox/perl6pass/rakudo/install/lib/parrot/5.2.0-devel/dynext/nqp_dyncall_ops.so f3834000-f3835000 rw-p 00010000 fe​:00 2236414 /home/coke/sandbox/perl6pass/rakudo/install/lib/parrot/5.2.0-devel/dynext/nqp_dyncall_ops.so f3835000-f3838000 r-xp 00000000 fe​:00 2196681 /home/coke/sandbox/perl6pass/rakudo/install/lib/parrot/5.2.0-devel/dynext/sys_ops.so f3838000-f3839000 rw-p 00002000 fe​:00 2196681 /home/coke/sandbox/perl6pass/rakudo/install/lib/parrot/5.2.0-devel/dynext/sys_ops.so f3839000-f383d000 r-xp 00000000 fe​:00 2196677 /home/coke/sandbox/perl6pass/rakudo/install/lib/parrot/5.2.0-devel/dynext/math_ops.so f383d000-f383f000 rw-p 00003000 fe​:00 2196677 /home/coke/sandbox/perl6pass/rakudo/install/lib/parrot/5.2.0-devel/dynext/math_ops.so f383f000-f3846000 r-xp 00000000 fe​:00 2196679 /home/coke/sandbox/perl6pass/rakudo/install/lib/parrot/5.2.0-devel/dynext/bit_ops.so f3846000-f384a000 rw-p 00007000 fe​:00 2196679 /home/coke/sandbox/perl6pass/rakudo/install/lib/parrot/5.2.0-devel/dynext/bit_ops.so f384a000-f384d000 r-xp 00000000 fe​:00 2196676 /home/coke/sandbox/perl6pass/rakudo/install/lib/parrot/5.2.0-devel/dynext/obscure_ops.so f384d000-f384e000 rw-p 00003000 fe​:00 2196676 /home/coke/sandbox/perl6pass/rakudo/install/lib/parrot/5.2.0-devel/dynext/obscure_ops.so f384e000-f3850000 r-xp 00000000 fe​:00 2196650 /home/coke/sandbox/perl6pass/rakudo/install/lib/parrot/5.2.0-devel/dynext/file.so f3850000-f3851000 rw-p 00002000 fe​:00 2196650 /home/coke/sandbox/perl6pass/rakudo/install/lib/parrot/5.2.0-devel/dynext/file.so f3851000-f3853000 r-xp 00000000 fe​:00 2196651 /home/coke/sandbox/perl6pass/rakudo/install/lib/parrot/5.2.0-devel/dynext/os.so f3853000-f3854000 rw-p 00001000 fe​:00 2196651 /home/coke/sandbox/perl6pass/rakudo/install/lib/parrot/5.2.0-devel/dynext/os.so f3854000-f4464000 rw-p 00000000 00​:00 0 f4464000-f4469000 r-xp 00000000 fe​:00 2196678 /home/coke/sandbox/perl6pass/rakudo/install/lib/parrot/5.2.0-devel/dynext/trans_ops.so f4469000-f446c000 rw-p 00004000 fe​:00 2196678 /home/coke/sandbox/perl6pass/rakudo/install/lib/parrot/5.2.0-devel/dynext/trans_ops.so f446c000-f53cc000 rw-p 00000000 00​:00 0 f53cc000-f53d1000 r-xp 00000000 fe​:00 2196682 /home/coke/sandbox/perl6pass/rakudo/install/lib/parrot/5.2.0-devel/dynext/io_ops.so f53d1000-f53d4000 rw-p 00004000 fe​:00 2196682 /home/coke/sandbox/perl6pass/rakudo/install/lib/parrot/5.2.0-devel/dynext/io_ops.so f53d4000-f53ee000 r-xp 00000000 fe​:00 2236413 /home/coke/sandbox/perl6pass/rakudo/install/lib/parrot/5.2.0-devel/dynext/nqp_bigint_ops.so f53ee000-f53f1000 rw-p 0001a000 fe​:00 2236413 /home/coke/sandbox/perl6pass/rakudo/install/lib/parrot/5.2.0-devel/dynext/nqp_bigint_ops.so f53f1000-f5413000 r-xp 00000000 fe​:00 2240658 /home/coke/sandbox/perl6pass/rakudo/dynext/perl6_ops.so f5413000-f541d000 rw-p 00021000 fe​:00 2240658 /home/coke/sandbox/perl6pass/rakudo/dynext/perl6_ops.so f541d000-f545f000 r-xp 00000000 fe​:00 2236412 /home/coke/sandbox/perl6pass/rakudo/install/lib/parrot/5.2.0-devel/dynext/nqp_ops.so f545f000-f546b000 rw-p 00042000 fe​:00 2236412 /home/coke/sandbox/perl6pass/rakudo/install/lib/parrot/5.2.0-devel/dynext/nqp_ops.so f546b000-f5472000 r-xp 00000000 fe​:00 2240655 /home/coke/sandbox/perl6pass/rakudo/dynext/perl6_group.so f5472000-f5473000 rw-p 00006000 fe​:00 2240655 /home/coke/sandbox/perl6pass/rakudo/dynext/perl6_group.so f5473000-f5474000 ---p 00000000 00​:00 0 f5474000-f5c73000 rwxp 00000000 00​:00 0 f5c73000-f5e73000 r--p 00000000 fe​:00 1220894 /usr/lib/locale/locale-archive f5e73000-f5e97000 rw-p 00000000 00​:00 0 f5e97000-f5eb3000 r-xp 00000000 fe​:00 376437 /lib/i386-linux-gnu/libgcc_s.so.1 f5eb3000-f5eb4000 rw-p 0001b000 fe​:00 376437 /lib/i386-linux-gnu/libgcc_s.so.1Aborted

running inside gdb says​:

Program received signal SIGABRT, Aborted. 0xf6860667 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c​:64 64 ../nptl/sysdeps/unix/sysv/linux/raise.c​: No such file or directory. (gdb) bt

​0 0xf6860667 in *__GI_raise (sig=6)

  at ../nptl/sysdeps/unix/sysv/linux/raise.c​:64

​1 0xf6863a52 in *__GI_abort () at abort.c​:92

​2 0xf689c98d in __libc_message (do_abort=2,

  fmt=0xf6963330 "*** glibc detected *** %s​: %s​: 0x%s ***\n")   at ../sysdeps/unix/sysv/linux/libc_fatal.c​:189

​3 0xf68a6a8a in malloc_printerr (action=\,

  str=0x6 \<Address 0x6 out of bounds>, ptr=0xc86f418) at malloc.c​:6283

​4 0xf68a82e8 in _int_free (av=\, p=\)

  at malloc.c​:4795

​5 0xf68ab3ed in *__GI___libc_free (mem=0xc86f418) at malloc.c​:3738

​6 0xf7e2166f in mem_sys_free (from=0xc86f418) at src/gc/alloc_memory.c​:204

​7 0xf5cb8bbe in gc_free (interp=0x8053028, obj=0xc0fc394) at

P6opaque.c​:903

​8 0xf7daf143 in Parrot_SixModelObject_destroy (interp=0x8053028,

  _self=0xc0fc394) at sixmodelobject.c​:195

​9 0xf7e274d4 in gc_gms_sweep_pools (self=0x8053238, interp=0x8053028)

  at src/gc/gc_gms.c​:1089

​10 gc_gms_mark_and_sweep (interp=interp@​entry=0x8053028, flags=flags@​entry

=0)   at src/gc/gc_gms.c​:858

​11 0xf7e27768 in gc_gms_allocate_pmc_header (interp=0x8053028,

flags_unused=0)   at src/gc/gc_gms.c​:1481

​12 0xf7e21f4f in Parrot_gc_new_pmc_header (interp=interp@​entry=0x8053028,

  flags=0) at src/gc/api.c​:312

​13 0xf7e4aff7 in get_new_pmc_header (interp=interp@​entry=0x8053028,

---Type \ to continue, or q \ to quit---   base_type=\, base_type@​entry=105, flags=\,   flags@​entry=0) at src/pmc.c​:571

​14 0xf7e4b595 in Parrot_pmc_new_init (interp=interp@​entry=0x8053028,

  base_type=105, init=0x965c208) at src/pmc.c​:630

​15 0xf7e7cbfd in Parrot_Sub_invoke (interp=0x8053028, _self=0x965c1f4,

  next=0xf41d9cf0) at ./src/pmc/sub.pmc​:457

​16 0xf7df9a61 in Parrot_invokecc_p (cur_opcode=0xf41d9ce8,

interp=0x8053028)   at src/ops/core_ops.c​:13891

​17 0xf7e4c76c in runops_fast_core (interp=0x8053028,

  runcore_unused=0x80e7b80, pc=\) at src/runcore/cores.c​:499

​18 0xf7e4c378 in runops_int (interp=interp@​entry=0x8053028, offset=27065)

  at src/runcore/main.c​:220

​19 0xf7e32306 in runops (interp=interp@​entry=0x8053028, offs=offs@​entry

=27065)   at src/call/ops.c​:123

​20 0xf7e2d7f8 in Parrot_pcc_invoke_from_sig_object (

  interp=interp@​entry=0x8053028, sub_obj=sub_obj@​entry=0x9419394,   call_object=\) at src/call/pcc.c​:338

​21 0xf7e1f176 in Parrot_ext_call (interp=interp@​entry=0x8053028,

  sub_pmc=0x9419394, signature=signature@​entry=0xf7f4a580 "P->")   at src/extend.c​:158

​22 0xf7f198e6 in Parrot_Task_invoke (interp=0x8053028, _self=0x940dab8,

  next=0x0) at ./src/pmc/task.pmc​:173

​23 0xf7e2d7b0 in Parrot_pcc_invoke_from_sig_object (

  interp=interp@​entry=0x8053028, sub_obj=sub_obj@​entry=0x940dab8, ---Type \ to continue, or q \ to quit---   call_object=0x94193a8) at src/call/pcc.c​:330

​24 0xf7e1f176 in Parrot_ext_call (interp=interp@​entry=0x8053028,

  sub_pmc=sub_pmc@​entry=0x940dab8, signature=signature@​entry=0xf7f4a551 "->")   at src/extend.c​:158

​25 0xf7e50ec2 in Parrot_cx_next_task (interp=interp@​entry=0x8053028,

  scheduler=scheduler@​entry=0x80e7780) at src/scheduler.c​:231

​26 0xf7e5101a in Parrot_cx_outer_runloop (interp=interp@​entry=0x8053028)

  at src/scheduler.c​:149

​27 0xf7e51129 in Parrot_cx_begin_execution (interp=interp@​entry=0x8053028,

  main=main@​entry=0x80b13c4, argv=argv@​entry=0x80eeeb0)   at src/scheduler.c​:109

​28 0xf7e5a4ed in Parrot_pf_execute_bytecode_program (

  interp=interp@​entry=0x8053028, pbc=pbc@​entry=0x80b1414,   args=args@​entry=0x80eeeb0) at src/packfile/api.c​:2829

​29 0xf7e1b33a in Parrot_api_run_bytecode (interp_pmc=0x80e2df4,

  pbc=0x80b1414, args=0x80eeeb0) at src/embed/bytecode.c​:161

​30 0x08048fa2 in main (argc=3, argv=0xffffcdb4) at perl6.c​:616

Neither sixmodelobject's destroy method nor the test file have changed recently.

-- Will "Coke" Coleda

p6rt commented 11 years ago

From @coke

I just completed a git bisect on nom for this issue.

5838e933b362d33c8a0854a7c410c347a4911bde is the first bad commit $ git show 5838e933b362d33c8a0854a7c410c347a4911bde commit 5838e933b362d33c8a0854a7c410c347a4911bde Merge​: 4741028 02c7fbb Author​: Moritz Lenz \moritz@&#8203;faui2k3\.org Date​: Sat May 4 21​:09​:08 2013 +0200

  Merge branch 'iospec' of https://github.com/labster/rakudo into nom

-- Will "Coke" Coleda

p6rt commented 11 years ago

From @coke

I just completed a git bisect on nom for this issue.

5838e933b362d33c8a0854a7c410c347a4911bde is the first bad commit $ git show 5838e933b362d33c8a0854a7c410c347a4911bde commit 5838e933b362d33c8a0854a7c410c347a4911bde Merge​: 4741028 02c7fbb Author​: Moritz Lenz \moritz@&#8203;faui2k3\.org Date​: Sat May 4 21​:09​:08 2013 +0200

  Merge branch 'iospec' of https://github.com/labster/rakudo into nom

-- Will "Coke" Coleda

p6rt commented 11 years ago

@coke - Status changed from 'new' to 'open'

p6rt commented 11 years ago

From @FROGGS

Hi, labster and me already discussed that issues the last days (since friday or so via irc).

It is true that this branch merge made this bug visible, but we dont believe that the patch is to be blamed.

My rakudo-build on feather shows, that if you comment out one of the 51 tests of bool.t the test doesnt end in a backtrace...

I can attach diffs to show what we have tried.

p6rt commented 10 years ago

From @usev6

Since the tests in S02-types/bool.t pass, the relevant problem seems to be the for loop with "0 but Bool​::True".

I don't see any crashes within the first 100 iterations, but on Parrot I get segfaults or crashes with around 262 iterations. On Moar and JVM there are no problems​:

$ perl6-m -e '(0 but Bool​::True) and print qq{$_ } for 1..1000;' 1 2 [...] 1000

$ perl6-j -e '(0 but Bool​::True) and print qq{$_ } for 1..1000;' 1 2 [...] 1000

$ perl6-p -e '(0 but Bool​::True) and print qq{$_ } for 1..1000;' 1 2 [...] 261 262 Segmentation fault

p6rt commented 10 years ago

From @usev6

Since the tests in S02-types/bool.t pass, the relevant problem seems to be the for loop with "0 but Bool​::True".

I don't see any crashes within the first 100 iterations, but on Parrot I get segfaults or crashes with around 262 iterations. On Moar and JVM there are no problems​:

$ perl6-m -e '(0 but Bool​::True) and print qq{$_ } for 1..1000;' 1 2 [...] 1000

$ perl6-j -e '(0 but Bool​::True) and print qq{$_ } for 1..1000;' 1 2 [...] 1000

$ perl6-p -e '(0 but Bool​::True) and print qq{$_ } for 1..1000;' 1 2 [...] 261 262 Segmentation fault

p6rt commented 10 years ago

@usev6 - Status changed from 'new' to 'open'

p6rt commented 9 years ago

From @usev6

As noted above the tests in S02-types/bool.t are passing for quite a while.

The only remaining problem was the segmentation fault with parrot when running '(0 but Bool​::True) and print qq{$_ } for 1..1000;'.

I just tested with the latest Rakudo Star (2015.02) and I was unable to reproduce the segfault there -- even with more iterations​:

$ perl6-p -e '(0 but Bool​::True) and print qq{$_ } for 1..10000;' 1 2 [...] 10000

I'm closing this ticket as 'resolved'.

p6rt commented 9 years ago

From @usev6

As noted above the tests in S02-types/bool.t are passing for quite a while.

The only remaining problem was the segmentation fault with parrot when running '(0 but Bool​::True) and print qq{$_ } for 1..1000;'.

I just tested with the latest Rakudo Star (2015.02) and I was unable to reproduce the segfault there -- even with more iterations​:

$ perl6-p -e '(0 but Bool​::True) and print qq{$_ } for 1..10000;' 1 2 [...] 10000

I'm closing this ticket as 'resolved'.

p6rt commented 9 years ago

@usev6 - Status changed from 'open' to 'resolved'