From owner-freebsd-current@FreeBSD.ORG Tue Jan 18 15:34:12 2011 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1632B1065670 for ; Tue, 18 Jan 2011 15:34:12 +0000 (UTC) (envelope-from beat@chruetertee.ch) Received: from marvin.chruetertee.ch (marvin.chruetertee.ch [217.150.245.55]) by mx1.freebsd.org (Postfix) with ESMTP id 9ECA48FC08 for ; Tue, 18 Jan 2011 15:34:11 +0000 (UTC) Received: from daedalus.network.local (55-221.62-81.cust.bluewin.ch [81.62.221.55]) (authenticated bits=0) by marvin.chruetertee.ch (8.14.3/8.14.3) with ESMTP id p0IFYAXN032353 (version=TLSv1/SSLv3 cipher=DHE-DSS-CAMELLIA256-SHA bits=256 verify=NO); Tue, 18 Jan 2011 15:34:10 GMT (envelope-from beat@chruetertee.ch) Message-ID: <4D35B2F2.1000804@chruetertee.ch> Date: Tue, 18 Jan 2011 16:34:10 +0100 From: =?ISO-8859-1?Q?Beat_G=E4tzi?= User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.9.1.16) Gecko/20101210 Lightning/1.0b1 Thunderbird/3.0.11 MIME-Version: 1.0 To: Kostik Belousov References: <4D35A0BB.3010601@chruetertee.ch> <20110118144611.GP2518@deviant.kiev.zoral.com.ua> In-Reply-To: <20110118144611.GP2518@deviant.kiev.zoral.com.ua> X-Enigmail-Version: 1.0.1 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: current@freebsd.org Subject: Re: Running linux ldconfig on tmpfs results in unkillable process X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jan 2011 15:34:12 -0000 On 18.01.2011 15:46, Kostik Belousov wrote: > On Tue, Jan 18, 2011 at 03:16:27PM +0100, Beat G?tzi wrote: >> Hi, >> >> I've a tinderbox which uses tmpfs to build ports. Every time I build a >> port which executes linux ldconfig it results in an unkillable process >> which uses 100% CPU. The problem is reproduceable without tinderbox: >> >> # uname -a >> FreeBSD daedalus.network.local 9.0-CURRENT FreeBSD 9.0-CURRENT #3 >> r216761: Tue Dec 28 15:32:26 CET 2010 >> root@daedalus.network.local:/usr/obj/usr/src/sys/GENERIC i386 >> # mkdir /compat/test >> # mount -t tmpfs tmpfs /compat/test >> # cp -Rp /compat/linux/* /compat/test/ >> # mount -t linprocfs linprocfs /compat/test/proc >> # /compat/linux/sbin/ldconfig -r /compat/test/ >> # pgrep ldconfig >> 3449 >> # procstat -i 3449 | grep KILL >> 3449 ldconfig KILL --- >> # kill -9 3449 >> # procstat -i 3449 | grep KILL >> 3449 ldconfig KILL P-- >> >> >From top(1): >> PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND >> 3449 root 1 44 0 992K 712K CPU1 1 10:06 100.00% ldconfig >> >> When I reboot the machine it hangs after "All buffers synced.". >> >> I've uploaded some additional output of procstat and ktrace here: >> http://people.freebsd.org/~beat/logs/linux-ldconfig-tmpfs.txt >> >> Anyone knows how to fix this? > kdump for the trace of the linux binary is a garbage. You need to > use linux_kdump (from ports). > > I think that your process is looping in the kernel, you can confirm this > by dropping in the ddb and doing "bt ". I've uploaded a screenshot from the output of bt in ddb: http://people.freebsd.org/~beat/logs/linux-ldconfig-tmpfs-bt.jpg Thanks, Beat