Google Groups Home
Help | Sign in
SPOT eDemo bug found, affects use of SPOT eDemo UART with TrackBot
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  1 message - Collapse all
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
Bruce Boyes  
View profile
 More options Jun 9, 9:55 pm
From: Bruce Boyes <bbo...@systronix.com>
Date: Mon, 09 Jun 2008 19:55:32 -0600
Local: Mon, Jun 9 2008 9:55 pm
Subject: SPOT eDemo bug found, affects use of SPOT eDemo UART with TrackBot
Hi everyone

Sun has found a rather significant bug in the command buffer of the
eDemo board. Apparently it uses a ring buffer with no protection in
case the head pointer catches up to the tail and overwrites it. The
command buffer is pretty small so it only takes a few commands close
enough together to trigger this problem.

The effect of this is to corrupt commands sent to the eDemo board, if
there is also serial I/O going on, and commands are sent to eDemo
faster than they can be processed.

We see this as corrupted LED color commands, and lost serial messages
between SPOT and TrackBot.

We originally reported symptoms to Sun over a year ago but without
some hard evidence (which is hard to get), they didn't believe us.
Now someone else at Sun Labs has come up with a specific test case
and also dug into the source code to see the likely explanation.

Sun is reportedly working on a fix which we will test as soon as it's
available. They also may add a true blocking read to the UART, which
would be a huge improvement, and eliminate the need to poll the UART
to see if data is available.

In the meantime, be aware of this and don't send commands to eDemo
(including UART access) "too frequently" - and there's no clear way
to know when it's "too frequent" and the buffer overflows. The sample
code - TrackBot Common V2 - at java.net works pretty well, but not
100%. It gets flakier if you increase the serial polling rate, which
was the only clue we had until now.

We'll share any news as soon as we have more.

best regards

Bruce Boyes

If the human brain were so simple that we could understand it, we
would be so simple that we couldn't.  - Emerson Pugh, 1977  


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2008 Google