Running linux ldconfig on tmpfs results in unkillable process

Kostik Belousov kostikbel at gmail.com
Tue Jan 18 14:46:24 UTC 2011


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 at 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 <pid>".
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20110118/b9f3bf05/attachment.pgp


More information about the freebsd-current mailing list