gazebosim / gz-launch

Run and manage programs and plugins.
https://gazebosim.org
Apache License 2.0
11 stars 15 forks source link

Unable to create websocket server #257

Open tetofonta opened 4 months ago

tetofonta commented 4 months ago

Environment

OS Version: Ubuntu Jammy

Description

Steps to reproduce

  1. Build the following docker image with the command docker buildx build . -t gazebo:fortress -f Dockerfile.gazebo:
    
    FROM ubuntu:jammy

ENV DEBIAN_FRONTEND noninteractive ENV GZ_VERSION fortress

RUN apt-get update RUN apt-get install -y lsb-release wget gnupg RUN wget https://packages.osrfoundation.org/gazebo.gpg -O /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg RUN echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null RUN apt-get update RUN apt-get -y install gz-${GZ_VERSION}

ENTRYPOINT [ "ign" ] CMD ["sim"]

2. Run a new container instance `docker run --rm --net host --entrypoint bash -it gazebo:fortress`
3. Run gazebo in the background `ign gazebo -v 4 -s -r fuel.sdf &`
4. Try run gz-launch 

echo "<?xml version='1.0'?>

9002 " > websocket.ign # ign launch -v 4 websocket.ign ``` ## Output ### Log resulting from the gazebo instance ``` [Msg] Ignition Gazebo Server v6.16.0 [Msg] Loading SDF world file[/usr/share/ignition/ignition-gazebo6/worlds/fuel.sdf]. [Msg] Downloading model [https://fuel.gazebosim.org/openrobotics/models/double pendulum with base] [Dbg] [FuelClient.cc:2002] Downloading from a referral link [https://gz-fuel-resources-production.s3.amazonaws.com/OpenRobotics/90a80ecc-8b16-4d4d-be30-ba79fd7d92be/.zips/5.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAS5OHIRKDBY6VUUFF%2F20240429%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240429T140808Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=9a25910776ef0c4d1e7831cb4462d6a92c0a2c9a2b1d18a4d5e41ada50f29570] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/double pendulum with base/5/model-1_3.sdf] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/double pendulum with base/5/model-1_4.sdf] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/double pendulum with base/5/model.config] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/double pendulum with base/5/model.sdf] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/double pendulum with base/5/thumbnails/1.png] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/double pendulum with base/5/thumbnails/2.png] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/double pendulum with base/5/thumbnails/3.png] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/double pendulum with base/5/thumbnails/4.png] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/double pendulum with base/5/thumbnails/5.png] [Msg] Downloading model [https://fuel.gazebosim.org/openrobotics/models/backpack] [Dbg] [FuelClient.cc:2002] Downloading from a referral link [https://gz-fuel-resources-production.s3.amazonaws.com/OpenRobotics/14d366b4-1ce7-41c3-baa4-45e2daf212f6/.zips/3.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAS5OHIRKDBY6VUUFF%2F20240429%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240429T140810Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=bbeb18f83bd8391648e06f6b5c39cc6b1345a16538e71f8b4a6ff2a754f7797a] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/backpack/3/materials/textures/Backpack.png] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/backpack/3/meshes/Backpack.dae] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/backpack/3/model.config] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/backpack/3/model.sdf] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/backpack/3/thumbnails/1.png] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/backpack/3/thumbnails/2.png] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/backpack/3/thumbnails/3.png] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/backpack/3/thumbnails/4.png] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/backpack/3/thumbnails/5.png] [Dbg] [LocalCache.cc:601] Model [backpack] loading resource from another model, named [Backpack]. On Blueprint (ign-fuel-tools 3) and Citadel (ign-fuel-tools 4), [Backpack] is ignored. From Dome (ign-fuel-tools 5), [backpack] will be used. If [Backpack] is not a model belonging to owner [openrobotics], fix your SDF file! [Dbg] [LocalCache.cc:601] Model [backpack] loading resource from another model, named [Backpack]. On Blueprint (ign-fuel-tools 3) and Citadel (ign-fuel-tools 4), [Backpack] is ignored. From Dome (ign-fuel-tools 5), [backpack] will be used. If [Backpack] is not a model belonging to owner [openrobotics], fix your SDF file! [Msg] Downloading model [https://fuel.gazebosim.org/openrobotics/models/gazebo - relative paths] [Dbg] [FuelClient.cc:2002] Downloading from a referral link [https://gz-fuel-resources-production.s3.amazonaws.com/OpenRobotics/9f31aac6-c10b-48ec-945e-ae2be34d28d4/.zips/2.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAS5OHIRKDBY6VUUFF%2F20240429%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240429T140812Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=85def186894bfc8ec4fbb82b79481c93552f7ca7b15501308213d722b5af93be] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/gazebo - relative paths/2/materials/textures/gazebo_diffuse.jpg] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/gazebo - relative paths/2/materials/textures/gazebo_spec.jpg] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/gazebo - relative paths/2/meshes/gazebo.dae] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/gazebo - relative paths/2/model.config] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/gazebo - relative paths/2/model.sdf] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/gazebo - relative paths/2/thumbnails/1.png] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/gazebo - relative paths/2/thumbnails/2.png] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/gazebo - relative paths/2/thumbnails/3.png] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/gazebo - relative paths/2/thumbnails/4.png] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/gazebo - relative paths/2/thumbnails/5.png] [Msg] Downloading model [https://fuel.gazebosim.org/openrobotics/models/actor - relative paths] [Dbg] [FuelClient.cc:2002] Downloading from a referral link [https://gz-fuel-resources-production.s3.amazonaws.com/OpenRobotics/c2fa772d-06f2-4a72-b07f-33fa355d875d/.zips/2.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAS5OHIRKDBY6VUUFF%2F20240429%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240429T140815Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=cdb5f33134ce5b2c735dcdda386cb0c29c7837f76b0b6885b66a554f266f7bdd] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/actor - relative paths/2/meshes/gesture.bvh] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/actor - relative paths/2/meshes/moonwalk.dae] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/actor - relative paths/2/meshes/run.dae] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/actor - relative paths/2/meshes/sit.dae] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/actor - relative paths/2/meshes/sit_down.dae] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/actor - relative paths/2/meshes/sitting.dae] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/actor - relative paths/2/meshes/stand.dae] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/actor - relative paths/2/meshes/stand_up.dae] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/actor - relative paths/2/meshes/talk_a.dae] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/actor - relative paths/2/meshes/talk_b.dae] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/actor - relative paths/2/meshes/walk.dae] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/actor - relative paths/2/model.config] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/actor - relative paths/2/model.sdf] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/actor - relative paths/2/thumbnails/1.png] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/actor - relative paths/2/thumbnails/2.png] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/actor - relative paths/2/thumbnails/3.png] [Msg] Serving entity system service on [/entity/system/add] [Dbg] [Physics.cc:804] Loaded [ignition::physics::dartsim::Plugin] from library [/usr/lib/x86_64-linux-gnu/ign-physics-5/engine-plugins/libignition-physics-dartsim-plugin.so] [Dbg] [SystemManager.cc:70] Loaded system [gz::sim::systems::Physics] for entity [1] [Msg] Create service on [/world/shapes/create] [Msg] Remove service on [/world/shapes/remove] [Msg] Pose service on [/world/shapes/set_pose] [Msg] Pose service on [/world/shapes/set_pose_vector] [Msg] Light configuration service on [/world/shapes/light_config] [Msg] Physics service on [/world/shapes/set_physics] [Msg] SphericalCoordinates service on [/world/shapes/set_spherical_coordinates] [Msg] Enable collision service on [/world/shapes/enable_collision] [Msg] Disable collision service on [/world/shapes/disable_collision] [Msg] Material service on [/world/shapes/visual_config] [Msg] Material service on [/world/shapes/wheel_slip] [Dbg] [SystemManager.cc:70] Loaded system [gz::sim::systems::UserCommands] for entity [1] [Dbg] [SystemManager.cc:70] Loaded system [gz::sim::systems::SceneBroadcaster] for entity [1] [Msg] Loaded level [3] [Msg] Serving world controls on [/world/shapes/control], [/world/shapes/control/state] and [/world/shapes/playback/control] [Msg] Serving GUI information on [/world/shapes/gui/info] [Msg] World [shapes] initialized with [default_physics] physics profile. [Msg] Serving world SDF generation service on [/world/shapes/generate_world_sdf] [Msg] Serving world names on [/gazebo/worlds] [Msg] Resource path add service on [/gazebo/resource_paths/add]. [Msg] Resource path get service on [/gazebo/resource_paths/get]. [Msg] Resource path resolve service on [/gazebo/resource_paths/resolve]. [Msg] Resource paths published on [/gazebo/resource_paths]. [Msg] Server control service on [/server_control]. [Msg] Found no publishers on /stats, adding root stats topic [Msg] Found no publishers on /clock, adding root clock topic [Dbg] [SimulationRunner.cc:496] Creating PostUpdate worker threads: 2 [Dbg] [SimulationRunner.cc:507] Creating postupdate worker thread (0) [Msg] Downloading model [https://fuel.gazebosim.org/openrobotics/models/radio] [Dbg] [FuelClient.cc:2002] Downloading from a referral link [https://gz-fuel-resources-production.s3.amazonaws.com/OpenRobotics/00c6ae65-99d4-4605-90d4-4426b401222c/.zips/4.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAS5OHIRKDBY6VUUFF%2F20240429%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240429T140818Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=fd6baf99fd05a9e037f472069dc95f9d72d882f0d990e1bf368c0e7a3fea5c79] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/radio/4/materials/textures/Radio.png] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/radio/4/materials/textures/Radio_Emmisive.png] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/radio/4/meshes/Radio.dae] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/radio/4/model.config] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/radio/4/model.sdf] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/radio/4/thumbnails/1.png] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/radio/4/thumbnails/2.png] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/radio/4/thumbnails/3.png] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/radio/4/thumbnails/4.png] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.gazebosim.org/openrobotics/models/radio/4/thumbnails/5.png] [Dbg] [LocalCache.cc:601] Model [radio] loading resource from another model, named [Radio]. On Blueprint (ign-fuel-tools 3) and Citadel (ign-fuel-tools 4), [Radio] is ignored. From Dome (ign-fuel-tools 5), [radio] will be used. If [Radio] is not a model belonging to owner [openrobotics], fix your SDF file! [Dbg] [LocalCache.cc:601] Model [radio] loading resource from another model, named [Radio]. On Blueprint (ign-fuel-tools 3) and Citadel (ign-fuel-tools 4), [Radio] is ignored. From Dome (ign-fuel-tools 5), [radio] will be used. If [Radio] is not a model belonging to owner [openrobotics], fix your SDF file! [Wrn] [ColladaLoader.cc:1894] emission texture not supported [Wrn] [FuelClient.cc:1978] The fuel.ignitionrobotics.org URL is deprecrated. Pleasse change https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Fortress heightmap/tip/files/materials/textures/fortress_heightmap.png to https://fuel.gazebosim.org/1.0/OpenRobotics/models/Fortress heightmap/tip/files/materials/textures/fortress_heightmap.png [Wrn] [FuelClient.cc:1978] The fuel.ignitionrobotics.org URL is deprecrated. Pleasse change https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Fortress heightmap/tip/files/materials/textures/fortress_heightmap.png to https://fuel.gazebosim.org/1.0/OpenRobotics/models/Fortress heightmap/tip/files/materials/textures/fortress_heightmap.png [Wrn] [FuelClient.cc:1978] The fuel.ignitionrobotics.org URL is deprecrated. Pleasse change https://fuel.ignitionrobotics.org to https://fuel.gazebosim.org [Msg] Downloading model [https://fuel.ignitionrobotics.org/openrobotics/models/fortress heightmap] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/fortress heightmap/2/materials/textures/dirt_diffusespecular.png] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/fortress heightmap/2/materials/textures/flat_normal.png] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/fortress heightmap/2/materials/textures/fortress_heightmap.png] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/fortress heightmap/2/materials/textures/fungus_diffusespecular.png] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/fortress heightmap/2/materials/textures/grass_diffusespecular.png] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/fortress heightmap/2/model.config] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/fortress heightmap/2/model.sdf] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/fortress heightmap/2/thumbnails/0.png] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/fortress heightmap/2/thumbnails/1.png] [Dbg] [Zip.cc:180] Created file [/root/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/fortress heightmap/2/thumbnails/2.png] Dbg ODE Heightfield AABB: min = {-128, -128, -0.05} max = {128, 128, 49.6078} [Msg] Serving scene information on [/world/shapes/scene/info] [Msg] Serving graph information on [/world/shapes/scene/graph] [Msg] Serving full state on [/world/shapes/state] [Msg] Serving full state (async) on [/world/shapes/state_async] [Msg] Publishing scene information on [/world/shapes/scene/info] [Msg] Publishing entity deletions on [/world/shapes/scene/deletion] [Msg] Publishing state changes on [/world/shapes/state] [Msg] Publishing pose messages on [/world/shapes/pose/info] [Msg] Publishing dynamic pose messages on [/world/shapes/dynamic_pose/info] ``` ### Logs from gazebo launch ``` [Dbg] [Manager.cc:1137] Loading plugin. Name[ignition::launch::WebsocketServer] File[ignition-launch-websocket-server] [Dbg] [WebsocketServer.cc:403] Using port[9002] [Wrn] [WebsocketServer.cc:548] Partial SSL configuration specified. Please specify: PATH_TO_CERT_FILE PATH_TO_KEY_FILE . Continuing without SSL. [Err] [WebsocketServer.cc:565] Unable to create websocket server ```
azeey commented 1 month ago

@nkoenig Can you help triage this?

nkoenig commented 1 month ago

I ran Fortress on Jammy, and was unable to reproduce this.

My versions:

I was able to reproduce the error if an existing instance of ign launch websocket.ign was active. Maybe there was a zombie process on your system? I've noticed that ign launch takes almost 30 seconds to die after a ctrl-c.