RTAI 3.1 LXRT preempt problems

Philippe Gerum rpm at xenomai.org
Sat Oct 30 13:54:19 CEST 2004


On Sat, 2004-10-30 at 10:51, Panagiotis Issaris wrote:
> Hi,
> 
> Yes, there apear to be more people experiencing the "error 516" problem,
> some with exactly the same software setup as others who don't.
> 
> This new entry in the LiveCD database is not from the user I reported
> about earlier and seems to have to same problem:
> http://issaris.homelinux.org/~takis/projects/rtai/show_entry.php?ts=2004-10-30+09%3A46%3A00%2B02
> 

I've just had a short look to the "Error 516" problem, and I suspect the
following to occur (please take this with a grain of salt since I've not
investigated the matter in depth):

1. Upon receipt of ^C, SIGINT is marked pending for the "preempt" LXRT
task.
2. "preempt" wakes up in some posix timer code in the kernel, aborting
its previous sleeping state, which in turn causes the syscall to return
either ERESTARTSYS (i.e. 512) or ERESTART_RESTARTBLOCK (i.e. 516). 3.
For some reason, the arch-dependent handling code (e.g.
arch/i386/kernel/signal.c) is not called on the return path of the
interrupted syscall for the "preempt" task, so this internal error code
is neither remapped to EINTR before returning to the caller, nor the
syscall is being transparently restarted. This might be some unexpected
consequence of fiddling with the hard/soft LXRT mode for the task.

The reason why glibc's sleep() is complaining about some unknow error
code is likely because codes 512-516 should never be seen by the user
space; they are kernel's business, only aimed at specifying the internal
action to take for interrupted syscalls.

> With friendly regards,
> Takis
> 
> 
> 
> 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 ?
> >
-- 

Philippe.





More information about the Rtai mailing list