Re: Running linux ldconfig on tmpfs results in unkillable process

From: Beat Gätzi <beat_at_chruetertee.ch>
Date: Tue, 18 Jan 2011 16:34:10 +0100
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_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>".

I've uploaded a screenshot from the output of bt <pid> in ddb:
http://people.freebsd.org/~beat/logs/linux-ldconfig-tmpfs-bt.jpg

Thanks,
Beat
Received on Tue Jan 18 2011 - 14:34:12 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:10 UTC