From: Philippe Gerum <rpm@xenomai.org>
To: Mark Saiia <mark.saiia@domain.hid>
Cc: xenomai-help <xenomai@xenomai.org>
Subject: Re: [Xenomai-help] rt_queue_write return 1, with no receiver
Date: Tue, 10 Mar 2009 23:24:49 +0100 [thread overview]
Message-ID: <49B6E8B1.2030900@domain.hid> (raw)
In-Reply-To: <67b6b3430903101516n354263d6of00c79e130118e1@domain.hid>
Mark Saiia wrote:
> With the debugging options enabled, at the point when the application
> has previously shifted from 1 waiter to 2 waiters, the system
> hardlocks, just as when I was catting the queue proc entry.
>
That is expected, but what does the kernel log say at that point?
> On 3/10/09, Philippe Gerum <rpm@xenomai.org> wrote:
>> Mark Saiia wrote:
>>> When our app's log shows the number of waiters is 1(via
>>> rt_queue_inquire), catting the proc entry shows the queue info, and a
>>> + on the next line. However, when the log shows the number of waiters
>>> is 2, catting the proc entry crashes the system hard, which
>>> necessitates a reboot. This behavior is completely reproducible.
>>>
>> This is an evidence that some internal data structures are terminally
>> broken.
>> You may want to enable CONFIG_XENO_OPT_DEBUG, CONFIG_XENO_OPT_DEBUG_NUCLEUS
>> and
>> CONFIG_XENO_OPT_DEBUG_QUEUES in your kernel config. The nucleus will pull
>> the
>> break when a corruption is detected at runtime.
>>
>>> Mark
>>>
>>>
>>> On 3/10/09, Philippe Gerum <rpm@xenomai.org> wrote:
>>>> Steven Seeger wrote:
>>>>>> Yes, the docs are correct, and the code looks sane as well. You may
>>>>>> want to
>>>>>> double-check your findings using rt_queue_inquire() before calling
>>>>>> rt_queue_write(), even if this won't be 100% reliable in case your
>>>>>> reader is
>>>>>> polling the queue.
>>>>> Philippe,
>>>>>
>>>>> We took your advice and tried rt_queue_inquire(). If we use a timeout on
>>>>> the read, It seems there are always 3 waiters, which is strange because
>>>>> we have only one thread reading from the queue. If we remove the timout,
>>>>> there is either 1 or 2 waiters. It got 0 waiters once and still hung.
>>>>> Very strange.
>>>>>
>>>> /proc/xenomai/registry/native/queues/* will tell you which threads are
>>>> pending
>>>> on the queue.
>>>>
>>>>> Thanks,
>>>>> Steven
>>>>>
>>>>>
>>>> --
>>>> Philippe.
>>>>
>>
>> --
>> Philippe.
>>
>
--
Philippe.
next prev parent reply other threads:[~2009-03-10 22:24 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-10 0:27 [Xenomai-help] rt_queue_write return 1, with no receiver Mark Saiia
2009-03-10 9:37 ` Philippe Gerum
2009-03-10 18:21 ` Steven Seeger
2009-03-10 18:57 ` Steven Seeger
2009-03-10 19:56 ` Philippe Gerum
[not found] ` <67b6b3430903101403r183d6d4cwe100619a293abae2@domain.hid>
2009-03-10 21:07 ` Philippe Gerum
2009-03-10 22:16 ` Mark Saiia
2009-03-10 22:24 ` Philippe Gerum [this message]
[not found] ` <67b6b3430903101552u37244233s587898c4d0f9ef3d@domain.hid>
2009-03-11 9:14 ` Philippe Gerum
[not found] ` <67b6b3430903110951m71679f89ud83859654f04aabb@domain.hid>
2009-03-11 17:04 ` Philippe Gerum
2009-03-11 17:07 ` Steven Seeger
2009-03-11 17:15 ` Philippe Gerum
2009-03-11 17:18 ` Steven Seeger
2009-03-11 17:36 ` Philippe Gerum
2009-03-11 17:38 ` Steven Seeger
2009-03-11 17:39 ` Steven Seeger
[not found] ` <67b6b3430903111043s628c5c64m89cc8c726bdf6ff9@domain.hid>
2009-03-11 17:45 ` [Xenomai-help] Fwd: " Mark Saiia
2009-03-11 17:17 ` [Xenomai-help] " Jan Kiszka
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49B6E8B1.2030900@domain.hid \
--to=rpm@xenomai.org \
--cc=mark.saiia@domain.hid \
--cc=xenomai@xenomai.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.