From nobody@FreeBSD.org  Sat Aug 16 03:23:08 2008
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id B30041065676
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 16 Aug 2008 03:23:08 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id B73238FC14
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 16 Aug 2008 03:23:08 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.2/8.14.2) with ESMTP id m7G3N8NH088324
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 16 Aug 2008 03:23:08 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.2/8.14.1/Submit) id m7G3N87f088323;
	Sat, 16 Aug 2008 03:23:08 GMT
	(envelope-from nobody)
Message-Id: <200808160323.m7G3N87f088323@www.freebsd.org>
Date: Sat, 16 Aug 2008 03:23:08 GMT
From: "Richard S. Conto" <Richard.Conto@gmail.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: /sbin/rcorder fails to run unrelated startup scripts when some startup scripts require un-PROVIDEd services
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         126562
>Category:       bin
>Synopsis:       rcorder(8) fails to run unrelated startup scripts when some startup scripts require un-PROVIDEd services
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    dougb
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Aug 16 03:30:03 UTC 2008
>Closed-Date:    Fri Oct 07 02:42:49 UTC 2011
>Last-Modified:  Fri Oct 07 02:42:49 UTC 2011
>Originator:     Richard S. Conto
>Release:        7.0
>Organization:
unemployed at home
>Environment:
FreeBSD toolbox.family 7.0-STABLE FreeBSD 7.0-STABLE #0: Fri Aug 15 21:06:19 EDT 2008     rsc@toolbox.family:/usr/src/sys/i386/compile/TOOLBOX  i386


>Description:
Under SOME circumstances, when SOME */rc.d/* init scripts REQUIRE something that isn't PROVIDE'd, unrelated init scripts will NOT be run.

The installation of some combinations of ports from /usr/ports will cause the system startup process to become faulty, with standard services no longer started.

I *believe* that this  occurs when /usr/src/sbin/rcorder.c DELETEs objects failing REQUIREments, it's hash tables become corrupt and too many unrelated objects go missing.

***

I would LIKE to make a successful run of "rcorder" a REQUIREMENT for all ports that install a startup script.


>How-To-Repeat:
I have a collection of init scripts from /etc/rc.d/ and /usr/local/etc/rc.d/ that demonstrate this problem when run with rcorder.
>Fix:
I hate to say it -- I've got a complete re-write of rcorder that avoids the use of hash tables to keep track of provisions & requirements & scripts.  I've actually got two - one in perl (using Perl hashes) - to explore the algorithms, and one in "C".

Besides solving the bug, by avoiding the use of hash tables, my version of "rcorder" attempts to preserve the order of the "init" scripts presented on the command line. This is relevant only for init scripts that don't share a common ordering tree.  (I'm not sure that this should be documented as it might encourage overly complex ordering of init scripts!)

There is also debugging, etc.


Sources, including test scripts, available at:
    http://www-personal.umich.edu/~rsc/FreeBSD/rcorder.tar.bz2






>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->freebsd-rc 
Responsible-Changed-By: gavin 
Responsible-Changed-When: Sat Aug 16 12:38:14 UTC 2008 
Responsible-Changed-Why:  
Over to maintainers 

http://www.freebsd.org/cgi/query-pr.cgi?pr=126562 
State-Changed-From-To: open->closed 
State-Changed-By: dougb 
State-Changed-When: Fri Oct 7 02:41:46 UTC 2011 
State-Changed-Why:  

rcorder doesn't actually run anything. 

If you're still seeing problems with the existing rcorder please discuss 
them on freebsd-rc@FreeBSD.org. 


Responsible-Changed-From-To: freebsd-rc->dougb 
Responsible-Changed-By: dougb 
Responsible-Changed-When: Fri Oct 7 02:41:46 UTC 2011 
Responsible-Changed-Why:  

I closed it. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=126562 
>Unformatted:
