Re: [Xenomai-help] Freeze while running examples

2012-03-02 Thread Gilles Chanteperdrix
On 03/03/2012 01:14 AM, Oscar Dávila wrote:
> 2012/3/2 Gilles Chanteperdrix 
> 
>> 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$0xe000,%eax
>   root_stall_after_handler();
>   while (__ipipe_check_root_resched())
> c10751c7: 83 78 14 00 cmpl   $0x0,0x14(%eax)
> c10751cb: 75 58   jnec1075225 <__xirq_end+0x2>
> c10751cd: f6 40 08 08 testb  $0x8,0x8(%eax)
> c10751d1: 74 52   je c1075225 <__xirq_end+0x2>
> c10751d3: eb f8   jmpc10751cd 
> <__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.


___
Xenomai-help mailing list
Xenomai-help@gna.org
https://mail.gna.org/listinfo/xenomai-help


Re: [Xenomai-help] Freeze while running examples

2012-03-02 Thread Oscar Dávila
2012/3/2 Gilles Chanteperdrix 

> 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:
Modules linked in: isofs udf crc_itu_t i915 drm_kms_helper drm
i2c_algo_bit sco ppdev bridge stp bnep lp l2cap crc16 bluetooth rfkill
binfmt_misc fuse loop snd_intel8x0 snd_ac97_codec ac97_bus snd_pcm_oss
snd_mixer_oss snd_pcm snd_seq_midi snd_rawmidi snd_seq_midi_event
snd_seq snd_timer snd_seq_device i2c_i801 snd parport_pc i2c_core
soundcore snd_page_alloc parport rng_core tpm_tis tpm evdev psmouse
serio_raw usbhid hid ext3 jbd mbcache sg sr_mod sd_mod crc_t10dif
cdrom ata_generic uhci_hcd ehci_hcd ata_piix libata scsi_mod tg3
usbcore floppy libphy nls_base [last unloaded: scsi_wait_scan]

Pid: 1891, comm: ex01 Not tainted 2.6.35.9-xenomai-2.6.0-8 #5 IBM/8143PSR
EIP: 0060:[] EFLAGS: 0022 CPU: 0
EIP is at __ipipe_sync_stage+0x131/0x181
EAX: deb38000 EBX: 0521 ECX: de8a6940 EDX: c1472580
ESI: c1542100 EDI: 0523 EBP: deb39f98 ESP: deb39f64
 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
Process ex01 (pid: 1891, ti=deb38000 task=de8a6940 task.ti=deb38000)
I-pipe domain Linux
Stack:
  c1542100 c109dfb0 c1468cf4 0520 c1542104 c1c03cf8 c1c03cfc
<0> c1c03d04 c146802c deb39fb4 00200282 0001 deb39fac c1019be4 080499c4
<0>   deb38000 c1287a71 080499c4 080486a4  
Call Trace:
 [] ? hisyscall_event+0x0/0x2b2
 [] ? __ipipe_syscall_root+0xd9/0xe8
 [] ? system_call+0x2d/0x4f
Code: f9 c1 e1 07 8b 91 0c 21 54 c1 89 d8 ff 91 08 21 54 c1 e8 b7 b6
fb ff fa 89 e0 25 00 e0 ff ff 83 78 14 00 75 58 f6 40 08 08 74 52 
f8 c1 e7 07 8b 97 08 21 54 c1 64 8b 3d 14 7f 46 c1 03 7d f0
---[ end trace 6b3881f72975605e ]---


Objdump -S

c10750a2 <__ipipe_sync_stage>:
 * return of this routine.
 *
 * This routine must be called with hw interrupts off.
 */
void __ipipe_sync_stage(void)
{
c10750a2:   55  push   %ebp
c10750a3:   89 e5   mov%esp,%ebp
c10750a5:   57  push   %edi
c10750a6:   56  push   %esi
c10750a7:   53  push   %ebx
c10750a8:   83 ec 28sub$0x28,%esp
struct ipipe_percpu_domain_data *p;
struct ipipe_domain *ipd;
int irq;

ipd = __ipipe_current_domain;
c10750ab:   ba 94 e6 46 c1  mov$0xc146e694,%edx
c10750b0:   64 a1 14 7f 46 c1   mov%fs:0xc1467f14,%eax
c10750b6:   8b 34 10mov(%eax,%edx,1),%esi
p = ipipe_cpudom_ptr(ipd);
c10750b9:   ba f4 8c 46 c1  mov$0xc1468cf4,%edx
c10750be:   01 d0   add%edx,%eax
c10750c0:   69 0e 68 16 00 00   imul   $0x1668,(%esi),%ecx
c10750c6:   01 c8   add%ecx,%eax
c10750c8:   0f ba 28 00 btsl   $0x0,(%eax)
barrier();

if (test_bit(IPIPE_LOCK_FLAG, &ipd->irqs[irq].control))
continue;

if (!__ipipe_pipeline_head_p(ipd))
c10750cc:   8d 4e 04lea0x4(%esi),%ecx
c10750cf:   89 4d e0mov%ecx,-0x20(%ebp)
void __ipipe_end_edge_irq(unsigned irq, struct irq_desc *desc);

static inline void __do_root_xirq(ipipe_irq_handler_t handler,
  unsigned int irq)
{
struct pt_regs *regs = &__raw_get_cpu_var(__ipipe_tick_regs);
c10750d2:   bb 2c 80 46 c1  mov$0xc146802c,%ebx
c10750d7:   89 5d f0mov%ebx,-0x10(%ebp)
__ipipe_do_root_xirq(ipd, irq);
local_irq_disable_hw();
root_stall_after_handler();
}

p = ipipe_cpudom_ptr(__ipipe_current_domain);
c10750da:   89 55 d8mov%edx,-0x28(%ebp)
clear_bit(nr, addr);
}

static inline void __clear_bit(int nr, volatile unsigned long *addr)
{
asm volatile("btr %1,%0" : ADDR : "Ir" (nr));
c10750dd:   8d 50 10lea0x10(%eax),%edx
c10750e0: 

Re: [Xenomai-help] ABI

2012-03-02 Thread Gilles Chanteperdrix
On 03/02/2012 03:56 PM, Utsav Patel wrote:
>  While running the program, I am getting this.
> 
> ceems@ceems-desktop:~/Desktop$ ./hello
> Xenomai: incompatible ABI revision level
> (needed=1, current=4).
> 
> Can any one tell me what this means? What should I do?

You get this error when mixing xenomai user-space support dans
kernel-space support from different branches. For instance xenomai
kernel-space version from branch 2.5 with xenomai user-space support
from branch 2.6.

What you should do is compile xenomai kernel-space and user-space using
sources in the same branch.

Another possible explanation is that you are using gcc 4.6 on x86. And
in that case, you should add "-fno-omit-frame-pointer" to the CFLAGS you
pass to xenomai user-space configure script.

-- 
Gilles.

___
Xenomai-help mailing list
Xenomai-help@gna.org
https://mail.gna.org/listinfo/xenomai-help


[Xenomai-help] ABI

2012-03-02 Thread Utsav Patel
 While running the program, I am getting this.

ceems@ceems-desktop:~/Desktop$ ./hello
Xenomai: incompatible ABI revision level
(needed=1, current=4).

Can any one tell me what this means? What should I do?

___
Xenomai-help mailing list
Xenomai-help@gna.org
https://mail.gna.org/listinfo/xenomai-help


[Xenomai-help] Xenomai server down

2012-03-02 Thread Gilles Chanteperdrix

Hi,

xenomai.org server will be down for maintenance during the week-end.

Regards.

-- 
Gilles.

___
Xenomai-help mailing list
Xenomai-help@gna.org
https://mail.gna.org/listinfo/xenomai-help


Re: [Xenomai-help] Freeze while running examples

2012-03-02 Thread Gilles Chanteperdrix
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.

-- 
Gilles.


___
Xenomai-help mailing list
Xenomai-help@gna.org
https://mail.gna.org/listinfo/xenomai-help


Re: [Xenomai-help] Freeze while running examples

2012-03-02 Thread Gilles Chanteperdrix
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

-- 
   Gilles.


___
Xenomai-help mailing list
Xenomai-help@gna.org
https://mail.gna.org/listinfo/xenomai-help