Turtlebot4 does not move in Ignition Fortress

Robot Model
Select One
ROS distro
Select One
Networking Configuration
Select One
OS
Select One
Built from source or installed?
Select One
Package version
Installed by running sudo apt install ros-humble-turtlebot4-simulator which also installed the following dependencies:

Package
Version

ros-humble-ackermann-steering-controller
2.35.0-1jammy.20240611.150636

ros-humble-admittance-controller
2.35.0-1jammy.20240611.152045

ros-humble-bicycle-steering-controller
2.35.0-1jammy.20240611.150635

ros-humble-effort-controllers
2.35.0-1jammy.20240611.150523

ros-humble-force-torque-sensor-broadcaster
2.35.0-1jammy.20240611.150216

ros-humble-forward-command-controller
2.35.0-1jammy.20240611.150246

ros-humble-ign-ros2-control
0.7.9-1jammy.20240702.133731

ros-humble-imu-sensor-broadcaster
2.35.0-1jammy.20240611.150756

ros-humble-irobot-create-common-bringup
2.1.0-1jammy.20240611.152747

ros-humble-irobot-create-control
2.1.0-1jammy.20240611.152548

ros-humble-irobot-create-ignition-bringup
2.1.0-1jammy.20240702.134602

ros-humble-irobot-create-ignition-toolbox
2.1.0-1jammy.20240611.143003

ros-humble-irobot-create-nodes
2.1.0-1jammy.20240611.143008

ros-humble-position-controllers
2.35.0-1jammy.20240611.150535

ros-humble-range-sensor-broadcaster
2.35.0-1jammy.20240611.145853

ros-humble-ros2-controllers
2.35.0-1jammy.20240611.152436

ros-humble-steering-controllers-library
2.35.0-1jammy.20240611.150247

ros-humble-tricycle-controller
2.35.0-1jammy.20240611.145926

ros-humble-tricycle-steering-controller
2.35.0-1jammy.20240611.150639

ros-humble-turtlebot4-ignition-bringup
1.0.2-1jammy.20240702.134808

ros-humble-turtlebot4-simulator
1.0.2-1jammy.20240702.135349

ros-humble-velocity-controllers
2.35.0-1jammy.20240611.150527

Ended up afterwards with:

Type of issue
Select One
Expected behaviour
The simulator is started with ros2 launch turtlebot4_ignition_bringup turtlebot4_ignition.launch.py.
Actual behaviour
The robot oscillates in place on the dock for a moment after pressing the start simulation button.
Undock function does not work:

[motion_control-35] [INFO] [1721156313.253158752] [motion_control]: Received new undock goal
[turtlebot4_node-30] [ERROR] [1721156313.253800347] [turtlebot4_node]: undock goal was rejected by server
[turtlebot4_node-30] [ERROR] [1721156313.253949995] [turtlebot4_node.rclcpp_action]: unknown goal response, ignoring...
[turtlebot4_node-30] [ERROR] [1721156313.254056785] [turtlebot4_node.rclcpp_action]: unknown goal response, ignoring...

When the back button is pressed on the teleop widget:

[motion_control-35] [WARN] [1721156116.986160734] [motion_control]: Reached backup limit! Stop Driving robot backward or disable from safety_override parameter!

There's a different error when rviz arg is set true. Maybe I'll open another ticket.
Error messages
[motion_control-35] [INFO] [1721157458.998124552] [motion_control]: Enabling REFLEX_BUMP
[motion_control-35] [INFO] [1721157458.998509529] [motion_control]: Enabling REFLEX_CLIFF
[motion_control-35] [INFO] [1721157458.998636966] [motion_control]: Enabling REFLEX_STUCK
[motion_control-35] [INFO] [1721157458.998701344] [motion_control]: Enabling REFLEX_WHEEL_DROP
[wheel_status_publisher-36] [INFO] [1721157458.985583435] [wheel_status_publisher]: Advertised topic: wheel_vels
[wheel_status_publisher-36] [INFO] [1721157458.986167474] [wheel_status_publisher]: Advertised topic: wheel_ticks
[mock_publisher-37] [INFO] [1721157459.012922126] [mock_publisher]: Advertised mocked topic: slip_status
[static_transform_publisher-44] [WARN] [1721157459.073658549] []: Old-style arguments are deprecated; see --help for new-style arguments
[robot_state-38] [INFO] [1721157459.097406718] [robot_state]: Advertised topic: battery_state
[robot_state-38] [INFO] [1721157459.100081280] [robot_state]: Subscription to topic: dock_status
[robot_state-38] [INFO] [1721157459.106364610] [robot_state]: Advertised topic: stop_status
[robot_state-38] [INFO] [1721157459.107760765] [robot_state]: Subscription to topic: odom
[static_transform_publisher-45] [WARN] [1721157459.109421028] []: Old-style arguments are deprecated; see --help for new-style arguments
[static_transform_publisher-44] [INFO] [1721157459.111098200] [rplidar_stf]: Spinning until stopped - publishing transform
[static_transform_publisher-44] translation: ('0.000000', '0.000000', '0.000000')
[static_transform_publisher-44] rotation: ('0.000000', '0.000000', '0.000000', '1.000000')
[static_transform_publisher-44] from 'rplidar_link' to 'turtlebot4/rplidar_link/rplidar'
[kidnap_estimator_publisher-39] [INFO] [1721157459.134587064] [kidnap_estimator_publisher]: Advertised topic: kidnap_status
[kidnap_estimator_publisher-39] [INFO] [1721157459.135397097] [kidnap_estimator_publisher]: Subscription to topic: hazard_detection
[ui_mgr-40] [INFO] [1721157459.142048077] [ui_mgr]: Subscription to topic: cmd_lightring
[ui_mgr-40] [INFO] [1721157459.144334123] [ui_mgr]: Subscription to topic: cmd_audio
[static_transform_publisher-45] [INFO] [1721157459.156319144] [camera_stf]: Spinning until stopped - publishing transform
[static_transform_publisher-45] translation: ('0.000000', '0.000000', '0.000000')
[static_transform_publisher-45] rotation: ('0.499952', '-0.500000', '0.500000', '0.500048')
[static_transform_publisher-45] from 'oakd_rgb_camera_optical_frame' to 'turtlebot4/oakd_rgb_camera_frame/rgbd_camera'
[joint_state_publisher-4] [INFO] [1721157459.209475375] [joint_state_publisher]: Waiting for robot_description to be published on the robot_description topic...
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] qrc:/qml/StyleDialog.qml:112:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] qrc:/qml/StyleDialog.qml:105:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] qrc:/qml/StyleDialog.qml:98:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] qrc:qml/Main.qml:102:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] qrc:/qml/PluginMenu.qml:27:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/Gazebo/GazeboDrawer.qml:242:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ruby $(which ign) gazebo-1] [Dbg] [gz.cc:161] Subscribing to [/gazebo/starting_world].
[ruby $(which ign) gazebo-1] [Dbg] [gz.cc:163] Waiting for a world to be set from the GUI...
[ruby $(which ign) gazebo-1] [Msg] Received world [warehouse.sdf] from the GUI.
[ruby $(which ign) gazebo-1] [Dbg] [gz.cc:167] Unsubscribing from [/gazebo/starting_world].
[ruby $(which ign) gazebo-1] [Msg] Ignition Gazebo Server v6.16.0
[ruby $(which ign) gazebo-1] [Msg] Loading SDF world file[/opt/ros/humble/share/turtlebot4_ignition_bringup/worlds/warehouse.sdf].
[ruby $(which ign) gazebo-1] [Msg] Serving entity system service on [/entity/system/add]
[ruby $(which ign) gazebo-1] [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]
[ruby $(which ign) gazebo-1] [Dbg] [SystemManager.cc:70] Loaded system [ignition::gazebo::systems::Physics] for entity [1]
[ruby $(which ign) gazebo-1] [Msg] Create service on [/world/warehouse/create]
[ruby $(which ign) gazebo-1] [Msg] Remove service on [/world/warehouse/remove]
[ruby $(which ign) gazebo-1] [Msg] Pose service on [/world/warehouse/set_pose]
[ruby $(which ign) gazebo-1] [Msg] Pose service on [/world/warehouse/set_pose_vector]
[ruby $(which ign) gazebo-1] [Msg] Light configuration service on [/world/warehouse/light_config]
[ruby $(which ign) gazebo-1] [Msg] Physics service on [/world/warehouse/set_physics]
[ruby $(which ign) gazebo-1] [Msg] SphericalCoordinates service on [/world/warehouse/set_spherical_coordinates]
[ruby $(which ign) gazebo-1] [Msg] Enable collision service on [/world/warehouse/enable_collision]
[ruby $(which ign) gazebo-1] [Msg] Disable collision service on [/world/warehouse/disable_collision]
[ruby $(which ign) gazebo-1] [Msg] Material service on [/world/warehouse/visual_config]
[ruby $(which ign) gazebo-1] [Msg] Material service on [/world/warehouse/wheel_slip]
[ruby $(which ign) gazebo-1] [Dbg] [SystemManager.cc:70] Loaded system [ignition::gazebo::systems::UserCommands] for entity [1]
[ruby $(which ign) gazebo-1] [Dbg] [SystemManager.cc:70] Loaded system [ignition::gazebo::systems::SceneBroadcaster] for entity [1]
[ruby $(which ign) gazebo-1] [Msg] Loaded level [3]
[ruby $(which ign) gazebo-1] [Msg] Serving world controls on [/world/warehouse/control], [/world/warehouse/control/state] and [/world/warehouse/playback/control]
[ruby $(which ign) gazebo-1] [Msg] Serving GUI information on [/world/warehouse/gui/info]
[ruby $(which ign) gazebo-1] [Msg] World [warehouse] initialized with [default_physics] physics profile.
[ruby $(which ign) gazebo-1] [Msg] Serving world SDF generation service on [/world/warehouse/generate_world_sdf]
[ruby $(which ign) gazebo-1] [Msg] Serving world names on [/gazebo/worlds]
[ruby $(which ign) gazebo-1] [Msg] Resource path add service on [/gazebo/resource_paths/add].
[ruby $(which ign) gazebo-1] [Msg] Resource path get service on [/gazebo/resource_paths/get].
[ruby $(which ign) gazebo-1] [Msg] Resource path resolve service on [/gazebo/resource_paths/resolve].
[create-8] [INFO] [1721157460.211562135] [ros_gz_sim]: Waiting messages on topic [standard_dock_description].
[create-7] [INFO] [1721157460.311625477] [ros_gz_sim]: Waiting messages on topic [robot_description].
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Scene3D.cc:2941] The GzScene3D plugin is deprecated on v6 and will be removed on v7. Use MinimalScene together with other plugins as needed.
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/GzScene3D/GzScene3D.qml:108:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/GzScene3D/GzScene3D.qml:63:5: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/WorldControl/WorldControl.qml:30:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ruby $(which ign) gazebo-1] [Msg] [Msg] Ignition Gazebo GUI    v6.16.0
[ruby $(which ign) gazebo-1] [Dbg] [Gui.cc:253] Waiting for subscribers to [/gazebo/starting_world]...
[ruby $(which ign) gazebo-1] [Dbg] [Application.cc:92] Initializing application.
[ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:555] Create main window
[ruby $(which ign) gazebo-1] [GUI] [Dbg] [PathManager.cc:66] Requesting resource paths through [/gazebo/resource_paths/get]
[ruby $(which ign) gazebo-1] [GUI] [Dbg] [Gui.cc:333] GUI requesting list of world names. The server may be busy downloading resources. Please be patient.
[ruby $(which ign) gazebo-1] [GUI] [Dbg] [PathManager.cc:55] Received resource paths.
[ruby $(which ign) gazebo-1] [GUI] [Dbg] [GuiRunner.cc:145] Requesting initial state from [/world/warehouse/state]...
[ruby $(which ign) gazebo-1] [GUI] [Msg] Loading config [/opt/ros/humble/share/turtlebot4_ignition_bringup/gui/standard/gui.config]
[ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [GzScene3D]
[ruby $(which ign) gazebo-1] [GUI] [Msg] Video recorder stats topic advertised on [/gui/record_video/stats]
[ruby $(which ign) gazebo-1] [GUI] [Msg] Transform mode service on [/gui/transform_mode]
[ruby $(which ign) gazebo-1] [GUI] [Msg] Record video service on [/gui/record_video]
[ruby $(which ign) gazebo-1] [GUI] [Msg] Move to service on [/gui/move_to]
[ruby $(which ign) gazebo-1] [GUI] [Msg] Follow service on [/gui/follow]
[ruby $(which ign) gazebo-1] [GUI] [Msg] Follow offset service on [/gui/follow/offset]
[ruby $(which ign) gazebo-1] [GUI] [Msg] View angle service on [/gui/view_angle]
[ruby $(which ign) gazebo-1] [GUI] [Msg] Move to pose service on [/gui/move_to/pose]
[ruby $(which ign) gazebo-1] [GUI] [Msg] Camera pose topic advertised on [/gui/camera/pose]
[ruby $(which ign) gazebo-1] [GUI] [Msg] View as transparent service on [/gui/view/transparent]
[ruby $(which ign) gazebo-1] [GUI] [Msg] View center of mass service on [/gui/view/com]
[ruby $(which ign) gazebo-1] [GUI] [Msg] View inertia service on [/gui/view/inertia]
[ruby $(which ign) gazebo-1] [GUI] [Msg] View joints service on [/gui/view/joints]
[ruby $(which ign) gazebo-1] [GUI] [Msg] View wireframes service on [/gui/view/wireframes]
[ruby $(which ign) gazebo-1] [GUI] [Msg] View collisions service on [/gui/view/collisions]
[ruby $(which ign) gazebo-1] [GUI] [Msg] Camera view controller topic advertised on [/gui/camera/view_control]
[ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [3D View] to main window
[ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [GzScene3D] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libGzScene3D.so]
[ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [WorldControl]
[ruby $(which ign) gazebo-1] [GUI] [Msg] Using world control service [/world/warehouse/control]
[ruby $(which ign) gazebo-1] [GUI] [Msg] Listening to stats on [/world/warehouse/stats]
[ruby $(which ign) gazebo-1] [GUI] [Dbg] [WorldControl.cc:248] Using a service to share WorldControl msgs with the server
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/TransformControl/TransformControl.qml:104:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/TransformControl/TransformControl.qml:99:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/TransformControl/TransformControl.qml:94:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/TransformControl/TransformControl.qml:89:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/Turtlebot4Hmi/Turtlebot4Hmi.qml:36:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/Turtlebot4Hmi/Turtlebot4Hmi.qml:388: ReferenceError: control is not defined
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/Turtlebot4Hmi/Turtlebot4Hmi.qml:410: ReferenceError: control is not defined
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/Turtlebot4Hmi/Turtlebot4Hmi.qml:432: ReferenceError: control is not defined
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/Turtlebot4Hmi/Turtlebot4Hmi.qml:454: ReferenceError: control is not defined
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/Turtlebot4Hmi/Turtlebot4Hmi.qml:102:7: Unable to assign [undefined] to QString
[ruby $(which ign) gazebo-1] [Wrn] [OBJLoader.cc:91] Both `d` and `Tr` parameters defined for "Chair". Use the value of `d` for dissolve (line 8 in .mtl.)
[ruby $(which ign) gazebo-1]
[ruby $(which ign) gazebo-1] [Wrn] [Model.hh:69] [Wrn] [Model.hh:69] Skipping serialization / deserialization for models with //pose/@relative_to attribute.
[ruby $(which ign) gazebo-1] [Wrn] [Model.hh:69] Skipping serialization / deserialization for models with //pose/@relative_to attribute.
[ruby $(which ign) gazebo-1] [Wrn] [Model.hh:69] Skipping serialization / deserialization for models with //pose/@relative_to attribute.
[ruby $(which ign) gazebo-1] [Wrn] [Model.hh:69] Skipping serialization / deserialization for models with //pose/@relative_to attribute.
[ruby $(which ign) gazebo-1] [Wrn] [Model.hh:69] Skipping serialization / deserialization for models with //pose/@relative_to attribute.
[ruby $(which ign) gazebo-1] [Wrn] [Model.hh:69] Skipping serialization / deserialization for models with //pose/@relative_to attribute.
[ruby $(which ign) gazebo-1] Skipping serialization / deserialization for models with //pose/@relative_to attribute.
[ruby $(which ign) gazebo-1] [Wrn] [Model.hh:69] Skipping serialization / deserialization for models with //pose/@relative_to attribute.
[ruby $(which ign) gazebo-1] [Wrn] [Component.hh:144] Trying to serialize component with data type [N3sdf3v125WorldE], which doesn't have `operator<<`. Component will not be serialized.
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/WorldStats/WorldStats.qml:53:3: QML RowLayout: Binding loop detected for property "x"
[ruby $(which ign) gazebo-1]
[ruby $(which ign) gazebo-1] [Wrn] [Model.hh:69] [GUI] [Wrn] [Component.hh:189] Trying to deserialize component with data type [N3sdf3v125WorldE], which doesn't have `operator>>`. Component will not be deserialized.
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[create-8] [INFO] [1721157461.211783467] [ros_gz_sim]: Waiting messages on topic [standard_dock_description].
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[create-7] [INFO] [1721157461.311750001] [ros_gz_sim]: Waiting messages on topic [robot_description].
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[spawner-32] [INFO] [1721157461.419615045] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[create-8] [INFO] [1721157462.212143148] [ros_gz_sim]: Waiting messages on topic [standard_dock_description].
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[create-7] [INFO] [1721157462.312264330] [ros_gz_sim]: Waiting messages on topic [robot_description].
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[create-8] [INFO] [1721157463.212369203] [ros_gz_sim]: Waiting messages on topic [standard_dock_description].
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[create-7] [INFO] [1721157463.312415189] [ros_gz_sim]: Waiting messages on topic [robot_description].
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[spawner-32] [INFO] [1721157463.427882309] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] libEGL warning: egl: failed to create dri2 screen
[ruby $(which ign) gazebo-1] libEGL warning: egl: failed to create dri2 screen
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Ogre2Camera.cc:390] Ogre2Camera::SetVisibilityMask: Mask bits c0000000 are set but will be ignored as they conflict with the reserved bits used internally by the ogre2 backend.
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [OBJLoader.cc:91] Both `d` and `Tr` parameters defined for "Chair". Use the value of `d` for dissolve (line 8 in .mtl.)
[ruby $(which ign) gazebo-1]
[create-8] [INFO] [1721157464.212529701] [ros_gz_sim]: Waiting messages on topic [standard_dock_description].
[create-7] [INFO] [1721157464.312568345] [ros_gz_sim]: Waiting messages on topic [robot_description].
[create-8] [INFO] [1721157465.212686289] [ros_gz_sim]: Waiting messages on topic [standard_dock_description].
[create-7] [INFO] [1721157465.312699089] [ros_gz_sim]: Waiting messages on topic [robot_description].
[spawner-32] [INFO] [1721157465.436815384] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist
[create-8] [INFO] [1721157466.212846090] [ros_gz_sim]: Waiting messages on topic [standard_dock_description].
[create-7] [INFO] [1721157466.312863658] [ros_gz_sim]: Waiting messages on topic [robot_description].
[create-8] [INFO] [1721157467.213011678] [ros_gz_sim]: Waiting messages on topic [standard_dock_description].
[create-7] [INFO] [1721157467.313053854] [ros_gz_sim]: Waiting messages on topic [robot_description].
[spawner-32] [INFO] [1721157467.446630593] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist
[create-8] [INFO] [1721157468.213171513] [ros_gz_sim]: Waiting messages on topic [standard_dock_description].
[create-7] [INFO] [1721157468.313198341] [ros_gz_sim]: Waiting messages on topic [robot_description].
[create-8] [INFO] [1721157469.213340077] [ros_gz_sim]: Waiting messages on topic [standard_dock_description].
[create-7] [INFO] [1721157469.313350638] [ros_gz_sim]: Waiting messages on topic [robot_description].
[spawner-32] [ERROR] [1721157469.457358755] [spawner_joint_state_broadcaster]: Controller manager not available
[ERROR] [spawner-32]: process has died [pid 65510, exit code 1, cmd '/opt/ros/humble/lib/controller_manager/spawner joint_state_broadcaster -c controller_manager --ros-args -r __ns:=/'].
[INFO] [spawner-46]: process started with pid [65889]
[create-8] [INFO] [1721157470.213512309] [ros_gz_sim]: Waiting messages on topic [standard_dock_description].
[create-7] [INFO] [1721157470.313593117] [ros_gz_sim]: Waiting messages on topic [robot_description].
[create-8] [INFO] [1721157471.213695026] [ros_gz_sim]: Waiting messages on topic [standard_dock_description].
[create-7] [INFO] [1721157471.313773565] [ros_gz_sim]: Waiting messages on topic [robot_description].
[spawner-46] [INFO] [1721157472.102644909] [spawner_diffdrive_controller]: Waiting for '/controller_manager' node to exist
[create-8] [INFO] [1721157472.213860706] [ros_gz_sim]: Waiting messages on topic [standard_dock_description].

[spawner-46] [INFO] [1721157474.112844972] [spawner_diffdrive_controller]: Waiting for '/controller_manager' node to exist
[create-8] [INFO] [1721157474.214332214] [ros_gz_sim]: Waiting messages on topic [standard_dock_description].
[create-7] [INFO] [1721157474.314178854] [ros_gz_sim]: Waiting messages on topic [robot_description].

[create-7] [INFO] [1721157477.383824470] [ros_gz_sim]: Requested creation of entity.
[create-7] [INFO] [1721157477.383949578] [ros_gz_sim]: OK creation of entity.
[INFO] [create-7]: process has finished cleanly [pid 65121]
[ruby $(which ign) gazebo-1] [INFO] [1721157477.814461715] [GazeboSimROS2ControlPlugin]: robot_param_node is robot_state_publisher
[ruby $(which ign) gazebo-1] [INFO] [1721157477.814510858] [GazeboSimROS2ControlPlugin]: robot_param_node is robot_description
[ruby $(which ign) gazebo-1] [INFO] [1721157477.870819033] [gz_ros2_control]: [ign_ros2_control] Fixed joint [bumper_joint] (Entity=219)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.870989646] [gz_ros2_control]: [ign_ros2_control] Fixed joint [front_caster_joint] (Entity=220)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871006067] [gz_ros2_control]: [ign_ros2_control] Fixed joint [front_left_bottom_weight_block_joint] (Entity=221)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871017185] [gz_ros2_control]: [ign_ros2_control] Fixed joint [front_left_top_weight_block_joint] (Entity=222)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871028482] [gz_ros2_control]: [ign_ros2_control] Fixed joint [front_right_bottom_weight_block_joint] (Entity=223)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871041305] [gz_ros2_control]: [ign_ros2_control] Fixed joint [front_right_top_weight_block_joint] (Entity=224)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871052887] [gz_ros2_control]: [ign_ros2_control] Fixed joint [imu_joint] (Entity=225)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871067138] [gz_ros2_control]: [ign_ros2_control] Fixed joint [ir_intensity_front_center_left_joint] (Entity=226)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871079764] [gz_ros2_control]: [ign_ros2_control] Fixed joint [ir_intensity_front_center_right_joint] (Entity=227)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871091795] [gz_ros2_control]: [ign_ros2_control] Fixed joint [ir_intensity_front_left_joint] (Entity=228)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871105944] [gz_ros2_control]: [ign_ros2_control] Fixed joint [ir_intensity_front_right_joint] (Entity=229)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871116931] [gz_ros2_control]: [ign_ros2_control] Fixed joint [ir_intensity_left_joint] (Entity=230)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871127789] [gz_ros2_control]: [ign_ros2_control] Fixed joint [ir_intensity_right_joint] (Entity=231)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871140650] [gz_ros2_control]: [ign_ros2_control] Fixed joint [ir_intensity_side_left_joint] (Entity=232)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871156231] [gz_ros2_control]: [ign_ros2_control] Fixed joint [ir_omni_joint] (Entity=233)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871168912] [gz_ros2_control]: [ign_ros2_control] Fixed joint [mouse_joint] (Entity=234)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871181047] [gz_ros2_control]: [ign_ros2_control] Fixed joint [front_left_tower_standoff_joint] (Entity=235)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871193075] [gz_ros2_control]: [ign_ros2_control] Fixed joint [front_right_tower_standoff_joint] (Entity=236)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871205348] [gz_ros2_control]: [ign_ros2_control] Fixed joint [oakd_camera_bracket_joint] (Entity=237)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871217235] [gz_ros2_control]: [ign_ros2_control] Fixed joint [oakd_joint] (Entity=238)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871227547] [gz_ros2_control]: [ign_ros2_control] Fixed joint [oakd_imu_joint] (Entity=239)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871243135] [gz_ros2_control]: [ign_ros2_control] Fixed joint [oakd_left_camera_joint] (Entity=240)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871253635] [gz_ros2_control]: [ign_ros2_control] Fixed joint [oakd_left_camera_optical_joint] (Entity=241)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871268035] [gz_ros2_control]: [ign_ros2_control] Fixed joint [oakd_rgb_camera_joint] (Entity=242)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871280505] [gz_ros2_control]: [ign_ros2_control] Fixed joint [oakd_rgb_camera_optical_joint] (Entity=243)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871292619] [gz_ros2_control]: [ign_ros2_control] Fixed joint [oakd_right_camera_joint] (Entity=244)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871305746] [gz_ros2_control]: [ign_ros2_control] Fixed joint [oakd_right_camera_optical_joint] (Entity=245)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871319604] [gz_ros2_control]: [ign_ros2_control] Fixed joint [rear_left_tower_standoff_joint] (Entity=246)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871332497] [gz_ros2_control]: [ign_ros2_control] Fixed joint [rear_right_tower_standoff_joint] (Entity=247)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871341570] [gz_ros2_control]: [ign_ros2_control] Fixed joint [rplidar_joint] (Entity=248)] is skipped
[ruby $(which ign) gazebo-1] [INFO] [1721157477.871355707] [gz_ros2_control]: [ign_ros2_control] Fixed joint [tower_sensor_plate_joint] (Entity=249)] is skipped
[spawner-46] [INFO] [1721157478.139822216] [spawner_diffdrive_controller]: Waiting for '/controller_manager' node to exist
[create-8] [INFO] [1721157478.214950362] [ros_gz_sim]: Waiting messages on topic [standard_dock_description].
[ruby $(which ign) gazebo-1] [ERROR] [1721157478.374403021] [gz_ros2_control]: robot_state_publisher service not available, waiting again...
[ruby $(which ign) gazebo-1] [ERROR] [1721157478.874573690] [gz_ros2_control]: robot_state_publisher service not available, waiting again...
[create-8] [INFO] [1721157479.215228533] [ros_gz_sim]: Waiting messages on topic [standard_dock_description].
[ruby $(which ign) gazebo-1] [ERROR] [1721157479.374756620] [gz_ros2_control]: robot_state_publisher service not available, waiting again...
[ruby $(which ign) gazebo-1] [ERROR] [1721157479.874908874] [gz_ros2_control]: robot_state_publisher service not available, waiting again...
[spawner-46] [ERROR] [1721157480.148082876] [spawner_diffdrive_controller]: Controller manager not available
[create-8] [INFO] [1721157480.215466736] [ros_gz_sim]: Waiting messages on topic [standard_dock_description].
[ERROR] [spawner-46]: process has died [pid 65889, exit code 1, cmd '/opt/ros/humble/lib/controller_manager/spawner diffdrive_controller -c controller_manager --ros-args -r __ns:=/ --params-file /opt/ros/humble/share/irobot_create_control/config/control.yaml'].
[ruby $(which ign) gazebo-1] [ERROR] [1721157480.375066245] [gz_ros2_control]: robot_state_publisher service not available, waiting again...
[ruby $(which ign) gazebo-1] [ERROR] [1721157480.875274468] [gz_ros2_control]: robot_state_publisher service not available, waiting again...
[create-8] [INFO] [1721157481.215650766] [ros_gz_sim]: Waiting messages on topic [standard_dock_description].
[ruby $(which ign) gazebo-1] [ERROR] [1721157481.375468647] [gz_ros2_control]: robot_state_publisher service not available, waiting again...

[parameter_bridge-27] [INFO] [1721157485.889760744] [hmi_led_msg_bridge]: Passing message from ROS std_msgs/msg/Int32 to Gazebo gz.msgs.Int32 (showing msg only once per type)
[ruby $(which ign) gazebo-1] [ERROR] [1721157486.379560755] [gz_ros2_control]: robot_state_publisher service not available, waiting again...
[ruby $(which ign) gazebo-1] [ERROR] [1721157486.879697903] [gz_ros2_control]: robot_state_publisher service not available, waiting again...
[parameter_bridge-25] [INFO] [1721157486.889896882] [hmi_display_msg_bridge]: Passing message from ROS std_msgs/msg/String to Gazebo gz.msgs.StringMsg (showing msg only once per type)
[parameter_bridge-25] [INFO] [1721157486.890000763] [hmi_display_msg_bridge]: Passing message from ROS std_msgs/msg/Int32 to Gazebo gz.msgs.Int32 (showing msg only once per type)

[ruby $(which ign) gazebo-1] [ERROR] [1721157493.883080619] [gz_ros2_control]: robot_state_publisher service not available, waiting again...
[ruby $(which ign) gazebo-1] [ERROR] [1721157494.384320617] [gz_ros2_control]: robot_state_publisher service not available, waiting again...
[ruby $(which ign) gazebo-1] [INFO] [1721157494.884764628] [gz_ros2_control]: connected to service!! robot_state_publisher asking for robot_description
[ruby $(which ign) gazebo-1] [INFO] [1721157494.887072461] [gz_ros2_control]: Received URDF from param server
[ruby $(which ign) gazebo-1] [INFO] [1721157494.895316222] [gz_ros2_control]: The position_proportional_gain has been set to: 0.1
[ruby $(which ign) gazebo-1] [INFO] [1721157494.895691325] [gz_ros2_control]: Loading joint: left_wheel_joint
[ruby $(which ign) gazebo-1] [INFO] [1721157494.895761087] [gz_ros2_control]: 	State:
[ruby $(which ign) gazebo-1] [INFO] [1721157494.895777155] [gz_ros2_control]: 		 velocity
[ruby $(which ign) gazebo-1] [INFO] [1721157494.895789335] [gz_ros2_control]: 		 position
[ruby $(which ign) gazebo-1] [INFO] [1721157494.895799214] [gz_ros2_control]: 	Command:
[ruby $(which ign) gazebo-1] [INFO] [1721157494.895808081] [gz_ros2_control]: 		 velocity
[ruby $(which ign) gazebo-1] [INFO] [1721157494.896039779] [gz_ros2_control]: Loading sensor: imu
[ruby $(which ign) gazebo-1] [INFO] [1721157494.896056841] [gz_ros2_control]: 	State:
[ruby $(which ign) gazebo-1] [INFO] [1721157494.896094475] [resource_manager]: Initialize hardware 'left_wheel_controller'
[ruby $(which ign) gazebo-1] [WARN] [1721157494.896118113] [gz_ros2_control]: On init...
[ruby $(which ign) gazebo-1] [INFO] [1721157494.896192632] [resource_manager]: Successful initialization of hardware 'left_wheel_controller'
[ruby $(which ign) gazebo-1] [INFO] [1721157494.896240745] [resource_manager]: 'configure' hardware 'left_wheel_controller'
[ruby $(which ign) gazebo-1] [INFO] [1721157494.896249061] [gz_ros2_control]: System Successfully configured!
[ruby $(which ign) gazebo-1] [INFO] [1721157494.896263990] [resource_manager]: Successful 'configure' of hardware 'left_wheel_controller'
[ruby $(which ign) gazebo-1] [INFO] [1721157494.896272629] [resource_manager]: 'activate' hardware 'left_wheel_controller'
[ruby $(which ign) gazebo-1] [INFO] [1721157494.896280577] [resource_manager]: Successful 'activate' of hardware 'left_wheel_controller'
[ruby $(which ign) gazebo-1] [INFO] [1721157494.896425105] [gz_ros2_control]: The position_proportional_gain has been set to: 0.1
[ruby $(which ign) gazebo-1] [INFO] [1721157494.896477799] [gz_ros2_control]: Loading joint: right_wheel_joint
[ruby $(which ign) gazebo-1] [INFO] [1721157494.896490347] [gz_ros2_control]: 	State:
[ruby $(which ign) gazebo-1] [INFO] [1721157494.896499954] [gz_ros2_control]: 		 velocity
[ruby $(which ign) gazebo-1] [INFO] [1721157494.896509601] [gz_ros2_control]: 		 position
[ruby $(which ign) gazebo-1] [INFO] [1721157494.896518848] [gz_ros2_control]: 	Command:
[ruby $(which ign) gazebo-1] [INFO] [1721157494.896527788] [gz_ros2_control]: 		 velocity
[ruby $(which ign) gazebo-1] [INFO] [1721157494.896967311] [gz_ros2_control]: Loading sensor: imu
[ruby $(which ign) gazebo-1] [INFO] [1721157494.896994740] [gz_ros2_control]: 	State:
[ruby $(which ign) gazebo-1] [INFO] [1721157494.897009434] [resource_manager]: Initialize hardware 'right_wheel_controller'
[ruby $(which ign) gazebo-1] [WARN] [1721157494.897017053] [gz_ros2_control]: On init...
[ruby $(which ign) gazebo-1] [INFO] [1721157494.897041748] [resource_manager]: Successful initialization of hardware 'right_wheel_controller'
[ruby $(which ign) gazebo-1] [INFO] [1721157494.897059733] [resource_manager]: 'configure' hardware 'right_wheel_controller'
[ruby $(which ign) gazebo-1] [INFO] [1721157494.897203617] [gz_ros2_control]: System Successfully configured!
[ruby $(which ign) gazebo-1] [INFO] [1721157494.897224966] [resource_manager]: Successful 'configure' of hardware 'right_wheel_controller'
[ruby $(which ign) gazebo-1] [INFO] [1721157494.897234788] [resource_manager]: 'activate' hardware 'right_wheel_controller'
[ruby $(which ign) gazebo-1] [INFO] [1721157494.897243163] [resource_manager]: Successful 'activate' of hardware 'right_wheel_controller'
[ruby $(which ign) gazebo-1] [INFO] [1721157494.897250592] [gz_ros2_control]: Loading controller_manager
[ruby $(which ign) gazebo-1] [Wrn] [Component.hh:127] Trying to serialize component with data type [St10shared_ptrIN3sdf3v127ElementEE], which doesn't have `operator<<`. Component will not be serialized.
[ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin 32mResource paths published on [/gazebo/resource_paths].
[ruby $(which ign) gazebo-1] [Msg] Server control service on [/server_control].
[ruby $(which ign) gazebo-1] [Msg] Found no publishers on /stats, adding root stats topic
[ruby $(which ign) gazebo-1] [Msg] Found no publishers on /clock, adding root clock topic
[ruby $(which ign) gazebo-1] [Dbg] [SimulationRunner.cc:496] Creating PostUpdate worker threads: 2
[ruby $(which ign) gazebo-1] [Dbg] [SimulationRunner.cc:507] Creating postupdate worker thread (0)
[ruby $(which ign) gazebo-1] [Msg] Serving scene information on [/world/warehouse/scene/info]
[ruby $(which ign) gazebo-1] [Msg] Serving graph information on [/world/warehouse/scene/graph]
[ruby $(which ign) gazebo-1] [Msg] Serving full state on [/world/warehouse/state]
[ruby $(which ign) gazebo-1] [Msg] Serving full state (async) on [/world/warehouse/state_async]
[ruby $(which ign) gazebo-1] [Msg] Publishing scene information on [/world/warehouse/scene/info]
[ruby $(which ign) gazebo-1] [Msg] Publishing entity deletions on [/world/warehouse/scene/deletion]
[ruby $(which ign) gazebo-1] [Msg] Publishing state changes on [/world/warehouse/state]
[ruby $(which ign) gazebo-1] [Msg] Publishing pose messages on [/world/warehouse/pose/info]
[ruby $(which ign) gazebo-1] [Msg] Publishing dynamic pose messages on [/world/warehouse/dynamic_pose/info]
[ruby $(which ign) gazebo-1] [Dbg] [EntityComponentManager.cc:1623] Updated state thread iterators: 8 threads processing around 17 entities each.
[ruby $(which ign) gazebo-1] [Dbg] [SystemManager.cc:70] Loaded system [ign_ros2_control::IgnitionROS2ControlPlugin] for entity [136]
[ruby $(which ign) gazebo-1] [Dbg] [SystemManager.cc:70] Loaded system [ignition::gazebo::systems::PosePublisher] for entity [136]
[ruby $(which ign) gazebo-1] [Dbg] [SystemManager.cc:70] Loaded system [ignition::gazebo::systems::Contact] for entity [136]
[ruby $(which ign) gazebo-1] [Dbg] [Sensors.cc:506] Configuring Sensors system
[ruby $(which ign) gazebo-1] [Dbg] [Sensors.cc:431] SensorsPrivate::Run
[ruby $(which ign) gazebo-1] [Dbg] [SystemManager.cc:70] Loaded system [ignition::gazebo::systems::Sensors] for entity [136]
[ruby $(which ign) gazebo-1] [Dbg] [Sensors.cc:411] SensorsPrivate::RenderThread started
[ruby $(which ign) gazebo-1] [Dbg] [Sensors.cc:258] Waiting for init
[ruby $(which ign) gazebo-1] [Dbg] [UserCommands.cc:1303] Created entity [136] named [turtlebot4]
[ruby $(which ign) gazebo-1] [Dbg] [SimulationRunner.cc:523] Exiting postupdate worker thread (0)
[ruby $(which ign) gazebo-1] [Dbg] [SimulationRunner.cc:496] Creating PostUpdate worker threads: 6
[ruby $(which ign) gazebo-1] [Dbg] [SimulationRunner.cc:507] Creating postupdate worker thread (0)
[ruby $(which ign) gazebo-1] [Dbg] [SimulationRunner.cc:507] Creating postupdate worker thread (1)
[ruby $(which ign) gazebo-1] [Dbg] [SimulationRunner.cc:507] Creating postupdate worker thread (2)
[ruby $(which ign) gazebo-1] [Dbg] [SimulationRunner.cc:507] Creating postupdate worker thread (3)
[ruby $(which ign) gazebo-1] [Dbg] [SimulationRunner.cc:507] Creating postupdate worker thread (4)
[ruby $(which ign) gazebo-1] [WARN] [1721157495.312802275] [gz_ros2_control]:  Desired controller update period (0.001 s) is slower than the gazebo simulation period (0 s).
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Component.hh:172] Trying to deserialize component with data type [St10shared_ptrIN3sdf3v127ElementEE], which doesn't have `operator>>`. Component will not be deserialized.
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [ColladaLoader.cc:2394] Triangle input semantic: 'COLOR' is currently not supported
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [ColladaLoader.cc:2394] Triangle input semantic: 'COLOR' is currently not supported
[ruby $(which ign) gazebo-1] [Wrn] [ColladaLoader.cc:2394] Triangle input semantic: 'COLOR' is currently not supported
[ruby $(which ign) gazebo-1] [Wrn] [ColladaLoader.cc:2394] Triangle input semantic: 'COLOR' is currently not supported
[ruby $(which ign) gazebo-1] [Dbg] [SystemManager.cc:70] Loaded system [ignition::gazebo::systems::PosePublisher] for entity [254]
[ruby $(which ign) gazebo-1] [Dbg] [UserCommands.cc:1303] Created entity [254] named [standard_dock]
[ruby $(which ign) gazebo-1] [Dbg] [Sensors.cc:610] Initialization needed
[ruby $(which ign) gazebo-1] [Dbg] [Sensors.cc:270] Initializing render context
[ruby $(which ign) gazebo-1] [Msg] Loading plugin [ignition-rendering-ogre]
[ruby $(which ign) gazebo-1] [Dbg] [SimulationRunner.cc:523] Exiting postupdate worker thread (4[Dbg] [SimulationRunner.cc:523] 4[Dbg] [SimulationRunner.cc:523] )[Dbg] [SimulationRunner.cc:523]
[ruby $(which ign) gazebo-1] Exiting postupdate worker thread (2)
[ruby $(which ign) gazebo-1] 3)
[ruby $(which ign) gazebo-1] Exiting postupdate worker thread (1[Dbg] [SimulationRunner.cc:523] Exiting postupdate worker thread (0)
[ruby $(which ign) gazebo-1] 1)
[ruby $(which ign) gazebo-1] [Dbg] [SimulationRunner.cc:496] Creating PostUpdate worker threads: 7
[ruby $(which ign) gazebo-1] [Dbg] [SimulationRunner.cc:507] Creating postupdate worker thread (0)
[ruby $(which ign) gazebo-1] [Dbg] [SimulationRunner.cc:507] Creating postupdate worker thread (1)
[ruby $(which ign) gazebo-1] [Dbg] [SimulationRunner.cc:507] Creating postupdate worker thread (2)
[ruby $(which ign) gazebo-1] [Dbg] [SimulationRunner.cc:507] Creating postupdate worker thread (3)
[ruby $(which ign) gazebo-1] [Dbg] [SimulationRunner.cc:507] Creating postupdate worker thread (4)
[ruby $(which ign) gazebo-1] [Dbg] [SimulationRunner.cc:507] Creating postupdate worker thread (5)
[ruby $(which ign) gazebo-1] [Dbg] [RenderUtil.cc:2591] Create scene [scene]
[ruby $(which ign) gazebo-1] [Dbg] [Sensors.cc:610] Initialization needed
[ruby $(which ign) gazebo-1] [Dbg] [Sensors.cc:284] Rendering Thread initialized
[ruby $(which ign) gazebo-1] [Dbg] [RgbdCameraSensor.cc:216] RGB images for [turtlebot4::oakd_rgb_camera_frame::rgbd_camera] advertised on [world/warehouse/model/turtlebot4/link/oakd_rgb_camera_frame/sensor/rgbd_camera/image]
[ruby $(which ign) gazebo-1] [Dbg] [RgbdCameraSensor.cc:230] Depth images for [turtlebot4::oakd_rgb_camera_frame::rgbd_camera] advertised on [world/warehouse/model/turtlebot4/link/oakd_rgb_camera_frame/sensor/rgbd_camera/depth_image]
[ruby $(which ign) gazebo-1] [Dbg] [RgbdCameraSensor.cc:244] Points for [turtlebot4::oakd_rgb_camera_frame::rgbd_camera] advertised on [world/warehouse/model/turtlebot4/link/oakd_rgb_camera_frame/sensor/rgbd_camera/points]
[ruby $(which ign) gazebo-1] [Dbg] [CameraSensor.cc:760] Camera info for [turtlebot4::oakd_rgb_camera_frame::rgbd_camera] advertised on [world/warehouse/model/turtlebot4/link/oakd_rgb_camera_frame/sensor/rgbd_camera/camera_info]
[ruby $(which ign) gazebo-1] [Dbg] [Lidar.cc:132] Laser scans for [turtlebot4::base_link::cliff_front_left] advertised on [world/warehouse/model/turtlebot4/link/base_link/sensor/cliff_front_left/scan]
[ruby $(which ign) gazebo-1] [Dbg] [GpuLidarSensor.cc:163] Lidar points for [turtlebot4::base_link::cliff_front_left] advertised on [world/warehouse/model/turtlebot4/link/base_link/sensor/cliff_front_left/scan/points]
[ruby $(which ign) gazebo-1] [Dbg] [Lidar.cc:132] Laser scans for [turtlebot4::base_link::cliff_front_right] advertised on [world/warehouse/model/turtlebot4/link/base_link/sensor/cliff_front_right/scan]
[ruby $(which ign) gazebo-1] [Dbg] [GpuLidarSensor.cc:163] Lidar points for [turtlebot4::base_link::cliff_front_right] advertised on [world/warehouse/model/turtlebot4/link/base_link/sensor/cliff_front_right/scan/points]
[ruby $(which ign) gazebo-1] [Dbg] [Lidar.cc:132] Laser scans for [turtlebot4::base_link::cliff_side_left] advertised on [world/warehouse/model/turtlebot4/link/base_link/sensor/cliff_side_left/scan]
[ruby $(which ign) gazebo-1] [Dbg] [GpuLidarSensor.cc:163] Lidar points for [turtlebot4::base_link::cliff_side_left] advertised on [world/warehouse/model/turtlebot4/link/base_link/sensor/cliff_side_left/scan/points]
[ruby $(which ign) gazebo-1] [Dbg] [Lidar.cc:132] Laser scans for [turtlebot4::base_link::cliff_side_right] advertised on [world/warehouse/model/turtlebot4/link/base_link/sensor/cliff_side_right/scan]
[ruby $(which ign) gazebo-1] [Dbg] [GpuLidarSensor.cc:163] Lidar points for [turtlebot4::base_link::cliff_side_right] advertised on [world/warehouse/model/turtlebot4/link/base_link/sensor/cliff_side_right/scan/points]
[ruby $(which ign) gazebo-1] [Dbg] [Lidar.cc:132] Laser scans for [turtlebot4::ir_intensity_front_center_left::ir_intensity_front_center_left] advertised on [world/warehouse/model/turtlebot4/link/ir_intensity_front_center_left/sensor/ir_intensity_front_center_left/scan]
[ruby $(which ign) gazebo-1] [Dbg] [GpuLidarSensor.cc:163] Lidar points for [turtlebot4::ir_intensity_front_center_left::ir_intensity_front_center_left] advertised on [world/warehouse/model/turtlebot4/link/ir_intensity_front_center_left/sensor/ir_intensity_front_center_left/scan/points]
[ruby $(which ign) gazebo-1] [Dbg] [Lidar.cc:132] Laser scans for [turtlebot4::ir_intensity_front_center_right::ir_intensity_front_center_right] advertised on [world/warehouse/model/turtlebot4/link/ir_intensity_front_center_right/sensor/ir_intensity_front_center_right/scan]
[ruby $(which ign) gazebo-1] [Dbg] [GpuLidarSensor.cc:163] Lidar points for [turtlebot4::ir_intensity_front_center_right::ir_intensity_front_center_right] advertised on [world/warehouse/model/turtlebot4/link/ir_intensity_front_center_right/sensor/ir_intensity_front_center_right/scan/points]
[ruby $(which ign) gazebo-1] [Dbg] [Lidar.cc:132] Laser scans for [turtlebot4::ir_intensity_front_left::ir_intensity_front_left] advertised on [world/warehouse/model/turtlebot4/link/ir_intensity_front_left/sensor/ir_intensity_front_left/scan]
[ruby $(which ign) gazebo-1] [Dbg] [GpuLidarSensor.cc:163] Lidar points for [turtlebot4::ir_intensity_front_left::ir_intensity_front_left] advertised on [world/warehouse/model/turtlebot4/link/ir_intensity_front_left/sensor/ir_intensity_front_left/scan/points]
[ruby $(which ign) gazebo-1] [Dbg] [Lidar.cc:132] Laser scans for [turtlebot4::ir_intensity_front_right::ir_intensity_front_right] advertised on [world/warehouse/model/turtlebot4/link/ir_intensity_front_right/sensor/ir_intensity_front_right/scan]
[ruby $(which ign) gazebo-1] [Dbg] [GpuLidarSensor.cc:163] Lidar points for [turtlebot4::ir_intensity_front_right::ir_intensity_front_right] advertised on [world/warehouse/model/turtlebot4/link/ir_intensity_front_right/sensor/ir_intensity_front_right/scan/points]
[ruby $(which ign) gazebo-1] [Wrn] [OgreGpuRays.cc:258] Horizontal FOV for GPU rays is capped at 180 degrees.
[ruby $(which ign) gazebo-1] [Dbg] [Lidar.cc:132] Laser scans for [turtlebot4::ir_intensity_left::ir_intensity_left] advertised on [world/warehouse/model/turtlebot4/link/ir_intensity_left/sensor/ir_intensity_left/scan]
[ruby $(which ign) gazebo-1] [Dbg] [GpuLidarSensor.cc:163] Lidar points for [turtlebot4::ir_intensity_left::ir_intensity_left] advertised on [world/warehouse/model/turtlebot4/link/ir_intensity_left/sensor/ir_intensity_left/scan/points]
[ruby $(which ign) gazebo-1] [Dbg] [Lidar.cc:132] Laser scans for [turtlebot4::ir_intensity_right::ir_intensity_right] advertised on [world/warehouse/model/turtlebot4/link/ir_intensity_right/sensor/ir_intensity_right/scan]
[ruby $(which ign) gazebo-1] [Dbg] [GpuLidarSensor.cc:163] Lidar points for [turtlebot4::ir_intensity_right::ir_intensity_right] advertised on [world/warehouse/model/turtlebot4/link/ir_intensity_right/sensor/ir_intensity_right/scan/points]
[ruby $(which ign) gazebo-1] [Dbg] [Lidar.cc:132] Laser scans for [turtlebot4::ir_intensity_side_left::ir_intensity_side_left] advertised on [world/warehouse/model/turtlebot4/link/ir_intensity_side_left/sensor/ir_intensity_side_left/scan]
[ruby $(which ign) gazebo-1] [Dbg] [GpuLidarSensor.cc:163] Lidar points for [turtlebot4::ir_intensity_side_left::ir_intensity_side_left] advertised on [world/warehouse/model/turtlebot4/link/ir_intensity_side_left/sensor/ir_intensity_side_left/scan/points]
[ruby $(which ign) gazebo-1] [Dbg] [Lidar.cc:132] Laser scans for [turtlebot4::rplidar_link::rplidar] advertised on [world/warehouse/model/turtlebot4/link/rplidar_link/sensor/rplidar/scan]
[ruby $(which ign) gazebo-1] [Dbg] [GpuLidarSensor.cc:163] Lidar points for [turtlebot4::rplidar_link::rplidar] advertised on [world/warehouse/model/turtlebot4/link/rplidar_link/sensor/rplidar/scan/points]
[ruby $(which ign) gazebo-1] [Dbg] [Lidar.cc:132] Laser scans for [standard_dock::green_buoy_link::green_buoy] advertised on [world/warehouse/model/standard_dock/link/green_buoy_link/sensor/green_buoy/scan]
[ruby $(which ign) gazebo-1] [Dbg] [GpuLidarSensor.cc:163] Lidar points for [standard_dock::green_buoy_link::green_buoy] advertised on [world/warehouse/model/standard_dock/link/green_buoy_link/sensor/green_buoy/scan/points]
[ruby $(which ign) gazebo-1] [Dbg] [Lidar.cc:132] Laser scans for [standard_dock::halo_link::halo] advertised on [world/warehouse/model/standard_dock/link/halo_link/sensor/halo/scan]
[ruby $(which ign) gazebo-1] [Dbg] [GpuLidarSensor.cc:163] Lidar points for [standard_dock::halo_link::halo] advertised on [world/warehouse/model/standard_dock/link/halo_link/sensor/halo/scan/points]
[ruby $(which ign) gazebo-1] [Dbg] [Lidar.cc:132] Laser scans for [standard_dock::red_buoy_link::red_buoy] advertised on [world/warehouse/model/standard_dock/link/red_buoy_link/sensor/red_buoy/scan]
[ruby $(which ign) gazebo-1] [Dbg] [GpuLidarSensor.cc:163] Lidar points for [standard_dock::red_buoy_link::red_buoy] advertised on [world/warehouse/model/standard_dock/link/red_buoy_link/sensor/red_buoy/scan/points]
[ruby $(which ign) gazebo-1] [Dbg] [Lidar.cc:132] Laser scans for [standard_dock::yellow_buoy_link::yellow_buoy] advertised on [world/warehouse/model/standard_dock/link/yellow_buoy_link/sensor/yellow_buoy/scan]
[ruby $(which ign) gazebo-1] [Dbg] [GpuLidarSensor.cc:163] Lidar points for [standard_dock::yellow_buoy_link::yellow_buoy] advertised on [world/warehouse/model/standard_dock/link/yellow_buoy_link/sensor/yellow_buoy/scan/points]
[parameter_bridge-9] [INFO] [1721157505.543785524] [cmd_vel_bridge]: Passing message from ROS geometry_msgs/msg/Twist to Gazebo gz.msgs.Twist (showing msg only once per type)
[turtlebot4_node-30] [INFO] [1721157505.671467259] [turtlebot4_node]: OAKD stopped
[turtlebot4_node-30] [INFO] [1721157505.671534700] [turtlebot4_node]: RPLIDAR stopped
[turtlebot4_node-30] [INFO] [1721157520.280092031] [turtlebot4_node]: Setting EStop
[turtlebot4_node-30] [INFO] [1721157521.281088836] [turtlebot4_node]: e_stop service available, sending request
[motion_control-35] [INFO] [1721157521.281749204] [motion_control]: E-Stop request: Set system E-Stop on, cutting motor power
[turtlebot4_node-30] [INFO] [1721157521.281970178] [turtlebot4_node]: e_stop service got results: Success
[turtlebot4_node-30] [INFO] [1721157521.282000746] [turtlebot4_node]: Set system E-Stop on, cutting motor power
[turtlebot4_node-30] [ERROR] [1721157527.110090867] [turtlebot4_node]: Power OFF
[turtlebot4_node-30] [INFO] [1721157528.110718692] [turtlebot4_node]: robot_power service available, sending request
[motion_control-35] [ERROR] [1721157528.111243075] [motion_control]: Power off request: Set system power off failed (not supported in sim)
[turtlebot4_node-30] [INFO] [1721157528.111973619] [turtlebot4_node]: robot_power service got results: Failed
[turtlebot4_node-30] [INFO] [1721157528.112127419] [turtlebot4_node]: Set system power off failed (not supported in sim)
[turtlebot4_node-30] [INFO] [1721157530.630497445] [turtlebot4_node]: Clearing EStop
[turtlebot4_node-30] [INFO] [1721157531.632158074] [turtlebot4_node]: e_stop service available, sending request
[turtlebot4_node-30] [INFO] [1721157531.635573658] [turtlebot4_node]: e_stop service got results: Success
[turtlebot4_node-30] [INFO] [1721157531.635636381] [turtlebot4_node]: Set system E-Stop off, enabling motor power
[motion_control-35] [INFO] [1721157531.636356844] [motion_control]: E-Stop request: Set system E-Stop off, enabling motor power
[turtlebot4_node-30] [ERROR] [1721157535.682659323] [turtlebot4_node]: Service oakd/stop_camera unavailable.
[turtlebot4_node-30] [ERROR] [1721157535.693298306] [turtlebot4_node]: Service stop_motor unavailable.
[turtlebot4_node-30] [ERROR] [1721157545.240502696] [turtlebot4_node]: Power OFF
[turtlebot4_node-30] [INFO] [1721157546.241072663] [turtlebot4_node]: robot_power service available, sending request
[motion_control-35] [ERROR] [1721157546.241380744] [motion_control]: Power off request: Set system power off failed (not supported in sim)
[turtlebot4_node-30] [INFO] [1721157546.241802533] [turtlebot4_node]: robot_power service got results: Failed
[turtlebot4_node-30] [INFO] [1721157546.241876548] [turtlebot4_node]: Set system power off failed (not supported in sim)
[turtlebot4_node-30] [ERROR] [1721157551.290799167] [turtlebot4_node]: Power OFF
[turtlebot4_node-30] [INFO] [1721157552.291417463] [turtlebot4_node]: robot_power service available, sending request
[motion_control-35] [ERROR] [1721157552.292213818] [motion_control]: Power off request: Set system power off failed (not supported in sim)
[turtlebot4_node-30] [INFO] [1721157552.293008769] [turtlebot4_node]: robot_power service got results: Failed
[turtlebot4_node-30] [INFO] [1721157552.293191465] [turtlebot4_node]: Set system power off failed (not supported in sim)
[turtlebot4_node-30] [INFO] [1721157558.820561726] [turtlebot4_node]: Undocking
[turtlebot4_node-30] [INFO] [1721157558.820631063] [turtlebot4_node]: Waiting for undock action server
[turtlebot4_node-30] [INFO] [1721157559.821180905] [turtlebot4_node]: undock action server available, sending goal
[turtlebot4_node-30] [ERROR] [1721157559.821843092] [turtlebot4_node]: undock goal was rejected by server
[turtlebot4_node-30] [ERROR] [1721157559.822062458] [turtlebot4_node.rclcpp_action]: unknown goal response, ignoring...
[turtlebot4_node-30] [ERROR] [1721157559.822144260] [turtlebot4_node.rclcpp_action]: unknown goal response, ignoring...
[motion_control-35] [INFO] [1721157559.821961064] [motion_control]: Received new undock goal

To Reproduce
ros2 launch turtlebot4_ignition_bringup turtlebot4_ignition.launch.py
Other notes
No response

Full log: tb4_sim_error.log

Hi @aharshac
Can you please detail the hardware specs of your PC you are running this on?
It seems like the system does not have the required resources (CPU, RAM etc.) to run this simulation.
Best regards,
Rusty

Hello @RustyCPR
I've seen this issue on two PCs. One with 16 GB RAM, 4GB 1050Ti and another with 32 GB RAM, 4 GB P2000. Both of them were running local Fast DDS discovery servers. This problem exists with Create3 Ignition as well, but not with Gazebo Classic.
I did not see this problem when I switched to Cyclone DDS with simple discovery. I want to use Turtlebot4 sim with multiple robots for frontier exploration, and I was unable to spawn more than one robot with Cyclone.
I think this issue is caused by ros2_control https://github.com/ros-controls/ros2_control/issues/1200. There's a fix https://github.com/ros-controls/ros2_control/pull/1562, but I was unable to build the branch locally.
Here's how I source my env
https://gist.github.com/aharshac/b07929459d00935bf6b0259144202e58
Thanks

@RustyCPR Can you confirm if I'm sourcing my environment properly?
This is how I start the discovery serer
#!/bin/bash
source /opt/ros/humble/setup.bash
fastdds discovery -i 0 -p 11811

https://github.com/iRobotEducation/create3_sim/issues/194#issuecomment-2245957234

Hello @RustyCPR
I've seen this issue on two PCs. One with 16 GB RAM, 4GB 1050Ti and another with 32 GB RAM, 4 GB P2000. Both of them were running local Fast DDS discovery servers. This problem exists with Create3 Ignition as well, but not with Gazebo Classic.
I did not see this problem when I switched to Cyclone DDS with simple discovery. I want to use Turtlebot4 sim with multiple robots for frontier exploration, and I was unable to spawn more than one robot with Cyclone.
I think this issue is caused by ros2_control ros-controls/ros2_control#1200. There's a fix ros-controls/ros2_control#1562, but I was unable to build the branch locally.
Here's how I source my env https://gist.github.com/aharshac/b07929459d00935bf6b0259144202e58
Thanks

We have fixed the issues in all supported distros. Currently in source, but feel free to test and give us feedback!

Hi @aharshac
Please try removing/unsetting the FASTRTPS_DEFAULT_PROFILES_FILE from your sourcing script.
That profile is just pointing it towards the server you started and setting it as super client which is a duplication of the other environment variables that you have set.

@RustyCPR The simulator works as expected after https://github.com/ros-controls/ros2_control/pull/1562 was merged. Thanks @destogl for the fix.


Moving from bower

Due to fact that bower was deprecated(maintainers recommend using a different solution) for ASP.NET Core 2.1 we should switch to a different solution.
As Adam mentioned in this post I would recommend Yarn as an alternative.

The focus of this solution isn't on client-side dependencies at all. I'd be open to a PR to fix this, ideally based on non-bower web project templates shipping with dotnet CLI and/or Visual Studio.


Use of fallocate in restore to prevent extreme fragmentation of (large) files

Output of restic version
restic 0.9.6 (v0.9.6-148-gc03bc88b) compiled with go1.13.5 on linux/amd64
(Beta-Version needed because of problem to restore 'large files' in release-version.
What should restic do differently? Which functionality do you think we should add?
fallocate a file before restoring it's contents. At least optionally
What are you trying to do?
Get files with the least possible fragmentation and contiguously allocated space.
AFAIU: The current version creates the file as sparse and then restores the content "chunk by chunk" in essentially random order.
The resulting file is thus a) extremely fragmented and b) discontiguous.
For e.g.:
Yesterday i restored a 1.4TB VM-Image-File (Ploop with Ext4 inside).
Just mounting that restored-file needed 7 Minutes.
Then i rewrote said file: rsync -avP --preallocate restored-file new-file
Mounting that rewritten file now only takes 4 seconds as layout of the rewritten is "optimal".

The restorer code has already been rewritten since 0.9.6 (#2195). You should recheck whether the file gets so fragmented.

I had to use a recent daily-build (see description) for the restore, which contains said updated restore code AFAIU.
AFAIU2, the updated restore code is the actual cause of the fragmentation problem.
(But this is the first & only time i have restored a large file with restic. So i don't know if the previous code has a similar "problem".)

Excuse me, I had misread the version number.
I am afraid that using fallocate would conflict with writing sparse files (files with holes), as in #2601, so one of them would need an option to turn it on/off.

What if restic would primarily try to append to existing files first, instead of doing random writes?

What if restic would primarily try to append to existing files first, instead of doing random writes?

Single-threaded append-only restore is very slow (see #1719). Multi-threaded append-only restore needs significant amount of memory to work efficiently and overall is pretty complex (#2195). And files will probably still be fragmented after multi-threaded restore (and single-threaded too, if other processes write to the filesystem during restore).
Personally, I am in favour of using fallocate during restore (and I will comment in #2601 why I think guessing sparse files is not ideal).

It could also be possible to reduce the fragmentation a lot by processing the pack files in the order in which they are first referenced by a file in the backup. The current iteration order over the pack files is completely random, whereas processing the pack files in appearance order, quite likely, closely resembles consecutive file accesses.

Allocating up front is a more localized change to the code, though.

I've taken a closer look at this, using a test file with just 2GB size. That file consisted of 1GB data read from /dev/urandom and is contained twice in the file. With the current master branch I ended up with approx. 200 file fragments after restoring according to filefrag on ext4 (Ubuntu 20.04).
Accessing the pack files in order of first appearance (just remember the order in which the filerestorer encounters a new pack file https://github.com/restic/restic/blob/0fed6a8dfc0e4bbdebb41677f6b81367dadadb94/internal/restorer/filerestorer.go#L125, which amounts to a 4 line change) reduces the number of fragments to something a bit below 10  fragments. As the test file is setup to have each blob written to two locations in the restored file, this also serves as a simple stress test for files with blobs which are stored out of order in packs.
With fallocate the number of fragments is down at around 2-3, which is fine as each one is now probably several hundred MB large.
I'm currently working on a PR which includes both changes. As fallocate or a similar command is not available on every platform is probably a good idea to have a fallback to reduce the fragmentation even without such a command. (It would of course be possible, to start with (sequentially) zeroing the files before but that creates a lot of overhead)


ReadTheDocs seems out of sync with the github repo

Description
https://filepattern2.readthedocs.io/en/latest/Examples.html#stitching-vectors
This section of readthedocs seems out of sync with the github repo.

Fixed in v2.0.1


Conjunctions in noun phrases

The sentence "I buy hamster and gerbil food" is parsed as shown below. Actually food is the correct direct object. Instead, the conj link should connect gerbil to its correct parent hamster, and hamster should have an amod link to food.

It is hard to assign conjunction correctly. But maybe it is useful to upscore the options where the two co-ordinated terms are of similar weight. It seems possible to recognise that "hamster and gerbil" is more likely than "hamster and [gerbil food]"
Scispacy is amazing, and gets the correct parsing with impressive frequency. This case is one of the more common errors I encounter - such constructions are common in the corpus.
Environment
spaCy version: 3.0.7
Platform: Linux-5.15.0-48-generic-x86_64-with-glibc2.31
Python version: 3.9.5
Pipelines: en_core_sci_sm (0.4.0)

Thanks for the suggestion @chrishmorris! While your idea is reasonable, incorporating that human intuition into the dependency parsing model is quite difficult. See https://spacy.io/api/dependencyparser for more details on the dependency parsing model. A simpler way to incorporate this idea would be to add lots of examples of the form you describe to the training corpus. I will likely not be doing this for scispacy, but if you were to create your own corpus, I'd be happy to help you figure out how to use it in our training scripts to train your own model! And feel free to open another issue if you end up going down that route and would like some help.


Add integration test for session save / load across connections.

This is a feature needed by the tools (and likely many other). Currently
the test fails as expected since the daemon doesn't suppor the feature
... yet.
Signed-off-by: Philip Tricca<EMAIL_ADDRESS>

Associated branch to add support for this in the daemon is here: https://github.com/flihp/tpm2-abrmd/tree/1.x-session-save-across-connection-test.
The code on this branch already gets this test case to pass. What it doesn't do yet is any sort of cleanup so it could leave sessions around in the TPM when the daemon terminates etc. I'll get on that cleanup soon. Till then some verification that the code does what we want it to do would be much appreciated.

related: https://github.com/01org/tpm2-tools/issues/532

@flihp actually the continuation session code is found on this branch: https://github.com/01org/tpm2-abrmd/compare/master...flihp:1.x-session-save-across-connections
Not:
https://github.com/flihp/tpm2-abrmd/tree/1.x-session-save-across-connection-test
At least when I checked, https://github.com/flihp/tpm2-abrmd/tree/1.x-session-save-across-connection-test was missing this commit: https://github.com/01org/tpm2-abrmd/commit/7b92d3b92b46581aafbb9da8e943624e54cb8d8f

Whoops. Good catch. That was a copy / paste mistake.

resolves #198


Fixes a bug in bookmark/cursor

Sometimes when you open the HTML source code you'll see:
�
Edited line 148 adding the style attribute so replace() finds the string properly.

After further testing, this does not work as planned.


get markdown italics to work

Right now theyre being rendered with *

frontmatter widget in disease files.
example:
acknowledgements: "These cell lines were generated at Allen Institute and
  released to a group of collaborators to perform preliminary studies. We would
  like to thank the following: Daniel Bernstein, MD, *Stanford University*, Soah
  Lee, PhD, *Sungkyunkwan University*, Beth Pruitt, PhD, *University of
  California*, Santa Barbara, Mike Regnier, PhD, *University of
  Washington,* James Spudich, PhD, *Stanford University*, Sean Wu, MD, PhD,
  *Stanford School of Medicine*"


bugfix hover vistes ikke

debounce for performance
bugfix textfield value ikke null
oppdatert deck.gl/luma.gl
A picture tells a thousand words
Before this PR
After this PR

Coverage decreased (-0.06%) to 41.518% when pulling e0a6eeb8e53298751db4825cda2363a7d943698d on bugfix_og_performance into d04cea3011d49f5435205475958d46c707ad7197 on master.


Accept Content-Type: application/graphql in web server integrations

When finished, this should fix #426.
Hyper, Iron and Rocket integrations are working fine with tests. I can't for the life of me figure out how to get the warp integration working - any guidance there would be much appreciated!

Hey, thanks.
For warp, you would basically just need to adapt the warp::body::json method.
Something like this should work:
 ( warp::filters::header::exact(mime::APPLICATION, mime::JSON)
      .or( warp::filters::header::exact(...)
  )
  // Rest of the code of the json() function
  .and (...)

@theduke Ah sorry, I think I've managed to get the individual filters to compile fine (get_filter remains unchanged, post_filter has just been refactored into post_json_filter, and there's a new post_graphql_filter for handling Content-Type: application/graphql. I'm struggling to combine them correctly into a single BoxedFilter.

@sd2k why have you closed this? You have no time for finishing this?

@tyranron That's strange, I didn't close it intentionally, I just force rebased my branch on master. I still can't get the warp integration working though and don't think I'll have time to do so unfortunately, so if anyone is more experienced in warp and wants to take over that would be great.

Ah, I see, I accidentally removed the new commits from my fork when I rebased which closed this PR automatically. Looks like I'll need to create a new PR to get GitHub to recognise the new commits. Happy to do that although the warp changes still won't be there.

@sd2k if you don't mind I'll pick up your work and finish it in a separate PR.

@tyranron fine with me, go ahead :slightly_smiling_face:


Shipkit.gradle loaded from relative not absolute path

Also redundant updateNotableReleaseNotes task removed and deferredConfiguration is also not needed anymore in ReleaseNotesPlugin

Merging temporarily to see if change in configuration fixes problem with pom generation on travis in mockito release example.


bump: [#4684] Update multiple dependencies inside public libraries to latest version

Addresses # 4684
#minor
Description
This PR updates multiple dependencies that are used inside all public libraries (botbuilder-core, botbuilder-ai, botframework-connector, etc.) to their latest version.
Additionally, added minimal support for @types/node 18 and typescript 4.7.
Specific Changes

New version of @types/node and typescript introduced new types, and new validations.
Removed get-stream dependency to use stream/consumers instead.
Added a TODO to address the INodeSocket type problem in its own PR, that impacts streaming and adapters.
Some dependencies updates were left outside this PR as they have problems and to tackle them in their own PR.
The rest of the dependencies were updated correctly to their latest version.

Testing
The following images show the bf-connector browser, and the new stream/consumers implementation working.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>1
Details

23 of 31 (74.19%)  changed or added relevant lines in 13 files are covered.
5 unchanged lines in 4 files lost coverage.
Overall coverage increased (+0.004%) to 84.052%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

libraries/botframework-streaming/src/namedPipe/namedPipeClient.ts
0
2
0.0%

libraries/botbuilder-azure-blobs/src/blobsStorage.ts
1
4
25.0%

libraries/botbuilder-azure-blobs/src/blobsTranscriptStore.ts
1
4
25.0%

Files with Coverage Reduction
New Missed Lines
%

libraries/botbuilder-azure-blobs/src/blobsStorage.ts
1
44.32%

libraries/botbuilder-azure/src/azureBlobTranscriptStore.ts
1
85.77%

libraries/botbuilder-azure/src/blobStorage.ts
1
86.67%

libraries/botbuilder-azure-blobs/src/blobsTranscriptStore.ts
2
15.92%

Totals

Change from base Build<PHONE_NUMBER>6:
0.004%

Covered Lines:
20351

Relevant Lines:
22910

💛  - Coveralls

/promoted 4739


404 on Organization's repo

Gitea version (or commit ref): 1.3.1
Git version: 2.7.4
Operating system: Ubuntu 16.04
Database (use [x]):

[ ] PostgreSQL
[x] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[x] No
[ ] Not relevant

Log gist:
gitea.log for error in webview: https://gist.github.com/the-holger/ef9c4668606190eb6e3820db7293d066
serv.log for error when trying to push: https://gist.github.com/the-holger/6af2b64a6ab7370367ee799cc76a4d8f

Description
I created (multiple) repos for an organization using user "holger". Now at least one of the repos won't let user "holger" (admin user, owner of the organization) push commits, trying to view it in the browser gives me a 404.
This is fixed by this, adapted to the new DB structure

Duplicate of #1794


Typo in paper

Hello, thank you for your awesome works!
Typo is on page 9, section 4.7 Qualitative Results second line,
"""
We compare the proposed AEL with ground-truth, supervsied baseline and our basic framework described in Section 3.2.
"""
I think supervsied should be supervised :) Ah, I downloaded pdf file on arxiv today.
Thank you.
Jihwan Eom

Thank you very much for mentioning these. We will correct these in the next version.


Script forces old deprecated MSonline version

Can this script be updated to support the new Microsoft.Graph module instead of MSOnline [<IP_ADDRESS>]?

Let me confirm I understand this correctly, because I can't get this to work.
This script is linked from the official documentation page: https://learn.microsoft.com/en-us/entra/identity/authentication/howto-mfa-getstarted#choose-authentication-methods-for-mfa but it relies on a phased out stack?
thanks

Let me confirm I understand this correctly, because I can't get this to work.
This script is linked from the official documentation page: https://learn.microsoft.com/en-us/entra/identity/authentication/howto-mfa-getstarted#choose-authentication-methods-for-mfa but it relies on a phased out stack?
thanks

Yes, I believe they now have a native way to do this with the Graph module instead:
https://learn.microsoft.com/en-us/powershell/module/microsoft.graph.reports/get-mgreportauthenticationmethoduserregistrationdetail?view=graph-powershell-1.0


Consider way to control injection for one parameter of a constructor

If a constructor has multiple parameters, one of which needs special treatment, you need to create a factory method which takes all the other parameters as dependencies and manually calls the constructor.
This means if a new parameter is added to the constructor, we have to update the factory as well.
If there was some way to modify a single parameter of a constructor, that would avoid this issue.

We could add an attribute:
public class ParameterFactoryAttribute
{
    public ParameterFactoryAttribute(Type forType, int? parameterIndex = null, string? parameterName = null, bool useForAnyParametersOfSameTypeAsReturnType = true)
}

Then it could be used as follows:
public class MyService { public MyService(Dep1 dep, Dep2 dep2, Dep3 dep3, Dep4 dep4, string connectionString) }

[Register(typeof(MyService))]
[Register(typeof(Dep1))]
[Register(typeof(Dep2))]
[Register(typeof(Dep3))]
[Register(typeof(Dep4))]
public class Container : IContainer<MyService>
{
    [ParameterFactory(typeof(MyService))] string GetConnectionString() => LoadConnectionStringFromConfig();
}

This would be particularly useful for registrations of HttpClient. Currently to have differently configured HttpClient instances one must use a factory for each consumer of HttpClient. The problem here is that the owner (Owned<T> or container) won't dispose of the HttpClient because it doesn't know about it, so the consumer type must do so. The alternative to this for my HttpClient concern is a custom factory to create and dispose of HttpClient instances, and inject that into each consumer. This is made more annoying because Microsoft's version of IHttpClientFactory is strongly coupled to their DI system because the implementation type is not public, so I would have to fully implement my own or wrap their DI.
Unless there's a better workaround for HttpClient configuration with StrongInject?

https://gist.github.com/Stroniax/c6ffd55b9506d4bfb7feb4036bc895b5
The HttpClient is created in the factory method, and therefore the container will not dispose of it. With this suggestion, I would be able to use something more like this:
// Specific configuration for clients that need it
[ParameterFactory(typeof(GlobalStateHttpClient))]
public static HttpClient CreateHttpClientForGlobalStateService() => throw new NotImplementedException();

[ParameterFactory(typeof(GlobalStateHttpClient))]
public static HttpClient CreateHttpClientForFileContentService() => throw new NotImplementedException();

// Could also set a default for clients that don't need special configuration
[Factory]
public static HttpClient CreateDefaultHttpClient() => new();

This may be a contrived example, but it demonstrates the issue of configured parameters required for injection, especially when they are disposable.
This also allows a container to override the client for a single service without overriding configuration everywhere.

If GlobalStateHttpClient is disposable stronginject will dispose of it. If that isn't possible you can implement IFactory<T> to control lifetime of your dependencies.

Sorry I misunderstood. Ignore my previous comment.

My current advice would be to make GlobalStateHttpClient disposable and have it dispose of the httpclient.
Alternatively you could make the Factory take as a parameter a Func<Config, HttpClient> as a parameter and call it to get the HttpClient. Then stronginject would manage the lifetime of the httpclient.
However I agree that this proposal would be useful. I don't actively maintain stronginject at the moment, but if you would like to contribute a solution I would be very happy to review it and provide guidance.

The problem here is that the owner (Owned<T> or container) won't dispose of the HttpClient because it doesn't know about it, so the consumer type must do so.

HttpClient instances obtained from HttpClientFactory do not need to be disposed at all. https://stackoverflow.com/a/54326424/521757

Is this project still maintained?

I do not currently have time to maintain this project, but I am happy to review pull requests.


[bug] Allow field type to be a reference

Resolves bug where REFERENCE items do not get resolved when doing client_from_token.get_item(item, vault)
ValueError: Invalid value for `type` (REFERENCE), must be one of ['STRING', 'EMAIL', 'CONCEALED', 'URL', 'OTP', 'DATE', 'MONTH_YEAR', 'MENU']

Similar to https://github.com/1Password/connect-sdk-python/issues/12

@jpcoenen saw you merging a similar PR, could you take a quick look at this please?


Ensure events remain renderable and linkable when orphaned

We decided to flag them in the JSON response so that Josh can display them with an icon or badge indicating that they correspond to a deleted entity.


Issues With Task Retrying [Enhancement Proposal]

Introduction
We are being hit by the way how retries are handled in Django-Q. We have many short tasks (that take less than a second) and some very long-running tasks taking 20-30 minutes to complete. So therefore our retry must be more than 30 minutes and if a short task fails it is retried after quite long delay.
Also as our long-running tasks are integrations to external services a task might take occasionally more than 30 minutes and second instance of that task is started. We have already caused one of our internal services to choke due to Django-Q retried a task while earlier run was running; this caused the two tasks to run so slowly that next scheduled run started and the same happened over and over again until all our workers were running the same task and once an hour new task was scheduled.
Of course, we could implement check at the beginning of our task that there is at most one instance of that task running but I think the fix should be done in Django-Q so that others won't have the issue.
I think the following two changes would need to be made to fix the way how retrying tasks currently works.
1) Allow cluster to pull tasks only when the cluster can start to work on the task
This does make the current way of retry handling better as the tasks are not considered started by a broker until the task has really started to execute. With the current implementation a cluster might pull a task from a broker but the cluster could start processing the task after a long while (when all the workers are busy). And in the worst case the broker would retry the task even before the task has been started. We have actually faced also this issue in our system :)
The change can be done (at least) in two different ways.
The first (and in my opinion simpler) would be to remove the pusher process and let workes pull tasks from the broker. In this solution the django_q.cluster.pusher function would be changed in such way that a worker could call it when the worker is ready to start new task. The downside of this approach is that the pusher basically polls broker so now each worker would poll the broker causing more load on the broker. The good thing of this approach is the fact that there would be one process less compared to current solution.
The second option is to keep the pusher process but change it in such way that it only pulls tasks from broker when a worker is ready to take new task. This solution would be a bit more complicated but each cluster would have single process that pulls tasks from broker and this is closer to how Django-Q is currently implemented.
Currently broker's dequeue method might return more than one task and I think the reason for this is to allow higher througput of tasks so the second option, i.e. keeping the pusher process might be the way to go as it allows the code to keep pulling more than one task at a time (assuming the cluster has more than one worker available for new tasks). The implementation of second proposed option could be made a bit simpler by always pulling at most one task from broker.
2) Change how brokers reschedule unacknowledged tasks
Instead of starting retry timeout from the time when a task is pulled from broker, the retry timeout would start when a task fails. Basically this means that nack method should be added to Broker: cluster would call nack if task fails and broker would reschedule the task after retry timeout.
With this change there is the issue that if cluster dies (or is not shut down cleanly) the task would not be automatically rescheduled like the current implementation does. To overcome this, a global timeout like current retry implementation should exists: a task is rescheduled if it has not been ackenowledged (or nacked) before the global timeout. In addition to this there could be a faster way to reschedule the tasks if clusters would register themselves to broker and notify broker every X seconds that the cluster is still alive. If the cluster fails to notify broker that the cluster is still alive, broker would assume all tasks assigned to that cluster as failed and would reschedule those. This, of course, would work only when multiple clusters were used. With single cluster the tasks would be marked failed when the only cluster would restart.
How To Proceed From Here
The first change is not completely necessary but it would make the implementation more robust in multi-cluster case.
I am willing to contribute the changes in near future (the exact schedule will depend on how I have extra time to use for this) but before I invest my time into this I would like to get some feedback so that I would not implement something that would not be accepted into Django-Q.
I guess we can duscuss this change here or is there some other medium we should use for discussion?

Just investigating it now. However, I just got bit by this glaring issue. The problem is that any exceptions, anomalies, or even a long running task will multiply into retries after retries growing exponentially. It seems like a bad behaviour. At first, I thought it was a bug or some sort of race condition in the code. I have come to realize the behaviour is actually part of the design itself. Wow!
I think at least there should be more of a warning in the docs about this behavior. The retry setting controls this behaviour, but there is not much warning about it. I think it should be made more obvious!

I most likely will change to Celery because of the issues I'm seeing in production due to the issue described here and (partly) documented by commit https://github.com/Koed00/django-q/commit/d3f42b46d4694a1282b68b18811f8b9bdd2345b9
The changes required to fix the issue are such that changing to Celery looks quite tempting even though Django-Q has worked fine for me in many cases.


Linting: add grunt lint task, .eslintrc and .editorconfig

Adds linting, which is optional (for now) but hopefully helpful for developers who choose to use it. The goal is to have some consistent styles that nudge all contributors towards good standards/best practices without the need to get nitpicky in code review.

Replaces the jshint task (which was similar to p5's) with an eslint task.
Sets some linting rules in src/.eslintrc. Rules are based on p5's jshint and jscs, with some additional suggestions. This is all open to input! Check out the list of available rules here.
Adds an .editorconfig file borrowed from p5 here
Lints source code to meet linting standards

I'm thinking we could add linting as a pre-commit hook, and then also set up linting on PR's, but I want to make sure this is done in a way that encourages, rather than deters, potential contributors. I would love some feedback on this idea!
How to use it
Lint task
npm install to update dependencies
grunt lint lints src/ directory
auto-fix errors
You can also run lint individual files from the terminal, with the optional -fix flag that will fix some (but not all) linting errors
Linting hints in your IDE
npm install -g eslint
eslint src/audioin.js --fix
You can also install tools for your code editor:

eslint http://eslint.org/docs/user-guide/integrations
editor config: http://editorconfig.org/#download

interesting! planning to take a look in the next few days

just pushed a commit that fixed some merge conflicts.
While I was at it I realized I might as well preserve some documentation for delay, distortion, and reverb methods that have been moved to p5.Effect like this: https://github.com/processing/p5.js-sound/pull/186/files#diff-361689f6101bd22d7f295e31cc8d4437R262 as discussed here. @jvntf does this sound like a good approach?

looks good. do you find that the eslint gives better control than jshint? or was there another reason for the switch? wondering if we should consider this for p5.js, too.

@lmccart I don't know if it's worth p5 switching, but here are a few reasons I like eslint

it provides both of what jshint and jscs offer with just one dependency
one IDE plugin
it is more flexible than jshint (but requires some more effort to set up)
we're not taking advantage of this, but we can easily import eslint configs from other projects like airbnb...it'd be cool to have eslint-config-p5!
we're not taking advantage of this yet but eslint has great es6+ support
running eslint --fix can easily fix the more tedious things


Replace ccm provider

Builds on work from
https://github.com/dcos/dcos/pull/240

@cmaloney this is ready for view
@branden this needs to be coordinated with https://github.com/dcos/dcos/pull/663

@mellenburg cool, I'll rebase #663 onto this branch.

@cmaloney Is this shippable? it will help greatly in building out tests that do resiliency on VPC

:ship: definite improvement


Format implementation of files

Currently only looks like the Declaration part of files are formatted. I'd like to look at getting the Implementation part of files included. Did you have any specific ideas/ways you were thinking of doing this?

I haven't thought about it a lot, but it is probably going to be challenging since statements are often spread out over multiple lines. It will be quite challenging to format with taking the line length into account. That is why I didn't plan to implement the line length based formatting until the version 0.5. So for the implementation part it is maybe a good idea to focus on the correct identification of statements first. After correct identification you could implement some simple formatting, like indentation and spacing around the equal sings.
Do you have any ideas on how to approach this?

I'm thinking recursive parsing approach. Initially loop through the full implementation and create blocks with start line(s), content and end line.
Start line examples:
If mybool1 and mybool2 then
case state of
content anything in between
End line:
end_case
end_if`
Then recursively call the same function with the body content. Each block would be associated with a number defining the level of indent.
As you said first step would be to correctly find the start/end of these blocks. I'll start something up and make a WIP PR so you can give your input.

Sounds good. This should be easy to implement with the current composite design pattern which is used.


CS2 Locations

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Create all the CS2 Locations

probably going to have to change how the upload form works


VM's can be deleted regardless of the state of the VM

What happened:
I was able delete running Virtual Machine.
What you expected to happen:
Not to delete a running VM and expected to return error like, "VM is running and cannot be delete"
How to reproduce it (as minimally and precisely as possible):
Deploy a VM
kubectl delete vm vmname
Additional context:
It is Ok for running VMI getting deleted as it will be re-deploy from VM object. But running VM object should be disallowed from deleting?
Environment:

KubeVirt version (use virtctl version): Server Version: version.Info{GitVersion:"v0.58.0", GitCommit:"6e41ae7787c1b48ac9a633c61a54444ea947242c", GitTreeState:"clean", BuildDate:"2022-10-13T00:33:22Z", GoVersion:"go1.17.8", Compiler:"gc", Platform:"linux/amd64"}
Kubernetes version (use kubectl version): Server Version: version.Info{Major:"1", Minor:"24", GitVersion:"v1.24.2", GitCommit:"f66044f4361b9f1f96f0053dd46cb7dce5e990a8", GitTreeState:"clean", BuildDate:"2022-06-15T14:15:38Z", GoVersion:"go1.18.3", Compiler:"gc", Platform:"linux/amd64"}
VM or VMI specifications: N/A
Cloud provider or hardware configuration: N/A
OS (e.g. from /etc/os-release): N/A
Kernel (e.g. uname -a): N/A
Install tools: N/A
Others: N/A

@sudharsanomprakash Thanks for raising this.
The current pattern is consistent with general Kubernetes pod lifecycle behavior. Is there a specific reason that might warrant a deviation from the established kubernetes pattern which you are looking to resolve?

The current pattern works fine with VMI resources as it will be re-deploy from VM definition irrespective of VM state. But if VM resource is deleted it won't redeploy. It would be better if delete operation on a VM resources can only be performed if VMI resource is not running or failed status. It prevents accidental delete of VM.
Is that acceptable or am I missing something ? 🤔

Because Kubernetes is a state controller and operates on Custom Resource Definitions (CRD) with individual custom resource objects per VM, this type of "delete protection" pattern does not conform to the kubernetes API and custom resource lifecycle.
If you are looking for safer change control for VM creation, termination, and deletion, a GitOps pattern or other DevOps approach may be the best path forward to reduce the risks of human error. In a GitOps scenario for example, you would create/delete VMs via pull request to your infrastructure as code repository where VMs are defined in yaml, terraform, pulumi, or other iac implementation and human actions against the kubernetes api itself could be reduced or eliminated. You could restrict user accounts from having delete privileges for example to prevent un-controlled delete activities.

Agreed. Thank you @usrbinkat


Change label for bug reports

Currently, bug reports are given the bug label by default. Proposing bug reports are marked as questions until they are confirmed as bugs.

Coverage remained the same at 82.219% when pulling 200b1ee3cec0d84ae27c5ededbc3e5cbfaf578c7 on bug-reports-label-question into fc150c85612660d20f14e823ca32495a75b0b312 on dev.