Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[perl #70530] Calling multimethod causes segfault

0 views
Skip to first unread message

Arne Skjærholt

unread,
Nov 15, 2009, 1:29:48 PM11/15/09
to bugs-bi...@netlabs.develooper.com
# New Ticket Created by Arne Skjærholt
# Please include the string: [perl #70530]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=70530 >


This code snippet: class T does Associative { multi method
postcircumfix:<{ }> { }; }; my T $t .= new; say $t<a>; causes a
segfault on Rakudo on OS X 10.6.2.

Recompiling Rakudo with -O0 -g gives some interesting data in gdb:
278 GETATTR_P6LowLevelSig_elements(interp, signature,
sig_elem_info);

(gdb) p *signature
$8 = {
flags = 266752,
vtable = 0x10183d000,
data = 0x0,
_metadata = 0x0,
_synchronize = 0x0
}

The culprit is on line 47 of src/pmc/p6_lowlevelsig.h, which calls
PMC_data(signature)->elements. Since signature->data is NULL, we get a
NULL pointer dereference.

0 new messages