From: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
To: Andrew Tannenbaum <trb@domain.hid>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-help] hang in rtcansend
Date: Mon, 26 Dec 2011 23:56:54 +0100 [thread overview]
Message-ID: <4EF8FBB6.4060107@domain.hid> (raw)
In-Reply-To: <4EF27CD5.4060603@domain.hid>
On 12/22/2011 01:41 AM, Andrew Tannenbaum wrote:
> Summary: I am having a problem running rtcansend/recv on Xenomai 2.6.0,
> with the processes hanging in their cleanup code.
>
> I had been running Xenomai on an Intel Atom system with a PEAK PCI
> SJA1000 CAN adapter.
>
> I was running Linux 2.5.35.7 with Xenomai 2.5.5.2. I connected a servo
> and motor to the PEAK adapter, and I was able to talk with it using
> rtcansend and rtcanrecv.
>
> After working on other things for a few months, I need to return to this
> project, so I downloaded the latest Linux/Xenomai pair, which I think is
> Linux 2.5.38.8 and Xenomai 2.6.0.
>
> I was able to compile these (using the Debian build advice, generating
> .deb files for Linux and Xenomai, which I install with dpkg -i). I used
> a Linux .config derived from my older build.
>
> With both the new and old installs, I am able to run xeno-test and get
> decent latencies and such, though some of the tests fail depending on
> what I have configured in Realtime/Drivers/Testing Drivers. That is not
> what I'm asking about.
>
>
>
> I am having a problem running rtcansend/recv on Xenomai 2.6.0:
>
> I can run rtcanconfig and it sets up my rtcan0 properly so I can see and
> configure the servo. The data in /proc/rtcan looks ok.
>
> But when I try to talk with the servo using rtcansend, the rtcansend
> process fails during the close phase, it looks like this:
>
> $ rtcansend rtcan0 -v -i 0x0 0x82 0x1
> interface rtcan0
> s=0, ifr_name=rtcan0
> <0x000> [2] 82 01
> Cleaning up...
> ^CSignal 2 received
> Cleaning up...
> $
>
> So it hangs after the first "Cleaning up..." and I hit Control-C and
> then it catches the ^C and exits. The code at the bottom of
After various attempts, the bug happens when the main thread exits with
pthread_exit while other threads exist in the process. It was already
there in 2.5.6 at least, but we did not see it with rtcansend because
there was no other thread than the main thread, while in 2.6.0, there is
now the rt_print thread running.
--
Gilles.
next prev parent reply other threads:[~2011-12-26 22:56 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-22 0:41 [Xenomai-help] hang in rtcansend Andrew Tannenbaum
2011-12-22 9:48 ` Gilles Chanteperdrix
2011-12-22 13:33 ` Willy Lambert
2011-12-22 15:36 ` Gilles Chanteperdrix
2011-12-22 15:47 ` Willy Lambert
2011-12-22 18:59 ` Andrew Tannenbaum
2011-12-26 22:56 ` Gilles Chanteperdrix [this message]
2011-12-26 23:04 ` Gilles Chanteperdrix
2011-12-28 19:09 ` Andrew Tannenbaum
2011-12-28 20:50 ` Gilles Chanteperdrix
2011-12-29 11:25 ` Gilles Chanteperdrix
2011-12-29 13:13 ` Gilles Chanteperdrix
2011-12-29 15:18 ` Andrew Tannenbaum
2011-12-29 15:34 ` Gilles Chanteperdrix
2012-01-03 23:47 ` Andrew Tannenbaum
2012-01-10 17:50 ` Andrew Tannenbaum
2012-01-10 18:11 ` Gilles Chanteperdrix
2012-01-11 16:24 ` Andrew Tannenbaum
2012-01-16 23:19 ` [Xenomai-help] problem with Debian Xenomai build, was " Andrew Tannenbaum
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=4EF8FBB6.4060107@domain.hid \
--to=gilles.chanteperdrix@xenomai.org \
--cc=trb@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.