id,summary,reporter,owner,description,type,status,priority,milestone,component,version,severity,resolution,keywords,cc,lang,patch,platform
776,segfault in Parrot_str_equal...,coke,coke,"Tcl has a TclString PMC - I'm working on renaming that to TclStringPMC and having a TclString PIR class that subclasses the PMC, until I can move everything from the PMC back to the PIR object, then I'll remove the PMC.

Things now mostly work, but I'm getting a segfault in Parrot_str_equal, called from ""$I0 = isa foo, 'Undef'"". The Foo in question is a TclString (which is now a sublcass of TclStringPMC which in turn is a subclass of String)

the backtrace starts with:

{{{
#0  0xb7c16b91 in Parrot_str_equal (interp=0x804f040, s1=0xb6a1bca8, s2=0x1)
    at src/string/api.c:1556
#1  0xb7e6d661 in Parrot_Class_isa_pmc (interp=0x804f040, pmc=0xb6d6ded8,
    lookup=0x81c9a78) at ./src/pmc/class.pmc:1306
#2  0xb7e6d119 in Parrot_Class_isa (interp=0x804f040, pmc=0xb6d6ded8,
    classname=0x812fdc8) at ./src/pmc/class.pmc:1356
#3  0xb7c29c20 in Parrot_isa_i_p_sc (cur_opcode=0xb6e0581c, interp=0x804f040)
    at src/ops/object.ops:225
}}}

at src/string/api.c:1556, s1 is ""Undef"". s2 is (const STRING *) 0x1

going up a level to ./src/pmc/class.pmc:1306, the invalid class name is ""self_name""; the value of is_proxy here is 0, which seems wrong to me. (as a subclass of a PMC, shouldn't it be a proxy?)
",bug,closed,blocker,,core,1.2.0,medium,worksforme,,,tcl,,
