Re: Processes hang in an unkillable state

Robert Święcki
2011-04-12T18:34:12Z

On Tue, Apr 12, 2011 at 8:28 PM, Oleg Nesterov <oleg@redhat.com> wrote:
> On 04/12, Américo Wang wrote:
>>
>> 2011/4/12 Robert Święcki <robert@swiecki.net>:
>> > Hi, while fuzzing Linux system calls (32bit fuzzer, 64bi linux
>> > kernel), it happens after some time (10-20mins) that some processes
>> > enter a state which makes them un-killable. They are either in R or D
>> > state.
>> >
>> > # strace ps wwuax
>> > ...
>> > ...
>> > open("/proc/450/cmdline", O_RDONLY)     = 6
>> > read(6,  -             hangs....
>> >
>> > # kill -9 450
>> > # kill -9 450 (no ESRCH)
>> >
>> > More data in the attachment - I'll keep it in the kdb session for
>> > further examination.
>>
>> http://marc.info/?t 0260440100004
>>
>> Hmm, it must be stuck at
>>
>> lib/rwsem.c
>>
>>         /* wait to be given the lock */
>>         for (;;) {
>>                 if (!waiter.task)
>>                         break;
>>                 schedule();
>>                 set_task_state(tsk, TASK_UNINTERRUPTIBLE);
>>         }
>>
>> don't know why it still can't acquire the ->mmap_sem...
>>
>> Cc'ing Oleg...
>
> I seem to understand...
>
> Please wait a bit, I need to recheck.

Btw, Linus Torvalds is looking into a similar case in another thread -
http://marc.info/?l=linux-kernel&m=130262886420218&w=2

--
Robert Święcki