[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: fakeroot status (an ongoing story :)

From: Marcus Brinkmann
Subject: Re: fakeroot status (an ongoing story :)
Date: Fri, 24 May 2002 04:43:47 +0200
User-agent: Mutt/1.3.28i

On Thu, May 23, 2002 at 11:36:36PM +0200, Marcus Brinkmann wrote:
> Ayup.  The problem is with the access() function.

Roland's fix is ok, now those programs all work (nano, lynx, emacs...).

However, it is still not usable to build packages.  In one case we made a
step back compared with the old version, however, I am not 100% sure what
the component is:

The thing that does not work is "fakeroot debian/rules target", where
debian/rules is a makefile.  It fails with:

fakeauth: Segmentation fault for child NR

(NR the pid of the child).  I don't know what causes the segfault.  When I
tried to insert a call to gdb at a strategic place, the task seemed to die
before startup completed.  Other certain such commands based on the --chroot
option to settrans and without fakeauth segfault, too.

I have not yet found out what the matter is.  Makefiles seem to segfault
this way, but when I add an explicit make -f, it works.  Also, some scripts
work (/bin/bashbug for example).  There is something going very wrong and I
have not done systematic testing yet.  But in general #! interpretation
seems to be involved.

The reason I did not do systematic testing is because other problems got
into the way.  Obviously proc gets confused by something.  After the above
failures (not sure what exactly triggers it), random shells hang in waitpid
(proc_wait, really) waiting for the child to finish when the child is
already dead and gone.  I mean random shells.  Eg, if playing with above
settrans stuff in one screen, and then running a normal command in another
screen, that second shell might hang in waitpid.  Not nice.  Something
screws up proc's process hierarchy, and I wonder if the fork replacement in
fakeauth is the issue.

I will certainly continue debugging it.  proc needs to be made more robust.
And maybe I can even find out where that segfault is coming from.

The next thing I will do is to eliminate fakeauth from the equation and use
settrans --chroot directly without running fakeauth at all after boot.

Maybe I have to go back into a neighbourhurd to get a hook into exec and


`Rhubarb is no Egyptian god.' Debian http://www.debian.org brinkmd@debian.org
Marcus Brinkmann              GNU    http://www.gnu.org    marcus@gnu.org

reply via email to

[Prev in Thread] Current Thread [Next in Thread]