Skip site navigation (1)Skip section navigation (2)
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>