# New Ticket Created by  Moritz Lenz 
# Please include the string:  [perl #58564]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=58564 >


Running rakudo r30739 against the attached file (which is a stripped
down version of t/blocks/sub_arg_errors.t from the pugs repository)
gives this error message:


../../parrot perl6.pbc sub_arg_errors.t
compilers/imcc/pbc.c:1733: failed assertion 'PObj_is_PMC_TEST(sig_arr)'
Backtrace - Obtained 32 stack frames (max trace depth is 32).
  (unknown)
    Parrot_confess
      (unknown)
        (unknown)
          emit_flush
            imc_compile_unit
              (unknown)
                yyparse
                  (unknown)
                    (unknown)
                      (unknown)
                        (unknown)
                          Parrot_NCI_invoke
                            Parrot_invokecc_p
                              (unknown)
                                (unknown)
                                  (unknown)
                                    (unknown)
                                      Parrot_runops_fromc_args
                                        (unknown)
                                          (unknown)
                                            do_sub_pragmas
                                              PackFile_fixup_subs
                                                (unknown)
                                                  (unknown)
                                                    (unknown)
                                                      Parrot_NCI_invoke
                                                        Parrot_invokecc_p
                                                          (unknown)
                                                            (unknown)
                                                              (unknown)
                                                                (unknown)
Aborted

Removing a few lines usually produces a segmentation fault.

I don't know if this is a rakudo or a parrot bug, or even both.

Cheers,
Moritz

-- 
Moritz Lenz
http://moritz.faui2k3.org/ |  http://perl-6.de/
use v6;

use Test;

plan 6;

sub foo (*$x) { 1 }
dies_ok  { foo(reverse(1,2)) }, 'slurpy args are now bounded (1)';

sub bar ([EMAIL PROTECTED]) { 1 }
lives_ok { bar(reverse(1,2)) }, 'slurpy args are now bounded (2)';  

dies_ok eval('sub baz ($.x) { ... }'), 'parser rejects members as args (1)';

class Moo {
    has $.y;
    dies_ok eval('sub quux ($.x) { ... }'),
        'parser rejects members as args (2)';
}

Reply via email to