On Sat Aug 07 04:40:57 2010, lithos wrote:
> Hi!
>
> Calling .perl on an Attribute gives me a confusing error message:
>
> Method 'attributes' not found for invocant of class ''
> in 'Mu::attribs' at line 1198:CORE.setting
> in 'Mu::perl' at line 1207:CORE.setting
> in main program body at line 7:test.pl
>
> Lithos
>
> This is Rakudo Perl 6, version 2010.07-84-g0e5edb5 built on parrot
> 2.6.0 r48225
>
> $ cat test.pl
> use v6;
>
> my $attr = Int.^methods.first({.name eq <new>}).^attributes.[0];
>
> say $attr.WHAT;
> say $attr.name;
> say $attr.perl;
Instead of a confusing error message, we now segfault.
Here's the beginning of the stacktrace:
#0 0xf63d9f4d in Rakudo_cont_decontainerize () from dynext/perl6_ops.so
#1 0xf63d86ad in find_in_cache () from dynext/perl6_ops.so
#2 0xf63d9967 in Rakudo_md_dispatch () from dynext/perl6_ops.so
#3 0xf7dbbf25 in Parrot_MDThunk_invoke () from dynext/perl6_group.so
#4 0xf7e0945f in Parrot_invokecc_p ()
from /home/coke/sandbox/perl6pass/rakudo/install/lib/libparrot.so.4.0.0
#5 0xf7e5ae8c in runops_fast_core ()
from /home/coke/sandbox/perl6pass/rakudo/install/lib/libparrot.so.4.0.0
#6 0xf7e5aaa8 in runops_int ()
from /home/coke/sandbox/perl6pass/rakudo/install/lib/libparrot.so.4.0.0
#7 0xf7e41206 in runops ()
--
Will "Coke" Coleda