Re: [perl #60170] Segfault in verify_signature
On Monday 27 October 2008 09:14:32 Will Coleda wrote: While trying to duplicate the tcl segfault in PIR, I was able to generate PIR that reliably segfaulted; except it turned out it was segfaulting a different way: .sub '__onload' :immediate load_bytecode 'TGE.pbc' push_eh class_loaded $P1 = subclass [ 'TGE'; 'Grammar' ], ['what'] pop_eh class_loaded: .end #0 0xb7e74958 in verify_signature (interp=0x804f040, ins=0x81ce4a8, pc=0x81ce590) at compilers/imcc/pbc.c:1734 #1 0xb7e752d2 in e_pbc_emit (interp=0x804f040, param_unused=0x0, unit=0x81cdf08, ins=0x81ce4a8) at compilers/imcc/pbc.c:1998 #2 0xb7e69726 in emit_flush (interp=0x804f040, param=0x0, unit=0x81cdf08) at compilers/imcc/instructions.c:879 ... This segfault doesn't is still present with -G This is the same issue as RT #6, and is also fixed in r32633. -- c
Re: [perl #60170] Segfault in verify_signature
On Monday 27 October 2008 09:15:29 Will Coleda wrote: While trying to duplicate the tcl segfault in PIR, I was able to generate PIR that reliably segfaulted; except it turned out it was segfaulting a different way: .sub '__onload' :immediate load_bytecode 'TGE.pbc' push_eh class_loaded $P1 = subclass [ 'TGE'; 'Grammar' ], ['what'] pop_eh class_loaded: .end #0 0xb7e74958 in verify_signature (interp=0x804f040, ins=0x81ce4a8, pc=0x81ce590) at compilers/imcc/pbc.c:1734 #1 0xb7e752d2 in e_pbc_emit (interp=0x804f040, param_unused=0x0, unit=0x81cdf08, ins=0x81ce4a8) at compilers/imcc/pbc.c:1998 #2 0xb7e69726 in emit_flush (interp=0x804f040, param=0x0, unit=0x81cdf08) at compilers/imcc/instructions.c:879 ... This segfault doesn't is still present with -G It has nothing to do with garbage collection. FYI, this appears in trunk in r32194. Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb7a118d0 (LWP 11195)] 0xb7e78f3a in e_pbc_emit (interp=0x804f040, param_unused=0x0, unit=0x81d5ff0, ins=0x81d65b0) at compilers/imcc/pbc.c:1734 1734PMC* const sig_arr = interp-code-const_table-constants[pc[-1]]-u.key; (gdb) p *(pc - 1) $4 = 5 (gdb) p *(pc) $5 = 0 (gdb) p interp-code-const_table-constants[5] $6 = (PackFile_Constant *) 0x61 I don't know what this means yet, but clearly there aren't enough constants in this code segment to find the signature there. -- c
[perl #60170] Segfault in verify_signature
# New Ticket Created by Will Coleda # Please include the string: [perl #60170] # in the subject line of all future correspondence about this issue. # URL: http://rt.perl.org/rt3/Ticket/Display.html?id=60170 While trying to duplicate the tcl segfault in PIR, I was able to generate PIR that reliably segfaulted; except it turned out it was segfaulting a different way: .sub '__onload' :immediate load_bytecode 'TGE.pbc' push_eh class_loaded $P1 = subclass [ 'TGE'; 'Grammar' ], ['what'] pop_eh class_loaded: .end #0 0xb7e74958 in verify_signature (interp=0x804f040, ins=0x81ce4a8, pc=0x81ce590) at compilers/imcc/pbc.c:1734 #1 0xb7e752d2 in e_pbc_emit (interp=0x804f040, param_unused=0x0, unit=0x81cdf08, ins=0x81ce4a8) at compilers/imcc/pbc.c:1998 #2 0xb7e69726 in emit_flush (interp=0x804f040, param=0x0, unit=0x81cdf08) at compilers/imcc/instructions.c:879 ... This segfault doesn't is still present with -G -- Will Coke Coleda
Re: [perl #60170] Segfault in verify_signature
On Mon, Oct 27, 2008 at 12:14 PM, via RT Will Coleda [EMAIL PROTECTED] wrote: # New Ticket Created by Will Coleda # Please include the string: [perl #60170] # in the subject line of all future correspondence about this issue. # URL: http://rt.perl.org/rt3/Ticket/Display.html?id=60170 While trying to duplicate the tcl segfault in PIR, I was able to generate PIR that reliably segfaulted; except it turned out it was segfaulting a different way: .sub '__onload' :immediate load_bytecode 'TGE.pbc' push_eh class_loaded $P1 = subclass [ 'TGE'; 'Grammar' ], ['what'] pop_eh class_loaded: .end #0 0xb7e74958 in verify_signature (interp=0x804f040, ins=0x81ce4a8, pc=0x81ce590) at compilers/imcc/pbc.c:1734 #1 0xb7e752d2 in e_pbc_emit (interp=0x804f040, param_unused=0x0, unit=0x81cdf08, ins=0x81ce4a8) at compilers/imcc/pbc.c:1998 #2 0xb7e69726 in emit_flush (interp=0x804f040, param=0x0, unit=0x81cdf08) at compilers/imcc/instructions.c:879 ... This segfault doesn't is still present with -G -- Will Coke Coleda FYI, this appears in trunk in r32194. -- Will Coke Coleda