Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

11.15.0 Update Broke Spawn Model---Cannot run simulation for class #3411

Closed
leegs opened this issue Dec 2, 2024 · 17 comments
Closed

11.15.0 Update Broke Spawn Model---Cannot run simulation for class #3411

leegs opened this issue Dec 2, 2024 · 17 comments
Labels
bug Something isn't working

Comments

@leegs
Copy link

leegs commented Dec 2, 2024

Environment

  • OS Version: Ubuntu 20.04
  • Source or binary build?
    This is the binary build of gazebo11_11.15.0-1~focal.

Description

Gazebo is being used in a college course at CWRU and students cannot demonstrate code that works with Gazebo 11.14 if they have updated 11.15. Please rollback functionality to 11.14 as quickly as possible.

When spawning models after the 11.15 update, models do not spawn. The spawning of the robot models into Gazebo is hanging and not returning.

Steps to reproduce

The specific steps to reproduce this requires using a package set of packages prepared for the course. It is likely that spawning other models has the same effect, but cannot determine right now. Installing the ros-noetic-ecse-373-ariac package from this repository and running roslaunch ecse-373-ariac ecse-373-ariac.launch should reproduce the error.

Instructions for the course repository are here:
https://cwru-ecse-373.github.io/

Output

The spawn_model node hangs and the model does not appear in Gazebo.

@leegs leegs added the bug Something isn't working label Dec 2, 2024
@traversaro
Copy link
Collaborator

Probably this is related to #3409 .

@traversaro
Copy link
Collaborator

traversaro commented Dec 2, 2024

Are you able to replicate the problem without using ROS functionality? If not, it probably could make sense to also open an issue in https://github.com/ros-simulation/gazebo_ros_pkgs ?

In the meanwhile, you may want to pin the gazebo version you are using to 11.14.0 if that version is working for you. I am not familiar how to do that with apt, but I guess it should be possible: https://help.ubuntu.com/community/PinningHowto .

@traversaro
Copy link
Collaborator

I wonder if this may be related to #3374 ? fyi @scpeters

@traversaro
Copy link
Collaborator

In the meanwhile, you may want to pin the gazebo version you are using to 11.14.0 if that version is working for you. I am not familiar how to do that with apt, but I guess it should be possible: https://help.ubuntu.com/community/PinningHowto .

Probably @j-rivero may know more about this.

@MilkyWay2001
Copy link

Hello, have you solved it? I have the same problem.

@azeey
Copy link
Collaborator

azeey commented Dec 3, 2024

I'm not sure why, but building gazebo_ros_pkgs from source with the new version of Gazebo11 fixes the problem for me.

@scpeters
Copy link
Member

scpeters commented Dec 3, 2024

I'm not sure why, but building gazebo_ros_pkgs from source with the new version of Gazebo11 fixes the problem for me.

maybe an ABI change from #3283?

@vigneshmgz
Copy link

vigneshmgz commented Dec 3, 2024

I'm also facing the same issue, yes it is working when building local, so is there any current development going on in noetic devel of gazebo-ros-pkgs but not released yet, that is considered in the relase of gazebo 11.15.0?

The last release of gazebo-ros-pkgs is on July, but the commits are upto Sep. So this changes are able to fix the issue right? @azeey

@scpeters
Copy link
Member

scpeters commented Dec 3, 2024

I'm not sure why, but building gazebo_ros_pkgs from source with the new version of Gazebo11 fixes the problem for me.

maybe an ABI change from #3283?

testing whether #3283 broke ABI in #3412

@hitsz-qfy
Copy link

same problem, and build gazebo-ros-pkgs from source in noetic branch work

@azeey
Copy link
Collaborator

azeey commented Dec 3, 2024

I can confirm that the regression is caused by #3283 and I think it's an "ABI" issue as @scpeters suggested. However, I'm not sure it's a typical ABI issue since it involves templates. This is what I did to test.

  1. Remove any existing versions of Gazebo11
  2. Checkout and build version 11.11.0 since that's what's currently available in packages.ros.org and what gazebo_ros_pkgs is built against. Install to /usr
  3. Build gazebo_ros_pkgs
  4. Verify that spawning works (this should work).
  5. Checkout e65ed2e (commit for Remove GZ_SINGLETON_DECLARE definition workaround (fix for armhf) #3283) in Gazebo11, build, and install it.
  6. Without rebuilding gazebo_ros_pkgs check if spawning works. This did not work for me.
  7. Checkout 9b72949 (11.14.0 or e65ed2e~1) in Gazebo11, build, and install it.
  8. Without rebuilding gazebo_ros_pkgs check if spawning works. This works for me.

Note that rebuilding gazebo_ros_pkgs with any of the versions fixes the problem, so I'm convinced it's an ABI problem, albeit a weird, template related one.

I used a modified launch file from #3409

<?xml version="1.0"?>
<launch>

    <arg name="verbose" default="true"/>
    <arg name="sdf" />

    <!-- Gazebo sim -->
    <include file="$(find gazebo_ros)/launch/empty_world.launch">
        <arg name="gui" value="false"/>
        <arg name="debug" value="false"/>
        <arg name="verbose" value="$(arg verbose)"/>
        <arg name="paused" value="false"/>
        <arg name="respawn_gazebo" value="false"/>
    </include>
    <!-- gazebo model -->
    <node name="$(anon vehicle_spawn)" pkg="gazebo_ros" type="spawn_model" output="screen" args="-sdf -file $(arg sdf) -model test_model"/>
</launch>

And ran it with roslaunch ./test.launch sdf:=$HOME/ws/gazebo-classic/test/models/box.sdf.

My suggestion is to revert #3283, make a release, and then in a follow-up PR, look into fixing the armhf issue. Perhaps we can wrap the whole GZ_SINGLETON_DECLARE block in an ifdef that detects if the architecture is armhf.

@hitsz-qfy
Copy link

hitsz-qfy commented Dec 3, 2024 via email

@j-rivero
Copy link
Contributor

j-rivero commented Dec 3, 2024

In the meanwhile, you may want to pin the gazebo version you are using to 11.14.0 if that version is working for you. I am not familiar how to do that with apt, but I guess it should be possible: https://help.ubuntu.com/community/PinningHowto .

The pinning workaround would be the best solution until we resolve the issue, yes.

My suggestion is to revert #3283, make a release, and then in a follow-up PR, look into fixing the armhf issue. Perhaps we can wrap the whole GZ_SINGLETON_DECLARE block in an ifdef that detects if the architecture is armhf.

I agree. I'm going to merge #3412 and release a 11.15.1 version.

@j-rivero
Copy link
Contributor

j-rivero commented Dec 3, 2024

11.15.1 Gazebo should be in the repo. Can anyone please confirm if it is working as expected?

@j-rivero j-rivero changed the title Update Broke Spawn Model---Cannot run simulation for class 11.15.0 Update Broke Spawn Model---Cannot run simulation for class Dec 3, 2024
@leegs
Copy link
Author

leegs commented Dec 3, 2024 via email

@MilkyWay2001
Copy link

11.15.1 Gazebo should be in the repo. Can anyone please confirm if it is working as expected?

Problem solved. Thank you for your efforts.

@traversaro
Copy link
Collaborator

Thanks a lot @j-rivero and @scpeters ! Closing the issue as we received feedback that the deployed fix is working.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

8 participants