Dirk Koopman <d...@tobit.co.uk> writes: > Andy Wardley wrote: >> On 04/11/2009 07:55, Andy Wardley wrote: >>> I've got some code that's making Perl segfault. >> >> Here's the complete script in case anyone wants to play along at >> home: >> >> http://wardley.org/perl/linked_list_segfault.pl > > shifting out all the @tokens works; undefing or emptying @tokens segfaults. > > Is this an ordering thing?
It seems to be recursing when freeing @tokens, I'm see the following stacktrace: [fuckloads of reapeating calls snipped] #192663 0x0000000000492bcc in Perl_sv_clear (my_perl=0x78a010, sv=0x7b5a80) at sv.c:5236 #192664 0x00000000004931a1 in Perl_sv_free2 (my_perl=0x78a010, sv=0x7b5a80) at sv.c:5368 #192665 0x00000000004719e8 in Perl_av_undef (my_perl=0x78a010, av=0x78ee88) at av.c:485 #192666 0x0000000000492c38 in Perl_sv_clear (my_perl=0x78a010, sv=0x78ee88) at sv.c:5193 #192667 0x00000000004931a1 in Perl_sv_free2 (my_perl=0x78a010, sv=0x78ee88) at sv.c:5368 #192668 0x0000000000492bcc in Perl_sv_clear (my_perl=0x78a010, sv=0x78ecd8) at sv.c:5236 #192669 0x00000000004931a1 in Perl_sv_free2 (my_perl=0x78a010, sv=0x78ecd8) at sv.c:5368 #192670 0x00000000004700e8 in Perl_av_clear (my_perl=0x78a010, av=0x7d65b8) at av.c:453 #192671 0x00000000004b5ca6 in Perl_leave_scope (my_perl=0x78a010, base=5) at scope.c:799 #192672 0x000000000047e199 in Perl_pp_leavesub (my_perl=0x78a010) at pp_hot.c:2475 #192673 0x0000000000454ce4 in Perl_runops_debug (my_perl=0x78a010) at dump.c:1931 #192674 0x0000000000478aa4 in S_run_body (my_perl=<value optimised out>) at perl.c:2391 #192675 perl_run (my_perl=<value optimised out>) at perl.c:2309 #192676 0x000000000042177c in main (argc=2, argv=0x7fffffffe198, env=0x7fffffffe1b0) at perlmain.c:113 I think it's time to take this to p5p. -- ilmari "A disappointingly low fraction of the human race is, at any given time, on fire." - Stig Sandbeck Mathisen