Re: [BUG][PPC64] BUG in 2.6.26.5-rt9 causing Hang

From: Gregory Haskins
Date: Mon Sep 29 2008 - 17:55:47 EST


Gregory Haskins wrote:
> Gregory Haskins wrote:
>
>> Hi Chirag
>>
>> Chirag Jog wrote:
>>
>>
>>> Hi Gregory,
>>> We see the following BUG followed by a hang on the latest kernel 2.6.26.5-rt9 on a Power6 blade (PPC64)
>>> It is easily recreated by running the async_handler or sbrk_mutex (realtime tests from ltp) tests.
>>>
>>>
>>>
>> Call me an LTP newbie, but where can I get the sbrk_mutex/async_handler
>> tests.
>>
> Ok, I figured out this part. I needed a newer version of the .rpm from
> a different repo. However, both async_handler and sbrk_mutex seem to
> segfault for me. Hmm
>

Thanks to help from Darren I got around this issue. Unfortunately both
tests pass so I cannot reproduce this issue, nor do I see the problem
via code inspection. Ill keep digging but I am currently at a loss. I
may need to send you some diagnostic patches to find this, if that is ok
with you Chirag?

-Greg

> ---
>
> ghaskins@test:~> uname -a
> Linux test 2.6.26.5-rt9-rt #1 SMP PREEMPT RT Mon Sep 29 14:26:45 EDT
> 2008 x86_64 x86_64 x86_64 GNU/Linux
>
> test:/home/ghaskins #
> /usr/lib64/ltp/testcases/realtime/func/async_handler/async_handler
>
> -----------------------------------
> Asynchronous Event Handling Latency
> -----------------------------------
>
> jvmsim disabled
> Running 1000000 iterations
> Segmentation fault
>
> ---
>
> Any ideas?
>
> -Greg
>
>
>> I installed the LTP rpm and I dont seem to have tests by that
>> name. I have a 26.5-rt9 kernel all configured and ready to go but no
>> way to reproduce this issue. Please advise.
>>
>> Regards,
>> -Greg
>>
>>
>>
>>
>>> login: cpu 0x2: Vector: 700 (Program Check) at [c0000000e8e875d0]
>>> pc: c00000000005110c: .pick_next_pushable_task+0x54/0x9c
>>> lr: c000000000059f50: .push_rt_task+0x44/0x2b4
>>> sp: c0000000e8e87850
>>> msr: 8000000000021032
>>> current = 0xc0000000ea5bb2e0
>>> paca = 0xc000000000608700
>>> pid = 2811, comm = async_handler
>>> kernel BUG at kernel/sched_rt.c:1041! <---------------------
>>> enter ? for help
>>> [link register ] c000000000059f50 .push_rt_task+0x44/0x2b4
>>> [c0000000e8e87850] c0000000e8e878f0 (unreliable)
>>> [c0000000e8e87900] c00000000005a1dc .push_rt_tasks+0x1c/0x38
>>> [c0000000e8e87980] c00000000005a21c .post_schedule_rt+0x24/0x44
>>> [c0000000e8e87a10] c000000000057cbc .finish_task_switch+0xd0/0x180
>>> [c0000000e8e87ab0] c0000000003b6e88 .__schedule+0x6e0/0x798
>>> [c0000000e8e87b90] c0000000003b7148 .schedule+0xec/0x11c
>>> [c0000000e8e87c10] c0000000003b7a40 .do_nanosleep+0x6c/0xcc
>>> [c0000000e8e87c90] c000000000080738 .hrtimer_nanosleep+0x7c/0x100
>>> [c0000000e8e87d90] c000000000080830 .sys_nanosleep+0x74/0x94
>>> [c0000000e8e87e30] c0000000000086ac syscall_exit+0x0/0x40
>>> --- Exception: c00 (System Call) at 0000008026449844
>>> SP (400014185f0) is in userspace
>>>
>>>
>>> This is generated by the BUG_ON lines in the pick_next_pushable function
>>> introduced by the sched-only-push-once-per-queue.patch .
>>>
>>> The -rt kernel prior to this patch didnot give such BUGes.
>>>
>>> All this was tried with
>>> CONFIG_GROUP_SCHED=N
>>> CONFIG_RT_GROUP_SCHED=N
>>>
>>>
>>> Setting the options
>>> CONFIG_GROUP_SCHED=y
>>> CONFIG_RT_GROUP_SCHED=Y,
>>> seems to solve the problem.
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>
>
>


Attachment: signature.asc
Description: OpenPGP digital signature