On Tue, 2011-06-28 at 11:26 +0200, Henri Roosen wrote:
> Hi,
> 
> We enabled CONFIG_XENO_OPT_DEBUG_NUCLEUS and get the following fatal bug:
> 
>  [   26.208785] Xenomai: fatal: bug at
> kernel/xenomai/nucleus/synch.c:723 (xnthread_get_rescnt(lastowner) <
> 0)
> 

This is a known bug, fix pending here.

> This occurs at different places in our code, one of which is in the
> rt-serial driver 16550A.c in line 1076. I don't think the code of this
> driver is using the out_lock in a wrong way, so any idea what can be
> wrong then?
> 
> We use Xenomai 2.5.6 on Linux 2.6.32.15 x86 with auto-relax patches from 
> 'head':
> http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=b75cec19387e561f82ac55595db8c993b049f071
> to
> http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=6653a9e8eb7339b749989bd74adc3ac3bd29e4da
> and
> http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=82200f0b66908a5366a72355b3b70472031d68fb
> http://git.xenomai.org/?p=xenomai-rpm.git;a=commit;h=becb13774ab687d016857f6a972f4124fbd10c44
> 
> Thanks,
> Henri.
> 
> On Thu, May 5, 2011 at 4:40 PM, Henri Roosen <[email protected]> wrote:
> > On Thu, May 5, 2011 at 3:55 PM, Philippe Gerum <[email protected]> wrote:
> >> On Mon, 2011-05-02 at 10:58 +0200, Henri Roosen wrote:
> >>> Hi Philippe,
> >>>
> >>> Thanks for the patch! Unfortunately this does not resolve the 'stuck
> >>> in primary of prio 0 after rt_task_send'.
> >>>
> >>> I'll attach the basic test application that reproduces it. All prints
> >>> should contain secondary mode because all tasks are prio 0 and the
> >>> auto-relax patches are compiled in.
> >>>
> >>> The producer which does the rt_task_send() call does not auto-relax to
> >>> secondary mode.
> >>
> >> Your example code works with this added patch on top of both 2.5.x and
> >> -head:
> >> http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=82200f0b66908a5366a72355b3b70472031d68fb
> >>
> >
> > Hi Philippe!
> > I tried this patch and can confirm it results in expected behaviour of
> > the prio 0 scheduling now, also in our main application.
> >
> > Thanks a lot!
> > Henri
> >
> >>>
> >>> Thanks,
> >>> Henri.
> >>>
> >>> On Sun, May 1, 2011 at 5:01 PM, Philippe Gerum <[email protected]> wrote:
> >>> > On Mon, 2011-03-28 at 12:56 +0200, Henri Roosen wrote:
> >>> >> Hi,
> >>> >>
> >>> >> We are using the back-ported auto-relax patches of Xenomai-head on the
> >>> >> 2.5.6 release on Linux 2.6.32.15.
> >>> >>
> >>> >> We noticed that our prio-0 shadowed task is not always auto-relaxed
> >>> >> and traced it back to a problem with rt_task_send/receive/reply. The
> >>> >> rt_task_send/receive/reply mechanism uses the xnsynch primitive to
> >>> >> implement its PIP. However, this mechanism only acquires the xysynch
> >>> >> primitive without releasing it. This results in the resource counter
> >>> >> never be 0 anymore and thus breaking the auto-relaxed which is based
> >>> >> on this resource counter.
> >>> >>
> >>> >> I guess releasing the xnsynch resets the owner, which is not wanted 
> >>> >> either..
> >>> >> Any idea for a fix?
> >>> >
> >>> > Could you give a try at this one? TIA,
> >>> > http://git.xenomai.org/?p=xenomai-rpm.git;a=commit;h=becb13774ab687d016857f6a972f4124fbd10c44
> >>> >
> >>> >>
> >>> >> Thanks,
> >>> >> Henri.
> >>> >>
> >>> >>
> >>> >> On Tue, Oct 12, 2010 at 9:16 AM, Henri Roosen <[email protected]> 
> >>> >> wrote:
> >>> >> > That was a problem with our build environment.
> >>> >> >
> >>> >> > Patches work and the base-prio 0 task nicely switches to the Linux
> >>> >> > domain and competes with the Linux threads for the processor. Now we
> >>> >> > don't loose TCP connection to our target anymore.
> >>> >> >
> >>> >> > Thanks!
> >>> >> >
> >>> >> > Henri
> >>> >> >
> >>> >> > On Mon, Oct 11, 2010 at 5:35 PM, Henri Roosen 
> >>> >> > <[email protected]> wrote:
> >>> >> >> Thanks for the patches Philippe. I applied them to xenomai 2.5.5.
> >>> >> >> Tests with a basic application look good, however our bigger project
> >>> >> >> doesn't. I checked already if we release all mutexes; the base prio > >>> >> >> 0
> >>> >> >> thread thread released all of them but stays in primary domain 
> >>> >> >> after a
> >>> >> >> xenomai call.
> >>> >> >>
> >>> >> >> I'll setup a clean environment, just to be sure, and will 
> >>> >> >> investigate
> >>> >> >> further tomorrow.
> >>> >> >>
> >>> >> >> On Mon, Oct 11, 2010 at 11:31 AM, Andreas Glatz 
> >>> >> >> <[email protected]> wrote:
> >>> >> >>>
> >>> >> >>>>
> >>> >> >>>> The auto-relax feature is now available from -head (upcoming
> >>> >> >>>> 2.6.x). You
> >>> >> >>>> will need all commits from
> >>> >> >>>> http://git.xenomai.org/?p=xenomai-
> >>> >> >>>> head.git;a=commit;h=b75cec19387e561f82ac55595db8c993b049f071
> >>> >> >>>> to
> >>> >> >>>> http://git.xenomai.org/?p=xenomai-
> >>> >> >>>> head.git;a=commit;h=6653a9e8eb7339b749989bd74adc3ac3bd29e4da
> >>> >> >>>>
> >>> >> >>>> --
> >>> >> >>>> Philippe.
> >>> >> >>>>
> >>> >> >>>>
> >>> >> >>>
> >>> >> >>> Very nice. Will try it out soon on my G4 PB Aluminium.
> >>> >> >>>
> >>> >> >>> Andreas
> >>> >> >>>
> >>> >> >>>
> >>> >> >>> _______________________________________________
> >>> >> >>> Xenomai-help mailing list
> >>> >> >>> [email protected]
> >>> >> >>> https://mail.gna.org/listinfo/xenomai-help
> >>> >> >>>
> >>> >> >>
> >>> >> >
> >>> >
> >>> > --
> >>> > Philippe.
> >>> >
> >>> >
> >>> >
> >>
> >> --
> >> Philippe.
> >>
> >>
> >>
> >

-- 
Philippe.



_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to