[Pkg-sysvinit-devel] Bug#330592:

David Härdeman david at hardeman.nu
Wed Nov 1 13:53:23 CET 2006


tags 330592 +unreproducible
thanks

James Westby wrote:
> So I managed to get the above message (for policy version 20) by
>   # rm -rf /etc/selinux
>
> However it did not cause a segfault, and I got a completed boot. I did
> however get
>
> *** glibc detected *** free(): invalid pointer: 0x0804feb5 ***
> *** glibc detected *** free(): invalid pointer: 0x0804feb5 ***
>
> so maybe this is what was the segfault before.

I've also tried to reproduce this. I did a fresh install of testing in a
qemu VM, and then followed the steps listed by James (install some SELinux
package, make sure /selinux is created, boot with selinux=1 a couple of
times, mv /etc/selinux /etc/selinux.gone, reboot).

I also saw the "glibc detected" and "Can't open..." messages but no crash.

In order to make sure that the invalid free() calls (which, looking at the
addresses seem to try to free variables which are on the stack) I
sprinkled print (initlog) statements in different places of src/init.c,
and after a couple of iterations I found that init is sleeping inside a
select() call when the glibc messages are printed (they are printed
sometime during the rcS stage of the boot by the way). Just to make sure I
also added debugging output prior to each free() call made by init (which
revealed nothing out of the ordinary).

So I'm fairly certain that the glibc messages have nothing to do with init
and it seems that this bug has been fixed (somehow).

I'd still like to trace down what *is* causing the glibc warnings though,
just to be sure. I'll try to fiddle with the rcS scripts next to see if I
can find the offender.

-- 
David Härdeman





More information about the Pkg-sysvinit-devel mailing list