From: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
To: "Oscar Dávila" <odavilar@domain.hid>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-help] Freeze while running examples
Date: Sat, 03 Mar 2012 01:26:40 +0100 [thread overview]
Message-ID: <4F516540.5030801@domain.hid> (raw)
In-Reply-To: <CAHOEnGegK_DzKg_RTf7yadD2mAxJJOSgdpMn+nxRCHsjAp7mrg@domain.hid>
On 03/03/2012 01:14 AM, Oscar Dávila wrote:
> 2012/3/2 Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
>
>> On 03/02/2012 11:04 AM, Gilles Chanteperdrix wrote:
>>> On 03/01/2012 05:23 AM, Oscar Dávila wrote:
>>>> Finally i could get the dump
>>>>
>>>>
>>>> post-prompt
>>>> No breakpoints or watchpoints.
>>>>
>>>> breakpoints-table-end
>>>>
>>>> post-prompt
>>>> Dump of assembler code for function __ipipe_sync_stage:
>>>> 0xc106d376 <__ipipe_sync_stage+0>: push %ebp
>>>> (...)
>>>> 0xc106d526 <__ipipe_sync_stage+432>: ret
>>>> End of assembler dump.
>>>
>>> The address where the EIP is when the NMI watchdog triggers is
>>> 0xc106d5e1, so, outside this code.
>>>
>> And this dump does not seem to correspond to the kernel that was running
>> when the bug happened, because in that case we had
>>
>> 0xc106d5e1 == __ipipe_sync_stage + 0x21b
>>
>> whereas in your dump,
>>
>> __ipipe_sync_stage + 0x21b == 0xc106d591
>>
>> Sorry about that, i lost that image of the kernel.
>
> Here is a new complete test.
>
> Kernel Messages
>
>
> Kernel failure message 1:
> BUG: NMI Watchdog detected LOCKUP on CPU0, ip c10751d3, registers:
>
> local_irq_disable_hw();
> c10751bf: fa cli
> c10751c0: 89 e0 mov %esp,%eax
> c10751c2: 25 00 e0 ff ff and $0xffffe000,%eax
> root_stall_after_handler();
> while (__ipipe_check_root_resched())
> c10751c7: 83 78 14 00 cmpl $0x0,0x14(%eax)
> c10751cb: 75 58 jne c1075225 <__xirq_end+0x2>
> c10751cd: f6 40 08 08 testb $0x8,0x8(%eax)
> c10751d1: 74 52 je c1075225 <__xirq_end+0x2>
> c10751d3: eb f8 jmp c10751cd <__ipipe_sync_stage+0x12b>
> __ipipe_preempt_schedule_irq();
Looks like an infinite loop when CONFIG_PREEMPT is off. Try putting an
#ifdef CONFIG_PREEMPT around this code:
#ifdef CONFIG_PREEMPT
while (__ipipe_check_root_resched())
__ipipe_preempt_schedule_irq();
#endif
To test that this is indeed the issue, you may try enabling
CONFIG_PREEMPT in the code.
>
--
Gilles.
next prev parent reply other threads:[~2012-03-03 0:26 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CAHOEnGfih5tin7NAnf-qU6tKxVtnb=LjuBFE5QxFQpxfA=EBkg@domain.hid>
2012-02-14 17:54 ` [Xenomai-help] Freeze while running examples Oscar Dávila
2012-02-14 18:39 ` Gilles Chanteperdrix
2012-02-23 22:43 ` Oscar Dávila
2012-02-23 23:12 ` Gilles Chanteperdrix
2012-02-24 22:55 ` Oscar Dávila
2012-02-25 17:56 ` Gilles Chanteperdrix
2012-02-29 23:34 ` Oscar Dávila
2012-03-01 4:23 ` Oscar Dávila
2012-03-02 3:46 ` Oscar Dávila
2012-03-02 10:04 ` Gilles Chanteperdrix
2012-03-02 10:08 ` Gilles Chanteperdrix
2012-03-03 0:14 ` Oscar Dávila
2012-03-03 0:26 ` Gilles Chanteperdrix [this message]
2012-03-06 3:14 ` Oscar Dávila
2012-03-06 16:45 ` Gilles Chanteperdrix
2012-03-06 16:53 ` Philippe Gerum
2012-03-06 18:09 ` Gilles Chanteperdrix
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F516540.5030801@domain.hid \
--to=gilles.chanteperdrix@xenomai.org \
--cc=odavilar@domain.hid \
--cc=xenomai@xenomai.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.