Project

General

Profile

Actions

Bug #149

closed

ROS and armv8(64bits arm) : timeout reading /"component"/genom_state

Added by Anonymous about 6 years ago. Updated about 6 years ago.

Status:
Closed
Priority:
High
Assignee:
-

Description

We have currently a timeout when we try to load a component from either tcl or matlab script onboard our Jetson. This onboard computer is running on an ARMV8 architecture (64-bit arm).

Here is the kind of message we can see in eltclsh :
eltclsh > genomix1 load nhfc -i nhfc_mk1
ex ::genom::mwerr detail {what {timeout reading /nhfc_mk1/genom_state}}

And the message on the quadrotor (nhfc-ros is running) :
16:31:46.995584:genomixd: sock525b80: reply status 404: {"ex":"::genom::mwerr","detail":{"what":"timeout reading /nhfc_mk1/genom_state"}}

We have the same results for any component we try onboard with ROS.

With PoColibs everything is working fine but we need ROS to fly with multiple quadrotor since our Mocap SDK is not available for arm architecture.

We updated as well an odroid XU4 card (armv7 32bits) and everything is running fine on it.

To sum up, we have an issue since the UTF-8 encoding update on our ARMV8 based computer running with ROS as a middleware. We did not have this issue before the update.

Actions #1

Updated by Anthony Mallet about 6 years ago

  • Project changed from genomix to genom3-ros

Can you actually rostopic echo the topic?

Actions #2

Updated by Anonymous about 6 years ago

I get "no new messages" when I try rostopic hz. rostopic echo remains empty on the topic.

Actions #3

Updated by Anthony Mallet about 6 years ago

On Wednesday 14 Feb 2018, at 11:43, Pol MORDEL wrote:

I get "no new messages" when I try rostopic hz. rostopic echo remains
empty on the topic.

OK, so the issue is on the server side, not the client side.

Can you send me the output of nhfc-ros -d ? (or the beginning at
least, once it's started it's supposed to output loads of lines).

Actions #4

Updated by Anonymous about 6 years ago

nvidia@jetsonTest:~$ nhfc-ros -d
nhfc: advertising ports
nhfc: initialized outport genom_state
nhfc: spawned task main
17:29:52.764968 nhfc: main tick
17:29:52.765043 nhfc: task main invoking task main ::nhfc::start
17:29:52.765208 nhfc: task main yielded ::nhfc::init
17:29:52.765248 nhfc: task main invoking task main ::nhfc::init
nhfc: advertising services
17:29:52.765473 nhfc: task main yielded ::nhfc::pause::init
17:29:52.765935 nhfc: main tick
17:29:52.765956 nhfc: task main invoking task main ::nhfc::init
17:29:52.766152 nhfc: task main yielded ::nhfc::pause::init
17:29:52.766942 nhfc: main tick
17:29:52.766964 nhfc: task main invoking task main ::nhfc::init
17:29:52.767552 nhfc: task main yielded ::nhfc::pause::init
17:29:52.767930 nhfc: main tick
17:29:52.767959 nhfc: task main invoking task main ::nhfc::init
17:29:52.767986 nhfc: task main yielded ::nhfc::pause::init

Actions #5

Updated by Anthony Mallet about 6 years ago

On Wednesday 14 Feb 2018, at 11:58, Pol MORDEL wrote:

nvidia@jetsonTest:~$ nhfc-ros -d
nhfc: advertising ports
nhfc: initialized outport genom_state
nhfc: spawned task main

OK, seems normal.
What version of the main ROS packages do you have?

Actions #6

Updated by Anonymous about 6 years ago

I don't quite understand your request, could you explain a little bit more into detail what you want please ?

We do use ros kinetic on the Jetson as well as on the Odroid. Otherwise we have libros-client-1.18.so

All packages have been updated to the latest update with the proper PKGOPTIONS

Actions #7

Updated by Anthony Mallet about 6 years ago

I was thinking about something like dpkg -l \*roslib \*roscpp \*actionlib
But if it's kinetic it should be fine, then.

I just tried on our odroid-c2, everything is working as expected:

fritillary[~] > uname -a
Linux fritillary 3.14.79-115 #1 SMP PREEMPT Mon Jul 10 12:13:00 BRT 2017 aarch64 aarch64 aarch64 GNU/Linux
fritillary[~] > dpkg -l \*roslib \*roscpp \*actionlib
ii  ros-kinetic-ac 1.11.9-0xeni arm64        The actionlib stack provides a st
ii  ros-kinetic-ro 1.12.7-0xeni arm64        roscpp is a C++ implementation of
ii  ros-kinetic-ro 1.13.5-0xeni arm64        Base dependencies and support lib
fritillary[~] > roscore &
fritillary[~] > nhfc-ros -b
nhfc: advertising ports
nhfc: initialized outport genom_state
nhfc: spawned task main
nhfc: advertising services
nhfc: control task initialized and running
fritillary[~] > rostopic hz /nhfc/genom_state
subscribed to [/nhfc/genom_state]
average rate: 2.417
min: 0.414s max: 0.414s std dev: 0.00000s window: 2

So at the moment I have no clue as to what is happening.
When you do the rostopic hz /nhfc/genom_state, do you see traffic on
the loopback interfane, similar to that below?

fritillary[~] > sudo tcpdump -i lo
15:29:41.410362 IP localhost.57429 > localhost.45014: Flags [.], ack 1091, win 281, options [nop,nop,TS val 153694 ecr 153694], length 0
Actions #8

Updated by Anonymous about 6 years ago

Ok I do not have anything odd compared to you but it is not working yet.

I will keep investigating on my side

nvidia@jetsonTest:~$ uname -a
Linux jetsonTest 4.4.38+ #1 SMP PREEMPT Mon Aug 21 12:41:58 EDT 2017 aarch64 aarch64 aarch64 GNU/Linux
nvidia@jetsonTest:~$ dpkg -l \*roslib \*roscpp \*actionlib
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                    Version          Architecture     Description
+++-=======================-================-================-===================================================
ii  ros-kinetic-actionlib   1.11.9-0xenial-2 arm64            The actionlib stack provides a standardized interfa
ii  ros-kinetic-roscpp      1.12.12-0xenial- arm64            roscpp is a C++ implementation of ROS.
ii  ros-kinetic-roslib      1.13.6-0xenial-2 arm64            Base dependencies and support libraries for ROS.
ii  ros-kinetic-turtle-acti 0.1.10-0xenial-2 arm64            turtle_actionlib demonstrates how to write an actio
nvidia@jetsonTest:~$ nhfc-ros -b
nhfc: advertising ports
nhfc: initialized outport genom_state
nhfc: spawned task main
nhfc: advertising services
nhfc: control task initialized and running
nvidia@jetsonTest:~$ rostopic hz /nhfc/genom_state
subscribed to [/nhfc/genom_state]
no new messages
no new messages
no new messages
no new messages
no new messages
Actions #9

Updated by Anthony Mallet about 6 years ago

On Wednesday 14 Feb 2018, at 16:12, Pol MORDEL wrote:

Ok I do not have anything odd compared to you but it is not working
yet.

I will keep investigating on my side

You could also try the following dumb test:

fritillary[~] > rostopic pub -r 1 /test std_msgs/Int32 42
fritillary[~] > rostopic hz /test
subscribed to [/test]
no new messages
average rate: 1.000
min: 1.000s max: 1.000s std dev: 0.00000s window: 2
Actions #10

Updated by Anonymous about 6 years ago

my very bad, it seems that ros logs were too big "(.ros/log] is over 1GB.)". Doing a 'rosclean purge' simply solved our issue. It has been a while since this happened to me. Since the quadrotor was used remotely I did not understand this at first. Thank you for your time and sorry for the inconvenience.

Actions #11

Updated by Anthony Mallet about 6 years ago

  • Status changed from New to Closed

OK, good :)

I usually put a simlink in $HOME/.ros to /tmp, to avoid keeping those logs.
If you have enough RAM, you may also consider linking to a tmps filesystem.

Actions

Also available in: Atom PDF