id,summary,reporter,owner,description,type,status,priority,milestone,component,version,severity,resolution,keywords,cc,lang,patch,platform
1758,Segfault caused by new dynop mapping code,nwellnhof,,"When working on TT #1746, I accidentally discovered another bug. The following script causes a segfault:

{{{
.loadlib 'perl6_ops'

.HLL ""perl6""

.sub """" :load :init
    load_language ""perl6""
    get_hll_global $P108, [""Perl6"";""Module""], ""Loader""
    $P109 = ""&infix:<,>""()
    $P110 = ""&circumfix:<{ }>""($P109)
    set $S111, ""$!storage""
    getattribute $P112, $P110, $S111
    $P108.""need""(""A"", $P112)
.end
}}}

You must have Rakudo installed. The PIR code tries to load a non-existant module 'A.pm' and segfaults in the exception code.

The segfault happens here:

http://trac.parrot.org/parrot/browser/trunk/src/sub.c#L197

The op_info pointer is invalid because the area it points to has been reallocated here:

http://trac.parrot.org/parrot/browser/trunk/src/runcore/main.c#L417

It looks like this is caused by the new dynop mapping code.
",bug,closed,normal,,core,2.6.0,medium,fixed,,,,,
