Skip to content

Unable to create websocket server #257

@tetofonta

Description

@tetofonta

Environment

OS Version: Ubuntu Jammy

  • Source or binary build?
ign launch --version
5.3.0

Description

  • Expected behavior: Websocket server starts and allows for connection to gazebo running in background
  • Actual behavior: Startup fails to create the websocket server.
ign launch -v 4 websocket.ign
[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:     <ssl>
          <cert_file>PATH_TO_CERT_FILE</cert_file>
          <private_key_file>PATH_TO_KEY_FILE</private_key_file>
        </ssl>.
Continuing without SSL.
[Err] [WebsocketServer.cc:565] Unable to create websocket server

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"]
  1. Run a new container instance docker run --rm --net host --entrypoint bash -it gazebo:fortress
  2. Run gazebo in the background ign gazebo -v 4 -s -r fuel.sdf &
  3. Try run gz-launch
# echo "<?xml version='1.0'?>
<ignition version='1.0'>
  <plugin name='ignition::launch::WebsocketServer'
          filename='ignition-launch-websocket-server'>
    <port>9002</port>
  </plugin>
</ignition>" > 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:     <ssl>
          <cert_file>PATH_TO_CERT_FILE</cert_file>
          <private_key_file>PATH_TO_KEY_FILE</private_key_file>
        </ssl>.
Continuing without SSL.
[Err] [WebsocketServer.cc:565] Unable to create websocket server

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

Status

In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions