RTAI 3.1 LXRT preempt problems

Philippe Gerum rpm at xenomai.org
Sat Oct 30 14:20:57 CEST 2004


On Sat, 2004-10-30 at 14:08, Philippe Gerum wrote:
> On Wed, 2004-10-27 at 20:29, Hannes Mayer wrote:
> > Panagiotis Issaris wrote:
> > > Hi,
> > > 
> > > I've received two reports regarding problems with the
> > > preempt tests using LXRT on RTAI 3.1 (of my LiveCD version
> > > 0.7 - so 2.6.7-adeos r8c5).
> > > 
> > > One person stated that:
> > > 
> > >  "LXRT preempt test freezes my laptop"
> > > 
> > > while another stated:
> > > 
> > > "I get the following error when I stop (Ctrl-c) the test 4 (LXRT preemt) :
> > > Sleep : Unknown error 516"
> > 
> > I too get "error 516" on 2.6.8.1/3.1
> > sleep: Echtzeit-Uhr kann nicht gelesen werden: Unbekannter Fehler 516
> > (translated: sleep: can't read from real time clock: unknown error 516)
> > 
> > Also happens on 2.6.7/3.1 (hal7)
> > 
> > If I'm running this test via SSH a even more strange thing happens:
> > The kernel panics ("In idle task - not syncing"), but the system stays up
> > and running!!! (kern.log below)
> > Pretty strange!
> > Anyone ?
> > 
> 
> Likely because Linux panics on behalf of a non-Linux stack. Anything
> running over RTAI interrupt handlers might be concerned.
> 
> > Best regards,
> > Hannes.
> > 
> > # tail -f /var/log/kern.log
> > 
> > Oct 25 22:18:52 localhost kernel: Adeos: Domain RTAI registered.
> > Oct 25 22:18:52 localhost kernel: RTAI[hal]: 3.1 mounted over Adeos 2.6r7/x86.
> > Oct 25 22:18:52 localhost kernel: RTAI[hal]: compiled with gcc version 3.3.4 (Debian).
> > Oct 25 22:18:52 localhost kernel: RTAI[malloc]: loaded (global heap size=131072 bytes).
> > Oct 25 22:18:52 localhost kernel: RTAI[sched_lxrt]: loaded (LxrtMode 0).
> > Oct 25 22:18:52 localhost kernel: RTAI[sched_lxrt]: timer=periodic (8254-PIT).
> > Oct 25 22:18:52 localhost kernel: RTAI[sched_lxrt]: standard tick=1000 hz, CPU freq=450988000 hz.
> > Oct 25 22:18:52 localhost kernel: RTAI[sched_lxrt]: timer setup=2008 ns, resched latency=2689 ns.
> > 
> > Message from syslogd at localhost at Mon Oct 25 22:19:03 2004 ...
> > localhost kernel: In idle task - not syncing
> > Oct 25 22:19:03 localhost kernel: RTAI[malloc]: unloaded.
> > Oct 25 22:19:03 localhost kernel: RTAI[sched_lxrt]: unloaded.
> > Oct 25 22:19:03 localhost kernel: Adeos: Domain RTAI unregistered.
> > Oct 25 22:19:03 localhost kernel: RTAI[hal]: unmounted.
> > Oct 25 22:19:03 localhost kernel: Unable to handle kernel NULL pointer dereference at virtual address 00000000
> > Oct 25 22:19:03 localhost kernel:  printing eip:
> > Oct 25 22:19:03 localhost kernel: 00000000
> > Oct 25 22:19:03 localhost kernel: *pde = 00000000
> > Oct 25 22:19:03 localhost kernel: Oops: 0000 [#3]
> > Oct 25 22:19:03 localhost kernel: PREEMPT
> > Oct 25 22:19:03 localhost kernel: Modules linked in: ipv6 3c59x agpgart ide_cd cdrom rtc unix
> > Oct 25 22:19:03 localhost kernel: CPU:    0
> > Oct 25 22:19:03 localhost kernel: EIP:    0060:[<00000000>]    Not tainted
> > Oct 25 22:19:03 localhost kernel: EFLAGS: 00010046   (2.6.8.1-adeos)
> > Oct 25 22:19:03 localhost kernel: EIP is at 0x0
> > Oct 25 22:19:03 localhost kernel: eax: 000000e1   ebx: c039aecc   ecx: c039a450   edx: 000000e1
> > Oct 25 22:19:03 localhost kernel: esi: 00000001   edi: c039a440   ebp: 00000007   esp: c0331b08
> > Oct 25 22:19:03 localhost kernel: ds: 007b   es: 007b   ss: 0068
> > Oct 25 22:19:03 localhost kernel: Process swapper (pid: 0, threadinfo=c0330000 task=c02eca40)
> > Oct 25 22:19:03 localhost kernel: Stack: c011308a 000000e1 c039aecc c039a450 000000e1 00000001 c039a440 00000007
> > Oct 25 22:19:03 localhost kernel:        000000e1 0000007b c011007b ffffffff c0113092 00000060 00000246 c039a46c
> > Oct 25 22:19:03 localhost kernel:        c039a440 00000086 ffffffff c039a440 00000000 00000000 00000000 c0113260
> > Oct 25 22:19:03 localhost kernel: Call Trace:
> > Oct 25 22:19:03 localhost kernel:  [__adeos_sync_stage+346/384] __adeos_sync_stage+0x15a/0x180
> > Oct 25 22:19:03 localhost kernel:  [intel_machine_check+651/688] intel_machine_check+0x28b/0x2b0
> > Oct 25 22:19:03 localhost kernel:  [__adeos_sync_stage+354/384] __adeos_sync_stage+0x162/0x180
> > Oct 25 22:19:03 localhost kernel:  [__adeos_handle_irq+432/496] __adeos_handle_irq+0x1b0/0x1f0
> > Oct 25 22:19:03 localhost kernel:  [__adeos_irq_common+24/48] __adeos_irq_common+0x18/0x30
> > Oct 25 22:19:03 localhost kernel:  [panic+224/304] panic+0xe0/0x130
> > Oct 25 22:19:03 localhost kernel:  [do_exit+1445/1472] do_exit+0x5a5/0x5c0
> > Oct 25 22:19:03 localhost kernel:  [do_page_fault+0/1389] do_page_fault+0x0/0x56d
> > Oct 25 22:19:03 localhost kernel:  [do_page_fault+0/1389] do_page_fault+0x0/0x56d
> > Oct 25 22:19:03 localhost kernel:  [die+338/352] die+0x152/0x160
> > Oct 25 22:19:03 localhost kernel:  [do_page_fault+478/1389] do_page_fault+0x1de/0x56d
> > Oct 25 22:19:03 localhost kernel:  [__mod_timer+348/736] __mod_timer+0x15c/0x2e0
> > Oct 25 22:19:03 localhost kernel:  [recalc_task_prio+168/416] recalc_task_prio+0xa8/0x1a0
> > Oct 25 22:19:03 localhost kernel:  [activate_task+98/128] activate_task+0x62/0x80
> > Oct 25 22:19:03 localhost kernel:  [do_page_fault+0/1389] do_page_fault+0x0/0x56d
> > Oct 25 22:19:03 localhost kernel:  [error_code+45/56] error_code+0x2d/0x38
> > Oct 25 22:19:03 localhost kernel:  [__adeos_sync_stage+346/384] __adeos_sync_stage+0x15a/0x180
> > Oct 25 22:19:03 localhost kernel:  [__adeos_sync_stage+354/384] __adeos_sync_stage+0x162/0x180
> > Oct 25 22:19:03 localhost kernel:  [__adeos_handle_irq+432/496] __adeos_handle_irq+0x1b0/0x1f0
> > Oct 25 22:19:03 localhost kernel:  [__adeos_irq_common+24/48] __adeos_irq_common+0x18/0x30
> > Oct 25 22:19:03 localhost kernel:  [panic+224/304] panic+0xe0/0x130
> > Oct 25 22:19:03 localhost kernel:  [do_exit+1445/1472] do_exit+0x5a5/0x5c0
> > Oct 25 22:19:03 localhost kernel:  [do_page_fault+0/1389] do_page_fault+0x0/0x56d
> > Oct 25 22:19:03 localhost kernel:  [do_page_fault+0/1389] do_page_fault+0x0/0x56d
> > Oct 25 22:19:03 localhost kernel:  [die+338/352] die+0x152/0x160
> > Oct 25 22:19:03 localhost kernel:  [do_page_fault+478/1389] do_page_fault+0x1de/0x56d
> > Oct 25 22:19:03 localhost kernel:  [__mod_timer+348/736] __mod_timer+0x15c/0x2e0
> > Oct 25 22:19:03 localhost kernel:  [recalc_task_prio+168/416] recalc_task_prio+0xa8/0x1a0
> > Oct 25 22:19:03 localhost kernel:  [activate_task+98/128] activate_task+0x62/0x80
> > Oct 25 22:19:03 localhost kernel:  [do_page_fault+0/1389] do_page_fault+0x0/0x56d
> > Oct 25 22:19:03 localhost kernel:  [error_code+45/56] error_code+0x2d/0x38

^^^^^

Something faults over a RTAI interrupt handler, the kernel then attempts
to kill the faulting task, ends up in do_exit() which in turn discovers
that it is not running on behalf  Linux task.

> > Oct 25 22:19:03 localhost kernel:  [__adeos_sync_stage+346/384] __adeos_sync_stage+0x15a/0x180
> > Oct 25 22:19:03 localhost kernel:  [intel_machine_check+651/688] intel_machine_check+0x28b/0x2b0
> > Oct 25 22:19:03 localhost kernel:  [__adeos_sync_stage+354/384] __adeos_sync_stage+0x162/0x180
> > Oct 25 22:19:03 localhost kernel:  [__adeos_handle_irq+432/496] __adeos_handle_irq+0x1b0/0x1f0
> > Oct 25 22:19:03 localhost kernel:  [default_idle+0/64] default_idle+0x0/0x40
> > Oct 25 22:19:03 localhost kernel:  [__adeos_irq_common+24/48] __adeos_irq_common+0x18/0x30
> > Oct 25 22:19:03 localhost kernel:  [default_idle+0/64] default_idle+0x0/0x40
> > Oct 25 22:19:03 localhost kernel:  [default_idle+44/64] default_idle+0x2c/0x40
> > Oct 25 22:19:03 localhost kernel:  [cpu_idle+56/80] cpu_idle+0x38/0x50
> > Oct 25 22:19:03 localhost kernel:  [start_kernel+456/544] start_kernel+0x1c8/0x220
> > Oct 25 22:19:03 localhost kernel:  [unknown_bootoption+0/352] unknown_bootoption+0x0/0x160
> > Oct 25 22:19:03 localhost kernel: Code:  Bad EIP value.
> > Oct 25 22:19:03 localhost kernel:  <0>Kernel panic: Attempted to kill the idle task!
> > Oct 25 22:19:03 localhost kernel: In idle task - not syncing
> > Oct 25 22:19:03 localhost kernel:  <4>Adeos: Current domain=Linux on CPU #0 [stackbase=00000000]
> > Oct 25 22:19:03 localhost kernel:    Linux[cpuid=0]: priority=100, status=0x0, pending_hi=0x0
> > 
> > 
> > 
> > _______________________________________________
> > RTAI mailing list
> > RTAI at rtai.org
> > https://mail.rtai.org/cgi-bin/mailman/listinfo/rtai
-- 

Philippe.





More information about the Rtai mailing list