develooper Front page | perl.perl5.porters | Postings from December 2013

[perl #72406] Segmentation fault v5.10.1

Thread Previous | Thread Next
From:
bulk88 via RT
Date:
December 15, 2013 11:44
Subject:
[perl #72406] Segmentation fault v5.10.1
Message ID:
rt-4.0.18-27372-1387107849-1129.72406-15-0@perl.org
On Sun Dec 15 03:16:53 2013, bulk88 wrote:
> I'll play around some more, if I figure
> anymore more out, I'll post.

On Perl 5.12 DEBUGGING I dont get as far as the runloop. I get a SEGV. Warning, this SEGV may be a totally different bug that was already fixed in blead a long time ago.

Call stack. Optimizations disabled so 100% accurate.
-------------------------------
>	perl512.dll!Perl_peep(interpreter * my_perl=0x00394014, op * o=0x000000cc)  Line 8483 + 0x3	C
 	perl512.dll!Perl_peep(interpreter * my_perl=0x00394014, op * o=0x00853d58)  Line 8729 + 0x13	C
 	perl512.dll!Perl_newPROG(interpreter * my_perl=0x00394014, op * o=0x00853ce4)  Line 2365 + 0x17	C
 	perl512.dll!Perl_yyparse(interpreter * my_perl=0x00394014)  Line 143 + 0x2c	C
 	perl512.dll!S_parse_body(interpreter * my_perl=0x00394014, char * * env=0x00282790, void (interpreter *)* xsinit=0x281d2190)  Line 2160 + 0x9	C
 	perl512.dll!perl_parse(interpreter * my_perl=0x00394014, void (interpreter *)* xsinit=0x281d2190, int argc=2, char * * argv=0x00282510, char * * env=0x00282790)  Line 1605 + 0x11	C
 	perl512.dll!RunPerl(int argc=2, char * * argv=0x00282510, char * * env=0x00282790)  Line 263 + 0x1a	C++
 	perl.exe!main(int argc=2, char * * argv=0x00282510, char * * env=0x00282cc0)  Line 23 + 0x12	C
 	perl.exe!mainCRTStartup()  Line 398 + 0xe	C
 	kernel32.dll!_BaseProcessStart@4()  + 0x23	
-------------------------------
The caller Perl_peep's execution point. This is the "op * o=0x00853d58" one. *Not* the "op * o=0x000000cc" one.
-------------------------------
	case OP_ENTERLOOP:
	case OP_ENTERITER:
	    while (cLOOP->op_redoop->op_type == OP_NULL)
		cLOOP->op_redoop = cLOOP->op_redoop->op_next;
	    peep(cLOOP->op_redoop);<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
	    while (cLOOP->op_nextop->op_type == OP_NULL)
		cLOOP->op_nextop = cLOOP->op_nextop->op_next;
	    peep(cLOOP->op_nextop);
	    while (cLOOP->op_lastop->op_type == OP_NULL)
		cLOOP->op_lastop = cLOOP->op_lastop->op_next;
	    peep(cLOOP->op_lastop);
	    break;
-----------------------

At the SEGV point, I dumped cLOOP, casted. 0x000000cc is visible. op_nextop looks wrong. 0x28002865 is a func *.
------------------------------------------------------------
-	(loop *) my_perl->Iop	0x00881884 {op_next=0x000000cc {op_next=??? op_sibling=??? op_ppaddr=??? ...} op_sibling=0x00000000 {op_next=??? op_sibling=??? op_ppaddr=??? ...} op_ppaddr=0x00000000 ...}	loop *
+	op_next	0x000000cc {op_next=??? op_sibling=??? op_ppaddr=??? ...}	op *
+	op_sibling	0x00000000 {op_next=??? op_sibling=??? op_ppaddr=??? ...}	op *
	op_ppaddr	0x00000000	op * (interpreter *)*
	op_targ	0	unsigned long
	op_type	0	unsigned short
	op_opt	0	unsigned short
	op_latefree	0	unsigned short
	op_latefreed	0	unsigned short
	op_attached	0	unsigned short
	op_spare	0	unsigned short
	op_flags	0	unsigned char
	op_private	0	unsigned char
+	op_first	0x00881884 {op_next=0x000000cc {op_next=??? op_sibling=??? op_ppaddr=??? ...} op_sibling=0x00000000 {op_next=??? op_sibling=??? op_ppaddr=??? ...} op_ppaddr=0x00000000 ...}	op *
+	op_last	0x000000cc {op_next=??? op_sibling=??? op_ppaddr=??? ...}	op *
+	op_redoop	0x008818ec {op_next=0x00887fe0 {op_next=0x00853ce4 {op_next=0x00000000 {op_next=??? op_sibling=??? op_ppaddr=??? ...} op_sibling=0x00000000 {op_next=??? op_sibling=??? op_ppaddr=??? ...} op_ppaddr=0x28002969 _Perl_pp_leave ...} op_sibling=0x00000000 {op_next=??? op_sibling=??? op_ppaddr=??? ...} op_ppaddr=0x28002969 _Perl_pp_leave ...} op_sibling=0x00000000 {op_next=??? op_sibling=??? op_ppaddr=??? ...} op_ppaddr=0x280031cf _Perl_pp_null ...}	op *
+	op_nextop	0x28002865 _Perl_pp_enter	op *
+	op_lastop	0x00000000 {op_next=??? op_sibling=??? op_ppaddr=??? ...}	op *
------------------------------------------------------------

-- 
bulk88 ~ bulk88 at hotmail.com

---
via perlbug:  queue: perl5 status: open
https://rt.perl.org/Ticket/Display.html?id=72406

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About