robotology / gz-sim-yarp-plugins

YARP plugins for Modern Gazebo (gz-sim).
BSD 3-Clause "New" or "Revised" License
8 stars 0 forks source link

Adapt gz-sim-yarp-plugins to work with gz-sim8 #105

Closed xela-95 closed 4 months ago

xela-95 commented 4 months ago

Closes #58

xela-95 commented 4 months ago

Interestingly the unit test on the IMU are failing on the conda:ubuntu-22.04 configuration with the following expectations failed https://github.com/robotology/gz-sim-yarp-plugins/actions/runs/8137619054/job/22237138973?pr=105#step:11:149:

 /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/tests/imu/ImuTest.cc:81: Failure
The difference between measureOrientation(2) and 1.0 is 1, which exceeds 1e-2, where
measureOrientation(2) evaluates to 0,
1.0 evaluates to 1, and
1e-2 evaluates to 0.01.
/home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/tests/imu/ImuTest.cc:86: Failure
The difference between measureAccelerometer(2) and 9.8 is 9.8000000000000007, which exceeds 1e-2, where
measureAccelerometer(2) evaluates to 0,
9.8 evaluates to 9.8000000000000007, and
1e-2 evaluates to 0.01.

This test pass successfully on my machine that should have the same host configuration.

@traversaro the CI machine is reconfigured from scratch at each run of the CI or can it be it that caches data? Maybe the old installation of gazebo is creating problems?

traversaro commented 4 months ago

@traversaro the CI machine is reconfigured from scratch at each run of the CI or can it be it that caches data? Maybe the old installation of gazebo is creating problems?

From scratch. I think this could be a good example of non-determinism in sensor reading that hopefully we will solve once we solve https://github.com/robotology/gz-sim-yarp-plugins/issues/71 (related issue upstream: https://github.com/gazebosim/gz-sim/issues/2268). As a workaround, could we change the line https://github.com/robotology/gz-sim-yarp-plugins/blob/main/tests/imu/ImuTest.cc#L37 in:

fixture.Server()->Run(/*_blocking=*/true, iterations/2, /*_paused=*/false);
std::this_thread::sleep_for(std::chrono::milliseconds(100));
fixture.Server()->Run(/*_blocking=*/true, iterations/2, /*_paused=*/false);

This is just a workaround, but hopefully the std::this_thread::sleep_for(std::chrono::milliseconds(100)); part should give plenty of time to the sensor update callback to be called.

xela-95 commented 4 months ago

@traversaro the other issue is occurring on the APT CI, where build errors are occurring. The error seems related to the yarprobotinterface and it causes errors in linking:

[53/60] Linking CXX executable bin/LaserTest
FAILED: bin/LaserTest 
: && /usr/bin/c++ -O3 -DNDEBUG  tests/laser/CMakeFiles/LaserTest.dir/LaserTest.cc.o -o bin/LaserTest  -Wl,-rpath,/home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib  lib/libgtest_main.a  /usr/lib/x86_64-linux-gnu/libgz-sim8.so.8.1.0  /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0  lib/libgtest.a  /usr/lib/x86_64-linux-gnu/libgz-fuel_tools9.so.9.0.0  /usr/lib/x86_64-linux-gnu/libgz-gui8.so.8.0.0  /usr/lib/x86_64-linux-gnu/libgz-plugin2-loader.so.2.0.2  /usr/lib/x86_64-linux-gnu/libQt5QuickControls2.so.5.15.3  /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.15.3  /usr/lib/x86_64-linux-gnu/libQt5QmlModels.so.5.15.3  /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5.15.3  /usr/lib/x86_64-linux-gnu/libQt5Network.so.5.15.3  /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.15.3  /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.15.3  /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.15.3  /usr/lib/x86_64-linux-gnu/libgz-physics7.so.7.0.0  /usr/lib/x86_64-linux-gnu/libgz-plugin2.so.2.0.2  /usr/lib/x86_64-linux-gnu/libgz-rendering8.so.8.0.0  /usr/lib/x86_64-linux-gnu/libgz-common5-profiler.so.5.5.0  /usr/lib/x86_64-linux-gnu/libgz-common5-events.so.5.5.0  /usr/lib/x86_64-linux-gnu/libgz-common5-av.so.5.5.0  /usr/lib/x86_64-linux-gnu/libswscale.so  /usr/lib/x86_64-linux-gnu/libswscale.so  /usr/lib/x86_64-linux-gnu/libavdevice.so  /usr/lib/x86_64-linux-gnu/libavdevice.so  /usr/lib/x86_64-linux-gnu/libavformat.so  /usr/lib/x86_64-linux-gnu/libavformat.so  /usr/lib/x86_64-linux-gnu/libavcodec.so  /usr/lib/x86_64-linux-gnu/libavcodec.so  /usr/lib/x86_64-linux-gnu/libavutil.so  /usr/lib/x86_64-linux-gnu/libavutil.so  /usr/lib/x86_64-linux-gnu/libgz-common5-io.so.5.5.0  /usr/lib/x86_64-linux-gnu/libgz-common5-testing.so.5.5.0  /usr/lib/x86_64-linux-gnu/libgz-common5-geospatial.so.5.5.0  /usr/lib/x86_64-linux-gnu/libgz-common5-graphics.so.5.5.0  /usr/lib/x86_64-linux-gnu/libgz-common5.so.5.5.0  -lpthread  /usr/lib/x86_64-linux-gnu/libgz-transport13-parameters.so.13.0.0  /usr/lib/x86_64-linux-gnu/libgz-transport13.so.13.0.0  /usr/lib/x86_64-linux-gnu/libuuid.so  /usr/lib/x86_64-linux-gnu/libuuid.so  /usr/lib/x86_64-linux-gnu/libgz-msgs10.so.10.1.0  /usr/lib/x86_64-linux-gnu/libtinyxml2.so  /usr/lib/x86_64-linux-gnu/libtinyxml2.so  /usr/lib/x86_64-linux-gnu/libsdformat14.so.14.0.0  /usr/lib/x86_64-linux-gnu/libgz-math7.so.7.3.0  /usr/lib/x86_64-linux-gnu/libgz-utils2.so.2.2.0  /usr/lib/x86_64-linux-gnu/libprotobuf.so  /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_init.so.3.9.0  /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_dev.so.3.9.0  /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_math.so.3.9.0  /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_sig.so.3.9.0  /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_os.so.3.9.0 && :
/usr/bin/ld: warning: libtinyxml.so.2.6.2, needed by /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0, not found (try using -rpath or -rpath-link)
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlElement::QueryBoolAttribute(char const*, bool*) const'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `vtable for TiXmlDocument'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlNode::~TiXmlNode()'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlNode::NextSiblingElement() const'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlDocument::LoadFile(char const*, TiXmlEncoding)'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlDocument::SaveFile(char const*) const'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlNode::ReplaceChild(TiXmlNode*, TiXmlNode const&)'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlNode::FirstChildElement() const'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlElement::QueryIntAttribute(char const*, int*) const'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlDocument::TiXmlDocument()'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlElement::Attribute(char const*) const'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlDocument::Parse(char const*, TiXmlParsingData*, TiXmlEncoding)'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlAttributeSet::Find(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlNode::RemoveChild(TiXmlNode*)'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlElement::RemoveAttribute(char const*)'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlElement::GetText() const'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlDocument::LoadFile(TiXmlEncoding)'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlDocument::TiXmlDocument(char const*)'
collect2: error: ld returned 1 exit status
xela-95 commented 4 months ago

@traversaro the CI machine is reconfigured from scratch at each run of the CI or can it be it that caches data? Maybe the old installation of gazebo is creating problems?

From scratch. I think this could be a good example of non-determinism in sensor reading that hopefully we will solve once we solve #71 (related issue upstream: gazebosim/gz-sim#2268). As a workaround, could we change the line https://github.com/robotology/gz-sim-yarp-plugins/blob/main/tests/imu/ImuTest.cc#L37 in:

fixture.Server()->Run(/*_blocking=*/true, iterations/2, /*_paused=*/false);
std::this_thread::sleep_for(std::chrono::milliseconds(100));
fixture.Server()->Run(/*_blocking=*/true, iterations/2, /*_paused=*/false);

This is just a workaround, but hopefully the std::this_thread::sleep_for(std::chrono::milliseconds(100)); part should give plenty of time to the sensor update callback to be called.

Thank you for pointing this out, I will implement the workaround to check that it fixes the failure.

xela-95 commented 4 months ago

Thank you for pointing this out, I will implement the workaround to check that it fixes the failure.

Unfortunately the workaround implemented in 72f6ee3 failed.

xela-95 commented 4 months ago

@traversaro the other issue is occurring on the APT CI, where build errors are occurring. The error seems related to the yarprobotinterface and it causes errors in linking:

[53/60] Linking CXX executable bin/LaserTest
FAILED: bin/LaserTest 
: && /usr/bin/c++ -O3 -DNDEBUG  tests/laser/CMakeFiles/LaserTest.dir/LaserTest.cc.o -o bin/LaserTest  -Wl,-rpath,/home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib  lib/libgtest_main.a  /usr/lib/x86_64-linux-gnu/libgz-sim8.so.8.1.0  /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0  lib/libgtest.a  /usr/lib/x86_64-linux-gnu/libgz-fuel_tools9.so.9.0.0  /usr/lib/x86_64-linux-gnu/libgz-gui8.so.8.0.0  /usr/lib/x86_64-linux-gnu/libgz-plugin2-loader.so.2.0.2  /usr/lib/x86_64-linux-gnu/libQt5QuickControls2.so.5.15.3  /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.15.3  /usr/lib/x86_64-linux-gnu/libQt5QmlModels.so.5.15.3  /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5.15.3  /usr/lib/x86_64-linux-gnu/libQt5Network.so.5.15.3  /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.15.3  /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.15.3  /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.15.3  /usr/lib/x86_64-linux-gnu/libgz-physics7.so.7.0.0  /usr/lib/x86_64-linux-gnu/libgz-plugin2.so.2.0.2  /usr/lib/x86_64-linux-gnu/libgz-rendering8.so.8.0.0  /usr/lib/x86_64-linux-gnu/libgz-common5-profiler.so.5.5.0  /usr/lib/x86_64-linux-gnu/libgz-common5-events.so.5.5.0  /usr/lib/x86_64-linux-gnu/libgz-common5-av.so.5.5.0  /usr/lib/x86_64-linux-gnu/libswscale.so  /usr/lib/x86_64-linux-gnu/libswscale.so  /usr/lib/x86_64-linux-gnu/libavdevice.so  /usr/lib/x86_64-linux-gnu/libavdevice.so  /usr/lib/x86_64-linux-gnu/libavformat.so  /usr/lib/x86_64-linux-gnu/libavformat.so  /usr/lib/x86_64-linux-gnu/libavcodec.so  /usr/lib/x86_64-linux-gnu/libavcodec.so  /usr/lib/x86_64-linux-gnu/libavutil.so  /usr/lib/x86_64-linux-gnu/libavutil.so  /usr/lib/x86_64-linux-gnu/libgz-common5-io.so.5.5.0  /usr/lib/x86_64-linux-gnu/libgz-common5-testing.so.5.5.0  /usr/lib/x86_64-linux-gnu/libgz-common5-geospatial.so.5.5.0  /usr/lib/x86_64-linux-gnu/libgz-common5-graphics.so.5.5.0  /usr/lib/x86_64-linux-gnu/libgz-common5.so.5.5.0  -lpthread  /usr/lib/x86_64-linux-gnu/libgz-transport13-parameters.so.13.0.0  /usr/lib/x86_64-linux-gnu/libgz-transport13.so.13.0.0  /usr/lib/x86_64-linux-gnu/libuuid.so  /usr/lib/x86_64-linux-gnu/libuuid.so  /usr/lib/x86_64-linux-gnu/libgz-msgs10.so.10.1.0  /usr/lib/x86_64-linux-gnu/libtinyxml2.so  /usr/lib/x86_64-linux-gnu/libtinyxml2.so  /usr/lib/x86_64-linux-gnu/libsdformat14.so.14.0.0  /usr/lib/x86_64-linux-gnu/libgz-math7.so.7.3.0  /usr/lib/x86_64-linux-gnu/libgz-utils2.so.2.2.0  /usr/lib/x86_64-linux-gnu/libprotobuf.so  /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_init.so.3.9.0  /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_dev.so.3.9.0  /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_math.so.3.9.0  /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_sig.so.3.9.0  /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_os.so.3.9.0 && :
/usr/bin/ld: warning: libtinyxml.so.2.6.2, needed by /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0, not found (try using -rpath or -rpath-link)
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlElement::QueryBoolAttribute(char const*, bool*) const'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `vtable for TiXmlDocument'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlNode::~TiXmlNode()'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlNode::NextSiblingElement() const'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlDocument::LoadFile(char const*, TiXmlEncoding)'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlDocument::SaveFile(char const*) const'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlNode::ReplaceChild(TiXmlNode*, TiXmlNode const&)'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlNode::FirstChildElement() const'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlElement::QueryIntAttribute(char const*, int*) const'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlDocument::TiXmlDocument()'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlElement::Attribute(char const*) const'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlDocument::Parse(char const*, TiXmlParsingData*, TiXmlEncoding)'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlAttributeSet::Find(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlNode::RemoveChild(TiXmlNode*)'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlElement::RemoveAttribute(char const*)'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlElement::GetText() const'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlDocument::LoadFile(TiXmlEncoding)'
/usr/bin/ld: /home/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/install/deps/lib/libYARP_robotinterface.so.3.9.0: undefined reference to `TiXmlDocument::TiXmlDocument(char const*)'
collect2: error: ld returned 1 exit status

In particular, the main issue here seems to be that libtinyxml.so.2.6.2 is not found and it is needed by libYARP_robotinterface.so.3.9.0

traversaro commented 4 months ago

Thank you for pointing this out, I will implement the workaround to check that it fixes the failure.

Unfortunately the workaround implemented in 72f6ee3 failed.

Can you try to increase the delay to a long time (like 3/4 seconds)? If that continues to fail, the problem is something else.

For the failure in apt workflow, that seems unrelated. Can you add libtinyxml-dev package to the packages installed by the workflow before compiling YARP from source?

codecov[bot] commented 4 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 53.60%. Comparing base (98f78ae) to head (33569c5).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #105 +/- ## ========================================== - Coverage 54.65% 53.60% -1.05% ========================================== Files 26 26 Lines 2684 2675 -9 ========================================== - Hits 1467 1434 -33 - Misses 1217 1241 +24 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

xela-95 commented 4 months ago

Ok now the build error due to libtinyxml is gone, while it still fails for the Imu test (now the sleep period is 3 seconds).

traversaro commented 4 months ago

Ok now the build error due to libtinyxml is gone, while it still fails for the Imu test (now the sleep period is 3 seconds).

Interesting, it happens on both apt and conda? Can you reproduce it on your machine? It seems some kind of regression in Harmonic. As debug is passing, I wonder if it make sense to even increase the timeout.

xela-95 commented 4 months ago

Interesting, it happens on both apt and conda? Can you reproduce it on your machine? It seems some kind of regression in Harmonic. As debug is passing, I wonder if it make sense to even increase the timeout.

Yes it's very strange. On my machine the test passes both with Debug and Release configurations using conda. I will install the dependencies to launch tests with apt to see if I can repro it.

traversaro commented 4 months ago

Interesting, it happens on both apt and conda? Can you reproduce it on your machine? It seems some kind of regression in Harmonic. As debug is passing, I wonder if it make sense to even increase the timeout.

Yes it's very strange. On my machine the test passes both with Debug and Release configurations using conda. I will install the dependencies to launch tests with apt to see if I can repro it.

But in CI it fails both on conda and apt, perhaps it may be worth to test locally exactly creating an environment as the CI does?

xela-95 commented 4 months ago

@traversaro what if I try to refactor this test to what I've done with the control board tests, i.e. by using the fixture methods, and excluding the yarp network from the test?

traversaro commented 4 months ago

@traversaro what if I try to refactor this test to what I've done with the control board tests, i.e. by using the fixture methods, and excluding the yarp network from the test?

This is a good idea!

xela-95 commented 4 months ago

Even this solution did not work :(

xela-95 commented 4 months ago

I created a new conda environment using the https://github.com/robotology/gz-sim-yarp-plugins/blob/b383e80ed6e0396f258fd09a6ce80c9a0e789591/ci_env.yml used by the conda CI. I then executed (with GCC and in Release configuration) the tests and they passed.

xela-95 commented 4 months ago

I've disable the IMU test for ubuntu release configuration on both conda and apt workflows. Issue to track this problem: #111

xela-95 commented 4 months ago

Merging! 🤖

xela-95 commented 4 months ago

Squashed redundant commits before merging.