Bug#564074: /usr/sbin/ftpmirror: Segfaults on startup

Niko Tyni ntyni at debian.org
Fri Jan 8 07:45:51 UTC 2010


tag 564074 upstream
thanks

On Thu, Jan 07, 2010 at 04:35:40PM +0200, Eugene V. Lyubimkin wrote:
> Patrick Schoenfeld wrote:
> >Apart from this: If a script language bails out with a SIGSEGV
> >this seems a lot like a interpreter bug to me.
> 
> Sure. If this script contains doesn't use XS (binary) modules (which
> is unlikely, considering its dependencies).

It actually does (see /usr/lib/ftpmirror) , but the bug is not in those.

> I just cloned the bug. I am able to reproduce it on my amd64 host.

I'm attaching a testcase. The bug seems to have crept in with 5.10.1
and is still present in bleadperl.

I'm not going to start a severity war, we'll do our best to fix this for
the release anyway. I'll just note that `important' has traditionally
been the severity for perl bugs that crash the interpreter and don't
affect many packages.

Neither `grave' or `critical' fit the bill IMO. The ftpmirror package
is very much related to perl which rules out `critical', and perl is not
unusable (or mostly so) for everybody, otherwise we'd have got a lot
more bug reports.

If Eugene thinks this should be RC he's can of course set it to `serious'
as a maintainer.


Bisecting shows the bug was introduced with

http://perl5.git.perl.org/perl.git/commit/fbb3ee5af3d428706b9b8e224ae54dd344172e02

commit fbb3ee5af3d428706b9b8e224ae54dd344172e02
Author: Rafael Garcia-Suarez <rgarciasuarez at gmail.com>
Date:   Tue Jan 20 09:11:18 2009 +0100

    Optimize away calls to empty DESTROY methods

and the 5.10.x counterpart is

http://perl5.git.perl.org/perl.git/commit/a7c1da26d681798fa9ead39f9659d043f2e1b144

commit a7c1da26d681798fa9ead39f9659d043f2e1b144
Author: Rafael Garcia-Suarez <rgarciasuarez at gmail.com>
Date:   Tue Jan 20 09:11:18 2009 +0100

    Optimize away calls to empty DESTROY methods
    
    (cherry picked from commit fbb3ee5af3d428706b9b8e224ae54dd344172e02)


Here's the blead backtrace. I'll report this upstream next.

Core was generated by `./miniperl /home/niko/tmp/ftpmirror-bug/564074.pl'.
Program terminated with signal 11, Segmentation fault.
#0  0x000000000054f81a in Perl_sv_clear (my_perl=0x17c9010, sv=0x17ccf60) at sv.c:5661
5661                || CvSTART(destructor)->op_next->op_type != OP_LEAVESUB))
(gdb) bt
#0  0x000000000054f81a in Perl_sv_clear (my_perl=0x17c9010, sv=0x17ccf60) at sv.c:5661
#1  0x0000000000551b29 in Perl_sv_free2 (my_perl=0x17c9010, sv=0x17ccf60) at sv.c:5936
#2  0x000000000054f686 in Perl_sv_clear (my_perl=0x17c9010, sv=0x17eb970) at sv.c:5638
#3  0x0000000000551b29 in Perl_sv_free2 (my_perl=0x17c9010, sv=0x17eb970) at sv.c:5936
#4  0x00000000005caaeb in Perl_free_tmps (my_perl=0x17c9010) at scope.c:167
#5  0x00000000004fe647 in Perl_pp_nextstate (my_perl=0x17c9010) at pp_hot.c:54
#6  0x00000000004ba807 in Perl_runops_debug (my_perl=0x17c9010) at dump.c:2046
#7  0x000000000070a0ce in S_run_body (my_perl=0x17c9010, oldscope=1) at perl.c:2303
#8  0x0000000000709396 in perl_run (my_perl=0x17c9010) at perl.c:2228
#9  0x00000000006d9901 in main (argc=2, argv=0x7fff97cc20b8, env=0x7fff97cc20d0) at miniperlmain.c:117

-- 
Niko Tyni   ntyni at debian.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 564074.pl
Type: text/x-perl
Size: 91 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/perl-maintainers/attachments/20100108/4506f012/attachment.pl>


More information about the Perl-maintainers mailing list