On Thu, Jul 17, 2008 at 12:31 PM, chromatic via RT
<[EMAIL PROTECTED]> wrote:
> On Thursday 17 July 2008 08:49:05 Will Coleda wrote:
>
>> I committed a patch (r29559) that updates all the tcl.ops to be more
>> like the 'die' opcode in how the exception object is constructed and
>> created. Still segfaulting. As long as I'm in here, I'm going to
>> eliminate the forms of tcl_error that are now identical to 'die'.
>
> Throw a backtrace this way (better if you can figure out what's null) and it
> might tickle out some solutions.
>
> -- c
>
>
>

Found the segfault occurred shortly after trying to get the
"stacktrace" attribute from an exception; Allison noted that
src/pmc/exception.pmc's  get_pmc_keyed and set_pmc_keyed are using
getprop/setprop. This naive patch makes them use the new ATTR
implementation.

Index: src/pmc/exception.pmc
===================================================================
--- src/pmc/exception.pmc       (revision 29555)
+++ src/pmc/exception.pmc       (working copy)
@@ -260,7 +260,7 @@

     VTABLE PMC *get_pmc_keyed(PMC *key) {
         STRING *s = key_string(INTERP, key);
-        return SELF.getprop(s);
+        return SELF.get_attr_str(s);
     }


@@ -389,7 +389,7 @@

     VTABLE void set_pmc_keyed(PMC *key, PMC *value) {
         STRING *s = key_string(INTERP, key);
-        SELF.setprop(s, value);
+        SELF.set_attr_str(s, value);
     }


- This dramatically improves tcl's pass rate (still not 100%, though)
- Make test now reports failures:
t/examples/shootout.t                      (Wstat: 2816 Tests: 20 Failed: 11)
  Failed tests:  3, 6-11, 14, 17-19
  Non-zero exit status: 11

- Probably need a test for these vtables.
- No change in the number of lua subtest failures with this patch.


-- 
Will "Coke" Coleda

Reply via email to