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: Wed, 11 Mar 2009 10:14:59 +0100 [thread overview]
Message-ID: <49B78113.3030308@domain.hid> (raw)
In-Reply-To: <67b6b3430903101552u37244233s587898c4d0f9ef3d@domain.hid>
Mark Saiia wrote:
> I am unable to examine the kernel log. When I say hard crash I mean
> that everything locks up, including the OS.
When the system detects a corruption, it first dumps a report to the console
then halts the CPU. So what you need to do is a way to get the console output
over a serial link, or maybe over a netconsole.
Therefore, I cannot do a
> logread. I modified syslogd to output to file. Klogd is outputting to
> syslog (the version being using does not have the option to output
> directly to file). When I examine the log on disk after reboot, there
> is nothing relevant in there.
The report can't be synced to disk, so you can't find it after next boot anyway.
The last log message is prior to the
> crash.
>
> On Tue, Mar 10, 2009 at 3:24 PM, Philippe Gerum <rpm@xenomai.org> wrote:
>> 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.
>>
>
--
Philippe.
next prev parent reply other threads:[~2009-03-11 9:14 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
[not found] ` <67b6b3430903101552u37244233s587898c4d0f9ef3d@domain.hid>
2009-03-11 9:14 ` Philippe Gerum [this message]
[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=49B78113.3030308@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.