Date: Fri, 17 Feb 2006 18:14:10 -0800 From: Doug Barton <dougb@FreeBSD.org> To: Brooks Davis <brooks@one-eyed-alien.net> Cc: freebsd-current@FreeBSD.org, Xin LI <delphij@delphij.net>, jasone@freebsd.org Subject: Re: New RCorder: abi loaded too late Message-ID: <43F682F2.1020804@FreeBSD.org> In-Reply-To: <43F67121.5080809@FreeBSD.org> References: <1140187193.731.47.camel@spirit> <20060217181842.GA21033@odin.ac.hmc.edu> <43F65A70.7080608@FreeBSD.org> <20060217234118.GA22643@odin.ac.hmc.edu> <43F67121.5080809@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------000500040101090902090003 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Doug Barton wrote: > I won't object to your original suggestion, Oops, spoke too soon. :) Seriously though, I should have tested this first. Turns out that doing it as you suggested creates a circular dependency (and causes rcorder compiled with the new malloc to dump core): Loading configuration files. rcorder: Circular dependency on provision `rpcbind' in file `/etc/rc.d/nfsclient'. rcorder: Circular dependency on file `/etc/rc.d/nisdomain'. rcorder: Circular dependency on provision `rpcbind' in file `/etc/rc.d/nisdomain'. rcorder: Circular dependency on provision `SERVERS' in file `/etc/rc.d/nisdomain'. rcorder: Circular dependency on provision `rpcbind' in file `/etc/rc.d/ypserv'. rcorder: Circular dependency on provision `rpcbind' in file `/etc/rc.d/amd'. rcorder: Circular dependency on provision `SERVERS' in file `/etc/rc.d/ipxrouted'. rcorder: Circular dependency on provision `rpcbind' in file `/etc/rc.d/mountd'. rcorder: Circular dependency on provision `SERVERS' in file `/etc/rc.d/DAEMON'. rcorder: Circular dependency on provision `rpcbind' in file `/etc/rc.d/bootparams'. rcorder: Circular dependency on provision `named' in file `/etc/rc.d/ntpdate'. Assertion failed: (reg->next.u.s.slot == slot), function arena_undelay, file /usr/local/src/lib/libc/stdlib/malloc.c, line 2312. Abort trap (core dumped) rcorder: Circular dependency on provision `LOGIN' in file `/etc/rc.d/archdep'. The attached patch sorts out the mess, and further illustrates why I dislike BEFORE. :) I boot-tested it and it works for me, so I intend to commit it unless there is objection. Doug PS to jasone, the trace on the core file shows that the error in rcorder is at line 761 of rcorder.c (which was recently patched to fix a different kind of core dumping problem). I'd be glad to provide you or the list with more details if there is interest. -- This .signature sanitized for your protection --------------000500040101090902090003 Content-Type: text/plain; name="abi.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="abi.diff" Index: SERVERS =================================================================== RCS file: /usr/local/ncvs/src/etc/rc.d/SERVERS,v retrieving revision 1.5 diff -u -r1.5 SERVERS --- SERVERS 7 Oct 2004 13:55:25 -0000 1.5 +++ SERVERS 18 Feb 2006 01:51:10 -0000 @@ -5,7 +5,7 @@ # # PROVIDE: SERVERS -# REQUIRE: mountcritremote +# REQUIRE: mountcritremote abi # This is a dummy dependency, for early-start servers relying on # some basic configuration. Index: abi =================================================================== RCS file: /usr/local/ncvs/src/etc/rc.d/abi,v retrieving revision 1.7 diff -u -r1.7 abi --- abi 24 Jan 2006 18:58:48 -0000 1.7 +++ abi 18 Feb 2006 01:50:03 -0000 @@ -4,8 +4,7 @@ # # PROVIDE: abi -# REQUIRE: LOGIN -# BEFORE: securelevel +# REQUIRE: archdep # KEYWORD: nojail . /etc/rc.subr Index: archdep =================================================================== RCS file: /usr/local/ncvs/src/etc/rc.d/archdep,v retrieving revision 1.10 diff -u -r1.10 archdep --- archdep 13 Feb 2006 21:41:32 -0000 1.10 +++ archdep 18 Feb 2006 01:49:59 -0000 @@ -4,8 +4,7 @@ # # PROVIDE: archdep -# REQUIRE: LOGIN -# BEFORE: abi +# REQUIRE: mountcritremote # KEYWORD: nojail . /etc/rc.subr --------------000500040101090902090003--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43F682F2.1020804>