From owner-freebsd-stable@FreeBSD.ORG Wed Dec 28 11:37:20 2011 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 90AD3106564A for ; Wed, 28 Dec 2011 11:37:19 +0000 (UTC) (envelope-from pluknet@gmail.com) Received: from mail-tul01m020-f182.google.com (mail-tul01m020-f182.google.com [209.85.214.182]) by mx1.freebsd.org (Postfix) with ESMTP id 5B2E08FC08 for ; Wed, 28 Dec 2011 11:37:19 +0000 (UTC) Received: by obbwd18 with SMTP id wd18so12436599obb.13 for ; Wed, 28 Dec 2011 03:37:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=zXG5Rwo0AG55NEQSbOxW3VH4vBDdRbEYaCXVqJC2uZY=; b=kl7ML/wWUmd2KWsFfA3HZ5zDXGMuxeqriGIxQJEbdL25CuPr/5AFAidlmh1NDL7wuq uP3i++wzKBiDJt7EoPynbCvC5o+RHp28m69vanexCHathn8V6D4nTv44JvLNtv7iULik 0H16Aza5TiQjc9JaSyNqjHurPw2vcz+2T/kPU= MIME-Version: 1.0 Received: by 10.182.78.165 with SMTP id c5mr28422452obx.60.1325072238148; Wed, 28 Dec 2011 03:37:18 -0800 (PST) Received: by 10.182.171.67 with HTTP; Wed, 28 Dec 2011 03:37:18 -0800 (PST) In-Reply-To: <4EFAF945.3050509@my.gd> References: <4EFA129C.2090407@my.gd> <4EFAF945.3050509@my.gd> Date: Wed, 28 Dec 2011 14:37:18 +0300 Message-ID: From: Sergey Kandaurov To: Damien Fleuriot Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: "freebsd-stable@freebsd.org" Subject: Re: stuck /etc/rc autoboot processes X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Dec 2011 11:37:20 -0000 On 28 December 2011 15:11, Damien Fleuriot wrote: > > > On 12/28/11 11:50 AM, Sergey Kandaurov wrote: >> On 27 December 2011 22:46, Damien Fleuriot wrote: >>> Hello list, >>> >>> >>> >>> Yesterday and today, I've been busy either patching boxes for the BIND >>> advisory that we received on the 23rd (when they were running 8.1 or >>> 8.2-RELEASE), or upgrading them (when running 8.0-RELEASE). >>> >>> >>> Today I've come across 2 boxes running 8.2-STABLE and of course, the >>> BIND patch wouldn't apply correctly. >>> >>> I've decided to cvsup them to 8.2-RELEASE and "upgrade" them to it. >>> >>> >>> I've gone through the following steps: >>> - make buildworld >>> - make buildkernel >>> - make installkernel >>> - nextboot -k my new kernel, to ensure it worked fine >>> - rebooted again with the new kernel, this time correctly installed as >>> /boot/kernel >>> - installed the world >>> - run mergemaster -FiPU >>> - rebuild ports >>> >>> >>> Now, I'm facing this odd situation where, just after booting, I get thi= s >>> on the 2 boxes: >>> >>> >>> root =A0 =A0 =A0 =A0 22 =A00.0 =A00.0 =A08256 =A01876 =A0v0 =A0Is+ =A0 = 7:32PM =A0 0:00.03 sh >>> /etc/rc autoboot >>> root =A0 =A0 =A0 1250 =A00.0 =A00.0 18000 =A02576 =A0v0 =A0I+ =A0 =A07:= 32PM =A0 0:00.04 >>> /usr/local/sbin/rsyslogd -a /var/run/log -a /var/named/var/run/log -i >>> /var/run/syslog.pid -f /usr/local/etc/rsyslog.conf >>> root =A0 =A0 =A0 1790 =A00.0 =A00.0 =A08256 =A01952 =A0v0 =A0I+ =A0 =A0= 7:32PM =A0 0:00.00 sh >>> /etc/rc autoboot >>> root =A0 =A0 =A0 1793 =A00.0 =A00.0 =A08256 =A01952 =A0v0 =A0I+ =A0 =A0= 7:32PM =A0 0:00.00 sh >>> /etc/rc autoboot >>> >>> >>> Does anybody have an idea why I get these stuck "sh /etc/rc autoboot" >>> processes ? >>> >>> Any pointers as to where I should look ? >> >> Check if the box has a working resolving during boot. >> This is a main reason why it may stuck in /etc/rc phase. >> When on physical console, type ^T. Usually it will get you >> the name of offending process. >> >> You posted output from ps aux. It would be nice if you post >> ps auxl, so values of MWCHAN ps keyword will be also seen, >> which can add an additional debugging info. >> > > > Find below the info: > > > # ps aufx > http://pastebin.com/iLy0Hs8s > > # ps aufxl > http://pastebin.com/3meFWvRH > > # dmesg.boot > http://pastebin.com/rFEsPfD5 > > Again, the box gets stuck at "Local package initialization:" from > /etc/rc.d/localpkg > > > I then run the following: > # sh -x /etc/rc.d/localpkg > > > A snip from the end of the script's output (stuck) yields: > + logger 'localpkg: DEBUG: run_rc_command: doit: pkg_start ' > + echo 'localpkg: DEBUG: run_rc_command: doit: pkg_start ' > localpkg: DEBUG: run_rc_command: doit: pkg_start > + eval 'pkg_start ' > + pkg_start > + local initdone > + initdone=3D'' > + find_local_scripts_old > + zlist=3D'' > + slist=3D'' > + [ -d /usr/local/etc/rc.d ] > + grep '^# PROVIDE:' '/usr/local/etc/rc.d/[0-9]*.sh' > + zlist=3D' /usr/local/etc/rc.d/[0-9]*.sh' > + grep '^# PROVIDE:' /usr/local/etc/rc.d/relayd_check.sh > + slist=3D' /usr/local/etc/rc.d/relayd_check.sh' > + [ -z '' -a -f '/usr/local/etc/rc.d/[0-9]*.sh' ] > + [ -x '/usr/local/etc/rc.d/[0-9]*.sh' ] > + [ -f '/usr/local/etc/rc.d/[0-9]*.sh' -o -L > '/usr/local/etc/rc.d/[0-9]*.sh' ] > + [ -z '' -a -f /usr/local/etc/rc.d/relayd_check.sh ] > + echo -n 'Local package initialization:' > Local package initialization:+ initdone=3Dyes > + [ -x /usr/local/etc/rc.d/relayd_check.sh ] > + set -T > + trap 'exit 1' 2 > + /usr/local/etc/rc.d/relayd_check.sh start > > > relayd_check.sh is a custom script that I wrote to monitor relayd for > crashes, log them to /var/log/ and restart the process. > > This script does *not* contain any "PROVIDE / REQUIRE / KEYWORD" > initialization info and I'm beginning to think this may be the problem. > > I shall try further, thanks for all the pointers so far :) Yeah, just thought to point you out at sleeping relayd_check.sh, when I finished to read your mail :-). Ok, I was glad to help you. btw, rcorder(8) can help you to clarify a starting order for your process. Just use: rcorder /etc/rc.d/* /usr/local/etc/rc.d/* --=20 wbr, pluknet