From: Philippe Gerum <rpm@xenomai.org>
To: Charles Kiorpes <ckiorpes@gmail.com>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai] Process shared rt_event_wait() never signaled on ARM with Mercury core
Date: Fri, 12 Feb 2016 11:43:37 +0100 [thread overview]
Message-ID: <56BDB759.1010008@xenomai.org> (raw)
In-Reply-To: <CAHoW4hGESwFmrK5w4zTRSdqdTXSmOZcbM-SY+rU=PpWH92eDjg@mail.gmail.com>
On 02/11/2016 01:57 PM, Charles Kiorpes wrote:
>
> I attempted to run several tests: 'task-1', 'event-1', and 'mutex-1'.
> Each of these hung indefinitely. A gdb trace indicated that they were
> hanging on __libc_do_syscall() within __pthread_cond_wait() within
> threadobj_cond_wait().
>
> I have attached the full backtrace from mutex-1 as mutex-1_bt.txt
>
Ok, if the test suite does not pass, something is badly wrong, so we
should investigate that hang issue before anything else.
The backtrace reveals that copperplate cannot handshake with a newly
spawned task, this is the purpose of the wait_on_barrier() call over the
context of rt_task_start(). That barrier should be signaled by a call to
threadobj_notify_entry() from the internal trampoline code of the
emerging thread (task_entry() in alchemy/task.c).
- maybe task_prologue_2() (alchemy/task.c) which is called earlier hangs
indefinitely, and therefore prevents threadobj_notify_entry() from running?
- maybe the new thread does not even start for some reason, are we sure
task_entry() is reached (e.g. do we hit a breakpoint there?)
Could you inspect the current thread list under gdb when the program hangs?
Also, I would recommend to enable full debugging for now
(--enable-debug=full) to get accurate line information, assuming the
issue should still show up with a non-optimized code. Hopefully.
--
Philippe.
next prev parent reply other threads:[~2016-02-12 10:43 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-10 18:41 [Xenomai] Process shared rt_event_wait() never signaled on ARM with Mercury core Charles Kiorpes
2016-02-10 20:21 ` Philippe Gerum
2016-02-11 12:57 ` Charles Kiorpes
2016-02-12 10:43 ` Philippe Gerum [this message]
2016-02-12 14:08 ` Charles Kiorpes
2016-02-12 15:25 ` Philippe Gerum
2016-02-12 19:07 ` Charles Kiorpes
2016-02-16 15:40 ` Philippe Gerum
2016-02-17 21:34 ` Charles Kiorpes
2016-02-12 10:55 ` Philippe Gerum
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=56BDB759.1010008@xenomai.org \
--to=rpm@xenomai.org \
--cc=ckiorpes@gmail.com \
--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.