Bug#604902: apt-cacher: random segfaults in libperl when clients are accessing cache

Niko Tyni ntyni at debian.org
Thu Nov 25 11:39:51 UTC 2010


On Thu, Nov 25, 2010 at 10:53:05AM +0100, Schoepflin, Markus wrote:
> Package: apt-cacher
> Version: 1.6.12
> Severity: normal
> 
> apt-cacher segfaults at random intervals when clients are accessing the cache.

Is this visible to the clients? I.e. does it cause any actual problem like
incomplete responses?

> Program terminated with signal 11, Segmentation fault.

> #0  Perl_csighandler (sig=15, sip=<value optimized out>, uap=<value optimized out>) at mg.c:1372
> #1  <signal handler called>
> #2  0x00007f9ec27613e4 in do_lookup_x (new_hash=1842243024, old_hash=0x7fffc4fe0508, ref=<value optimized out>,
>     result=<value optimized out>, scope=<value optimized out>, i=5, flags=1, skip=0x0, undef_map=0x2215b50) at dl-lookup.c:241
> #3  0x00007f9ec27617e2 in _dl_lookup_symbol_x (undef_name=<value optimized out>, undef_map=0x2215b50, ref=0x7fffc4fe0568,
>     symbol_scope=<value optimized out>, version=0x2200468, type_class=<value optimized out>, flags=1, skip_map=0x0) at dl-lookup.c:721
> #4  0x00007f9ec2765352 in _dl_fixup (l=<value optimized out>, reloc_arg=<value optimized out>) at ../elf/dl-runtime.c:118
> #5  0x00007f9ec276b395 in _dl_runtime_resolve () at ../sysdeps/x86_64/dl-trampoline.S:41
> #6  0x00007f9ebf021d86 in ?? () from /lib/libkeyutils.so.1
> #7  0x0000000000000029 in ?? ()
> #8  0x0000000000000000 in ?? ()

This might be the 'crash without threads' case in
 http://rt.perl.org/rt3/Public/Bug/Display.html?id=60724

in which case change
 http://perl5.git.perl.org/perl.git/commit/01be0729981136a058cce07a897ccdb94609e1c0

would fix it.

I can imagine this happening if Apache kills its CGI children with SIGTERM
(sig=15 above) for some reason and the script happens to be simultaneously
exiting itself.

The above change is in Perl 5.12, wich will enter Debian after the
Squeeze release.

It's rather hard to be certain if this is the right fix.

Markus, if this is reproducible enough for you would you like to test
if the fix works? You could rebuild the perl package yourself with the
patch (it applies cleanly against 5.10.1), or I can provide you the
.debs if you like.
-- 
Niko Tyni   ntyni at debian.org






More information about the Perl-maintainers mailing list