On Thu Jul 17 09:31:27 2008, [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 >
It was in the original ticket, but here's an update with some more details. Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb6c828d0 (LWP 21358)] 0xb7c10627 in string_append (interp=0x804f040, a=0x2, b=0x820e4e4) at src/string.c:518 518 if (a == NULL || PObj_bufstart(a) == NULL) (gdb) bt #0 0xb7c10627 in string_append (interp=0x804f040, a=0x2, b=0x820e4e4) at src/string.c:518 #1 0xb7c35d2b in Parrot_concat_s_sc (cur_opcode=0xb7b237f4, interp=0x804f040) at src/ops/string.ops:112 #2 0xb7cb8934 in runops_slow_core (interp=0x804f040, pc=0xb7b237f4) at src/runops_cores.c:221 <SNIP> (gdb) l 513 const UINTVAL b_len = b ? string_length(interp, b) : 0; 514 if (!b_len) 515 return a; 516 517 /* Is A real? */ 518 if (a == NULL || PObj_bufstart(a) == NULL) 519 return string_copy(interp, b); 520 521 saneify_string(a); 522 saneify_string(b); (gdb) p *b $4 = {cache = {_b = {_bufstart = 0xb6c62890, _buflen = 4}, _ptrs = { _struct_val = 0xb6c62890, _pmc_val = 0x4}, _i = {_int_val = -1228527472, _int_val2 = 4}, _num_val = 1.0003005735938968e-313, _string_val = 0xb6c62890}, flags = 397568, strstart = 0xb6c62890 "\n", bufused = 1, strlen = 1, hashval = 0, encoding = 0x806fd88, charset = 0x8071328} (gdb) p *a Cannot access memory at address 0x2 -- Will "Coke" Coleda