osrf / vrx

Virtual RobotX (VRX) resources.
Apache License 2.0
421 stars 189 forks source link

Error: Fuel world download failed because Fetch failed #726

Closed j-herman closed 1 year ago

j-herman commented 1 year ago

Describe the bug

Unable to load VRX worlds - error output resembles the issue described in #721 but the problem is more likely due to local settings.

Expected behavior

VRX runs

To Reproduce

ros2 launch vrx_gz competition.launch.py world:=sydney_regatta

System Configuration:

Screenshots [create-3] [INFO] [1692720888.317392061] [ros_gz_sim]: Requesting list of world names. [parameter_bridge-4] [INFO] [1692720888.326527848] [ros_gz_bridge]: Creating GZ->ROS Bridge: [/clock (ignition.msgs.Clock) -> /clock (rosgraph_msgs/msg/Clock)] (Lazy 0) [parameter_bridge-4] [INFO] [1692720888.326976291] [ros_gz_bridge]: Creating GZ->ROS Bridge: [/vrx/task/info (ignition.msgs.Param) -> /vrx/task/info (ros_gz_interfaces/msg/ParamVec)] (Lazy 0) [parameter_bridge-4] [INFO] [1692720888.327798366] [ros_gz_bridge]: Creating GZ->ROS Bridge: [/vrx/debug/wind/speed (ignition.msgs.Float) -> /vrx/debug/wind/speed (std_msgs/msg/Float32)] (Lazy 0) [parameter_bridge-4] [INFO] [1692720888.328067905] [ros_gz_bridge]: Creating GZ->ROS Bridge: [/vrx/debug/wind/direction (ignition.msgs.Float) -> /vrx/debug/wind/direction (std_msgs/msg/Float32)] (Lazy 0) [ruby $(which ign) gazebo-1] ^[[1;33m[Wrn] [gz.cc:99] ^[[0m^[[1;33mFuel world download failed because ^[[0m^[[1;33mFetch failed. Other errors^[[0m^[[1;33m^[[0m [ruby $(which ign) gazebo-1] Unable to find or download file [ERROR] [ruby $(which ign) gazebo-1]: process has died [pid 54411, exit code 255, cmd 'ruby $(which ign) gazebo -v 4 -r sydney_regatta.sdf --force-version 6']. [create-3] [INFO] [1692720893.317694426] [ros_gz_sim]: Requesting list of world names. [create-3] [INFO] [1692720898.317956897] [ros_gz_sim]: Requesting list of world names. [INFO] [monitor_sim-2]: process has finished cleanly [pid 54414] [INFO] [parameter_bridge-4]: sending signal 'SIGINT' to process[parameter_bridge-4] [INFO] [create-3]: sending signal 'SIGINT' to process[create-3]

[create-3] [INFO] [1692720903.318158706] [ros_gz_sim]: Timed out when getting world names. [ERROR] [create-3]: process has died [pid 54417, exit code 255, cmd '/opt/ros/humble/lib/ros_gz_sim/create -string

This error is followed by a partial printout of the sdf.

Additional notes Documenting the error here as I wasn't able to find any good info online. The symptoms mimic a failure to connect to Fuel but in fact this was masking a system misconfiguration. This is not actually a VRX issue but may be of interest to other VRX users.
No change when trying to open the worlds (or even a much simpler version) via gz sim on the command line. Troubleshooting revealed that gazebo had stopped finding models in even the local directory, despite a correct setting for GZ_SIM_RESOURCE_PATH. This made me suspect there was an issue with where some function was looking for those path variables - perhaps a version mismatch on the system. Uninstalling and reinstalling Gazebo Garden, ROS2, and VRX did not fix the issue.
A deeper search of the system showed remnants of earlier Gazebo versions still installed. Uninstalling via normal means did not work. I forced a full uninstall of all gazebo-related packages on the computer via apt remove gz-, ignition, gazebo - use with caution! I also cleaned up /etc/apt/sources.list and /etc/apt/sources.list.d manually to remove any reference to gazebo, ignition, or focal.
Following this, I reinstalled ros-humble-desktop-full and installed gz-garden from source via the instructions, reinstalled VRX, and was able to successfully download all models from Fuel and launch the simulation. I will uninstall the source version and reinstall from the binaries to confirm the problem stays gone, then close this issue.

j-herman commented 1 year ago

@caguero @M1chaelM Not sure exactly what stray piece of Fortress was causing the problem but a full burnout of Gazebo and Focal remnants from the system finally fixed it. Documenting in case anyone else runs into the same thing.