How to debug rc hangs?

John Marshall John.Marshall at riverwillow.com.au
Mon Oct 22 22:13:53 PDT 2007


A few weeks ago I upgraded a server from 6.2-RELEASE to 7.0-PRERELEASE. 
I re-built all ports on the new platform. During startup, the following 
servers fail to start:
- mountd
- squid
- cvsupd

The system boots happily and rc does its thing up until "Starting 
mountd" and sulks until I intervene with ctrl-C; at which point 
everything continues until "Starting squid" (interrupt) and then 
"Starting cvsupd" (interrupt).

After startup has completed, the following work just fine:
- /etc/rc.d/mountd start
- /usr/local/etc/rc.d/squid start
- /usr/local/etc/rc.d/cvsupd start

I held out until 7.0-BETA1 and upgraded to that but still have the same 
symptoms.

I have tried setting rc_debug="YES" in rc.conf but that doesn't show me 
any more than I already know (e.g. last line before mountd hang is:
"/etc/rc: DEBUG: run_rc_command: doit: /usr/sbin/mountd -l"

So, are there any clever configuration switches to aid with this 
debugging? Otherwise I'll just plough through manually editing rc.conf 
"foo_enable" settings until I discover the PROVIDE/REQUIRE loop (or 
something else).

Thank you.

-- 
John Marshall


More information about the freebsd-rc mailing list