Re: [Xenomai-help] Freeze while running examples
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/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
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
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
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
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
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