gz-sim
gz-sim copied to clipboard
[Garden] Download models in the background
🎉 New feature
- Closes https://github.com/gazebosim/gz-sim/issues/1260
Summary
it requires https://github.com/gazebosim/sdformat/pull/1027
I was trying to add this functionality to Citadel, but we need to load a simple world when we are downloading the models, this simple world will add a name to the Scene which in most of the cases is not going to match with the desired world name.
This will generate that SceneBroadcaster will create some topics with undesired names. Using the reset API I can create the desired topics but, the old topics are still there.
Example:
/clock
/gazebo/resource_paths
/gui/camera/pose
/stats
/world/empty_world/clock
/world/empty_world/dynamic_pose/info
/world/empty_world/pose/info
/world/empty_world/scene/deletion
/world/empty_world/scene/info
/world/empty_world/state
/world/empty_world/stats
/world/shapes/dynamic_pose/info
/world/shapes/pose/info
/world/shapes/scene/deletion
/world/shapes/scene/info
/world/shapes/state
Another issue happens in the Physics thread, sometimes some links are not added. Myabe a race condition ?
It builds on top of https://github.com/gazebosim/gz-sim/pull/1327
Checklist
- [ ] Signed all commits for DCO
- [ ] Added tests
- [ ] Added example and/or tutorial
- [ ] Updated documentation (as needed)
- [ ] Updated migration guide (as needed)
- [ ] Consider updating Python bindings (if the library has them)
- [ ]
codecheckpassed (See contributing) - [ ] All tests passed (See test coverage)
- [ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers
Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.
This PR is required https://github.com/gazebosim/sdformat/pull/1027
This PR will read the world name, this will allow to setup the topic and services with the right names
hi @ahcorde , I have experiment this PR and encounter some issues. at first, it runs fine with shapes.sdf, until I have trying with ardupilot_gazebo, please see this issue ,
then I have add many igndbg trace statements around those methods, I found some concurrency problem.
for shapes.sdf, maybe it's structure is too simple, everything is fine. it only create one postupdate worker thread.
server side log
slim:ardupilot_gazebo-1 xlla$ lldb ruby -- /usr/local/bin/ign gazebo -s -v 4 -r shapes.sdf error: module importing failed: invalid pathname (lldb) target create "ruby" Current executable set to 'ruby' (x86_64). (lldb) settings set -- target.run-args "/usr/local/bin/ign" "gazebo" "-s" "-v" "4" "-r" "shapes.sdf" (lldb) r Process 71222 launched: '/usr/local/opt/ruby/bin/ruby' (x86_64) [Msg] Ignition Gazebo Server v7.0.0~pre1 this->dataPtr->config.Source() 2 [Msg] Loading default world. [Msg] Loading SDF world file[/usr/local/Cellar/ignition-gazebo7/6.999.999~0~20220412/share/ignition/ignition-gazebo7/worlds/shapes.sdf]. [Msg] Loaded level [3] [Msg] No systems loaded from SDF, loading defaults [Dbg] [ServerConfig.cc:1004] Loaded (3) plugins from file [/Users/xlla/.ignition/gazebo/7/server.config] [Dbg] [Physics.cc:824] Loaded [ignition::physics::dartsim::Plugin] from library [/usr/local/Cellar/ignition-physics6/5.999.999~0~20220414/lib/ign-physics-6/engine-plugins/libignition-physics-dartsim-plugin.dylib] [Dbg] [SystemManager.cc:89] Loaded system [ignition::gazebo::systems::Physics] for entity [1] [Msg] Create service on [/world/shapes/create] [Msg] Remove service on [/world/shapes/remove] [Msg] Pose service on [/world/shapes/set_pose] [Msg] Pose service on [/world/shapes/set_pose_vector] [Msg] Light configuration service on [/world/shapes/light_config] [Msg] Physics service on [/world/shapes/set_physics] [Msg] SphericalCoordinates service on [/world/shapes/set_spherical_coordinates] [Msg] Enable collision service on [/world/shapes/enable_collision] [Msg] Disable collision service on [/world/shapes/disable_collision] [Msg] Material service on [/world/shapes/visual_config] [Msg] Material service on [/world/shapes/wheel_slip] [Dbg] [SystemManager.cc:89] Loaded system [ignition::gazebo::systems::UserCommands] for entity [1] [Dbg] [SystemManager.cc:89] Loaded system [ignition::gazebo::systems::SceneBroadcaster] for entity [1] [Msg] Serving world controls on [/world/shapes/control], [/world/shapes/control/state] and [/world/shapes/playback/control] [Msg] Serving GUI information on [/world/shapes/gui/info] [Msg] World [shapes] initialized with [default_physics] physics profile. [Msg] Serving world SDF generation service on [/world/shapes/generate_world_sdf] [Msg] Serving world names on [/gazebo/worlds] [Msg] Resource path add service on [/gazebo/resource_paths/add]. [Msg] Resource path get service on [/gazebo/resource_paths/get]. [Msg] Resource paths published on [/gazebo/resource_paths]. [Msg] Server control service on [/server_control]. [Msg] Download models in parallel has finished. Now you can start the simulation [Msg] Found no publishers on /stats, adding root stats topic [Msg] Found no publishers on /clock, adding root clock topic [Dbg] [SimulationRunner.cc:494] Creating PostUpdate worker threads: 2 [Dbg] [SimulationRunner.cc:505] Creating postupdate worker thread (0) [Msg] Serving scene information on [/world/shapes/scene/info] [Msg] Serving graph information on [/world/shapes/scene/graph] [Msg] Serving full state on [/world/shapes/state] [Msg] Serving full state (async) on [/world/shapes/state_async] [Msg] Publishing scene information on [/world/shapes/scene/info] [Msg] Publishing entity deletions on [/world/shapes/scene/deletion] [Msg] Publishing state changes on [/world/shapes/state] [Msg] Publishing pose messages on [/world/shapes/pose/info] [Msg] Publishing dynamic pose messages on [/world/shapes/dynamic_pose/info] [Dbg] [SimulationRunner.cc:259] Rewinding simulation back to time zero. [Dbg] [SceneBroadcaster.cc:349] publish just periodic change components [Dbg] [EntityComponentManager.cc:1617] Updated state thread iterators: 8 numEntities: 28 threads processing around 4 entities each. [Dbg] [EntityComponentManager.cc:1676] after calculate state thread load [Dbg] [EntityComponentManager.cc:1701] total workers: 7 [Dbg] [EntityComponentManager.cc:1705] spawn worker 0 [Dbg] [EntityComponentManager.cc:1705] spawn worker 1 [Dbg] [EntityComponentManager.cc:1705] spawn worker 2 [Dbg] [EntityComponentManager.cc:1705] spawn worker 3 [Dbg] [EntityComponentManager.cc:1705] spawn worker 4 [Dbg] [EntityComponentManager.cc:1705] spawn worker 5 [Dbg] [EntityComponentManager.cc:1705] spawn worker 6 [Dbg] [EntityComponentManager.cc:1711] wait workers finish [Dbg] [EntityComponentManager.cc:1717] all workers finished [Dbg] [SceneBroadcaster.cc:336] publish full state [Dbg] [EntityComponentManager.cc:1676] after calculate state thread load [Dbg] [EntityComponentManager.cc:1701] total workers: 7 [Dbg] [EntityComponentManager.cc:1705] spawn worker 0 [Wrn] [Component.hh:144] [Dbg] [EntityComponentManager.cc:1705] spawn worker 1 Trying to serialize component with data type [N3sdf3v135WorldE], which doesn't have `operator
for iris_arducopter_runway.world, it create five postupdate worker thread, the trace log get fuzzy, it seems SceneBroadcaster.cc Line 349 got launched after Line 346 launched immediately, then EntityComponentManagerPrivate::CalculateStateThreadLoad invoked concurrently.
around Line 336
else if (!_info.paused)
{
IGN_PROFILE("SceneBroadcast::PostUpdate UpdateState");
auto periodicComponents = _manager.ComponentTypesWithPeriodicChanges();
igndbg << "publish just periodic change components " << std::endl;
_manager.State(*this->dataPtr->stepMsg.mutable_state(),
{}, periodicComponents);
}
around Line 349
if (this->dataPtr->stateServiceRequest)
{
igndbg << "publish full state " << std::endl;
_manager.State(*this->dataPtr->stepMsg.mutable_state(), {}, {}, true);
}
server side log
slim:ardupilot_gazebo-1 xlla$ lldb ruby -- /usr/local/bin/ign gazebo -s -v 4 -r iris_arducopter_runway.world error: module importing failed: invalid pathname (lldb) target create "ruby" Current executable set to 'ruby' (x86_64). (lldb) settings set -- target.run-args "/usr/local/bin/ign" "gazebo" "-s" "-v" "4" "-r" "iris_arducopter_runway.world" (lldb) r Process 69775 launched: '/usr/local/opt/ruby/bin/ruby' (x86_64) [Msg] Ignition Gazebo Server v7.0.0~pre1 this->dataPtr->config.Source() 2 [Msg] Loading default world. [Msg] Loading SDF world file[/Users/xlla/git/ardupilot_gazebo-1/worlds/iris_arducopter_runway.world]. [Msg] Loaded level [3] [Msg] No systems loaded from SDF, loading defaults [Dbg] [ServerConfig.cc:1004] Loaded (3) plugins from file [/Users/xlla/.ignition/gazebo/7/server.config] [Dbg] [Physics.cc:824] Loaded [ignition::physics::dartsim::Plugin] from library [/usr/local/Cellar/ignition-physics6/5.999.999~0~20220414/lib/ign-physics-6/engine-plugins/libignition-physics-dartsim-plugin.dylib] [Dbg] [SystemManager.cc:89] Loaded system [ignition::gazebo::systems::Physics] for entity [1] [Msg] Create service on [/world/iris_arducopter_runway/create] [Msg] Remove service on [/world/iris_arducopter_runway/remove] [Msg] Pose service on [/world/iris_arducopter_runway/set_pose] [Msg] Pose service on [/world/iris_arducopter_runway/set_pose_vector] [Msg] Light configuration service on [/world/iris_arducopter_runway/light_config] [Msg] Physics service on [/world/iris_arducopter_runway/set_physics] [Msg] SphericalCoordinates service on [/world/iris_arducopter_runway/set_spherical_coordinates] [Msg] Enable collision service on [/world/iris_arducopter_runway/enable_collision] [Msg] Disable collision service on [/world/iris_arducopter_runway/disable_collision] [Msg] Material service on [/world/iris_arducopter_runway/visual_config] [Msg] Material service on [/world/iris_arducopter_runway/wheel_slip] [Dbg] [SystemManager.cc:89] Loaded system [ignition::gazebo::systems::UserCommands] for entity [1] [Dbg] [SystemManager.cc:89] Loaded system [ignition::gazebo::systems::SceneBroadcaster] for entity [1] [Msg] Serving world controls on [/world/iris_arducopter_runway/control], [/world/iris_arducopter_runway/control/state] and [/world/iris_arducopter_runway/playback/control] [Msg] Serving GUI information on [/world/iris_arducopter_runway/gui/info] [Msg] World [iris_arducopter_runway] initialized with [default_physics] physics profile. [Msg] Serving world SDF generation service on [/world/iris_arducopter_runway/generate_world_sdf] [Msg] Serving world names on [/gazebo/worlds] [Msg] Resource path add service on [/gazebo/resource_paths/add]. [Msg] Resource path get service on [/gazebo/resource_paths/get]. [Msg] Resource paths published on [/gazebo/resource_paths]. [Msg] Server control service on [/server_control]. [Dbg] [SystemManager.cc:89] Loaded system [ignition::gazebo::systems::JointStatePublisher] for entity [9] [Dbg] [SystemManager.cc:89] Loaded system [ignition::gazebo::systems::LiftDrag] for entity [9] [Dbg] [SystemManager.cc:61] This system Plugin [ignition::gazebo::systems::LiftDrag] is already loaded in this entity [9] [Dbg] [SystemManager.cc:61] This system Plugin [ignition::gazebo::systems::LiftDrag] is already loaded in this entity [9] [Dbg] [SystemManager.cc:61] This system Plugin [ignition::gazebo::systems::LiftDrag] is already loaded in this entity [9] [Dbg] [SystemManager.cc:61] This system Plugin [ignition::gazebo::systems::LiftDrag] is already loaded in this entity [9] [Dbg] [SystemManager.cc:61] This system Plugin [ignition::gazebo::systems::LiftDrag] is already loaded in this entity [9] [Dbg] [SystemManager.cc:61] This system Plugin [ignition::gazebo::systems::LiftDrag] is already loaded in this entity [9] [Dbg] [SystemManager.cc:61] This system Plugin [ignition::gazebo::systems::LiftDrag] is already loaded in this entity [9] [Msg] ApplyJointForce subscribing to Double messages on [/model/iris/joint/rotor_0_joint/cmd_force] [Dbg] [SystemManager.cc:89] Loaded system [ignition::gazebo::systems::ApplyJointForce] for entity [9] [Dbg] [SystemManager.cc:61] This system Plugin [ignition::gazebo::systems::ApplyJointForce] is already loaded in this entity [9] [Dbg] [SystemManager.cc:61] This system Plugin [ignition::gazebo::systems::ApplyJointForce] is already loaded in this entity [9] [Dbg] [SystemManager.cc:61] This system Plugin [ignition::gazebo::systems::ApplyJointForce] is already loaded in this entity [9] [Dbg] [SystemManager.cc:89] Loaded system [ArduPilotPlugin] for entity [9] [Dbg] [Physics.cc:824] Loaded [ignition::physics::dartsim::Plugin] from library [/usr/local/Cellar/ignition-physics6/5.999.999~0~20220414/lib/ign-physics-6/engine-plugins/libignition-physics-dartsim-plugin.dylib] [Dbg] [SystemManager.cc:89] Loaded system [ignition::gazebo::systems::Physics] for entity [1] [Msg] Create service on [/world/iris_arducopter_runway/create] [Msg] Remove service on [/world/iris_arducopter_runway/remove] [Msg] Pose service on [/world/iris_arducopter_runway/set_pose] [Msg] Pose service on [/world/iris_arducopter_runway/set_pose_vector] [Msg] Light configuration service on [/world/iris_arducopter_runway/light_config] [Msg] Physics service on [/world/iris_arducopter_runway/set_physics] [Msg] SphericalCoordinates service on [/world/iris_arducopter_runway/set_spherical_coordinates] [Msg] Enable collision service on [/world/iris_arducopter_runway/enable_collision] [Msg] Disable collision service on [/world/iris_arducopter_runway/disable_collision] [Msg] Material service on [/world/iris_arducopter_runway/visual_config] [Msg] Material service on [/world/iris_arducopter_runway/wheel_slip] [Dbg] [SystemManager.cc:89] Loaded system [ignition::gazebo::systems::UserCommands] for entity [1] [Dbg] [SystemManager.cc:89] Loaded system [ignition::gazebo::systems::SceneBroadcaster] for entity [1] [Dbg] [SystemManager.cc:89] Loaded system [ignition::gazebo::systems::Imu] for entity [1] [Msg] Download models in parallel has finished. Now you can start the simulation [Msg] Found no publishers on /stats, adding root stats topic [Msg] Found no publishers on /clock, adding root clock topic [Dbg] [SimulationRunner.cc:494] Creating PostUpdate worker threads: 6 [Dbg] [SimulationRunner.cc:505] Creating postupdate worker thread (0) [Dbg] [SimulationRunner.cc:505] Creating postupdate worker thread (1) [Dbg] [SimulationRunner.cc:505] Creating postupdate worker thread (2) [Dbg] [SimulationRunner.cc:505] Creating postupdate worker thread (3) [Dbg] [SimulationRunner.cc:505] Creating postupdate worker thread (4) [Dbg] [ArduPilotPlugin.cc:821] Computed IMU topic to be: world/iris_arducopter_runway/model/iris/link/imu_link/sensor/imu_sensor/imu [Msg] Using [ode] collision detector [Msg] Using [DantzigBoxedLcpSolver] solver. [Msg] Serving scene information on [/world/iris_arducopter_runway[Dbg] [ImuSensor.cc:148] IMU data for [iris::imu_link::imu_sensor/world/iris_arducopter_runway] advertised on [world/iris_arducopter_runway/model/iris/link/imu_link/sensor/imu_sensor/imu] [Msg] Serving scene information on []/world/iris_arducopter_runway /scene/info] [Msg] Serving graph information on [/world/iris_arducopter_runway/scene/graph]Serving graph information on [/world/iris_arducopter_runway/scene/graph] [Msg] Serving full state on [/world/iris_arducopter_runway/state/][Msg] ][Msg] Serving full state on [/world/iris_arducopter_runway/world/iris_arducopter_runway/state] [Msg] Serving full state (async) on [Serving full state (async) on [[Msg] /Serving full state (async) on [state_asyncServing full state (async) on [state_async/world/iris_arducopter_runway]/world/iris_arducopter_runway] / /state_async] [Msg] Publishing scene information on [/world/iris_arducopter_runway/scene/info]
Publishing scene information on [/world/iris_arducopter_runway/scene/info] [Msg] [Msg] [Msg] /world/iris_arducopter_runway/scene/deletionPublishing entity deletions on []/world/iris_arducopter_runway/scene/deletion [Msg] Publishing state changes on [Publishing state changes on [/world/iris_arducopter_runway/state/world/iris_arducopter_runway/state]]
[Msg] Publishing pose messages on [Publishing pose messages on [/world/iris_arducopter_runway/world/iris_arducopter_runway//pose/infopose/info]]
[Msg] Publishing dynamic pose messages on [Publishing dynamic pose messages on [/world/iris_arducopter_runway//dynamic_pose/infodynamic_pose/info]]
[Dbg] [SimulationRunner.cc:259] Rewinding simulation back to time zero. [Dbg] [SceneBroadcaster.cc:336] [Dbg] [SceneBroadcaster.cc:336] [Dbg] [SceneBroadcaster.cc:349] publish full state publish just periodic change components publish full state publish just periodic change components
[Dbg] [EntityComponentManager.cc:1617] [Dbg] [EntityComponentManager.cc:1617] [Dbg] [EntityComponentManager.cc:1676] Updated state thread iterators: after calculate state thread load Updated state thread iterators: after calculate state thread load numEntities: numEntities: 38 threads processing around threads processing around [Dbg] [EntityComponentManager.cc:1701] 5total workers: entities each.
[Dbg] [EntityComponentManager.cc:1705] spawn worker spawn worker [Dbg] [EntityComponentManager.cc:1676] 0 after calculate state thread load after calculate state thread load
[Dbg] [EntityComponentManager.cc:1701] [Dbg] [EntityComponentManager.cc:1701] [Dbg] [EntityComponentManager.cc:1705] total workers: spawn worker 81
[Dbg] [EntityComponentManager.cc:1705] spawn worker spawn worker [Dbg] [EntityComponentManager.cc:1705] 0spawn worker 0spawn worker 2
[Wrn] [Component.hh:144] Trying to serialize component with data type [N3sdf3v135WorldE], which doesn't have
operator<<. Component will not be serialized. [Dbg] [EntityComponentManager.cc:1705] [Dbg] [EntityComponentManager.cc:1705] [Dbg] [EntityComponentManager.cc:1705] spawn worker spawn worker 3131[Dbg] [EntityComponentManager.cc:1705] [Dbg] [EntityComponentManager.cc:1705] [Dbg] [EntityComponentManager.cc:1705] 42
[Dbg] [EntityComponentManager.cc:1705] [Dbg] [EntityComponentManager.cc:1705] [Dbg] [EntityComponentManager.cc:1705] spawn worker spawn worker 53
[Dbg] [EntityComponentManager.cc:1705] [Dbg] [EntityComponentManager.cc:1705] [Dbg] [EntityComponentManager.cc:1705] spawn worker 46
[Dbg] [EntityComponentManager.cc:1705] [Dbg] [EntityComponentManager.cc:1705] [Dbg] [EntityComponentManager.cc:1705] spawn worker 57
[Dbg] [EntityComponentManager.cc:1705] [Dbg] [EntityComponentManager.cc:1705] [Dbg] [EntityComponentManager.cc:1705] spawn worker spawn worker 68
Process 69775 stopped
- thread #32, stop reason = EXC_BAD_ACCESS (code=1, address=0x10)
frame #0: 0x0000000108734148 libignition-gazebo7.7.dylib
void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ignition::gazebo::v7::EntityComponentManager::State(ignition::msgs::SerializedStateMap&, std::__1::unordered_set<unsigned long long, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<unsigned long long> > const&, std::__1::unordered_set<unsigned long long, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<unsigned long long> > const&, bool) const::$_0, std::__1::__hash_map_iterator<std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, unsigned long, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<unsigned long long const, unsigned long> > > >, void*>*> >, std::__1::__hash_map_iterator<std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, unsigned long, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<unsigned long long const, unsigned long> > > >, void*>*> > > >(void*) + 168 libignition-gazebo7.7.dylibstd::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct >, ignition::gazebo::v7::EntityComponentManager::State(ignition::msgs::SerializedStateMap&, std::__1::unordered_set<unsigned long long, std::__1::hash, std::__1::equal_to , std::__1::allocator > const&, std::__1::unordered_set<unsigned long long, std::__1::hash , std::__1::equal_to , std::__1::allocator > const&, bool) const::$_0, std::__1::__hash_map_iterator<std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, unsigned long, std::__1::hash , std::__1::equal_to , std::__1::allocator<std::__1::pair<unsigned long long const, unsigned long> > > >, void*>> >, std::__1::__hash_map_iterator<std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, unsigned long, std::__1::hash , std::__1::equal_to >*> > > >: -> 0x108734148 <+168>: movq 0x10(%rbx), %r9 0x10873414c <+172>: movq 0x8(%r12), %rdi 0x108734151 <+177>: cmpq $0x0, 0x18(%rdi) 0x108734156 <+182>: je 0x108734120 ; <+128>, std::__1::allocator<std::__1::pair<unsigned long long const, unsigned long> > > >, void
after revert this PR, iris_arducopter_runway.world runs fine.
Some issues I've found:
- Same as comment https://github.com/gazebosim/gz-sim/pull/1464#issuecomment-1138946824
- When using the resource spawner, the sim freezes while the item is being loaded and am not able to interact with the scene

- When using the create service call, I'm able to interact with the scene but the entities in the scene are frozen

here's the service command I used:
ign service -s /world/shapes/create \
--reqtype ignition.msgs.EntityFactory \
--reptype ignition.msgs.Boolean \
--timeout 300 \
--req 'sdf: '\
'"<?xml version=\"1.0\" ?>'\
'<sdf version=\"1.8\">'\
'<include>'\
'<uri>'\
'https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/dynamo_x4_sensor_config_1'\
'</uri>'\
'</include>'\
'</sdf>" '\
'pose: {position: {z: 5}} '\
'name: "copter" '
Hi @xlla,
I created this PR https://github.com/ArduPilot/ardupilot_gazebo/pull/27 to fix all the issues that might have. I didn't try to fly the drone, but it's not crashing. Can you try it ?
@jennuine thank you for pointing me these two uses cases, I didn't work on them, I included some code to fix them, now the simulation should not be blocked during the download, maybe you can feel some issues when the model is loaded in rendering but it's something which is not targeting this PR.
This PR depends on this branch other PR https://github.com/gazebosim/gz-sim/pull/1355
maybe you can feel some issues when the model is loaded in rendering but it's something which is not targeting this PR.
Can you please clarify?
I think that the merge is okay. It may be cleaner to rebase on main at this point, though?
This seems odd, did it come in from the merge from main?
/github/workspace/src/Server.cc: In member function 'void gz::sim::v7::Server::Init()':
/github/workspace/src/Server.cc:207:43: error: 'class sdf::v13::Root' has no member named 'WorldNameFromFile'
207 | auto errors2 = this->dataPtr->sdfRoot.WorldNameFromFile(
This seems odd, did it come in from the merge from
main?/github/workspace/src/Server.cc: In member function 'void gz::sim::v7::Server::Init()': /github/workspace/src/Server.cc:207:43: error: 'class sdf::v13::Root' has no member named 'WorldNameFromFile' 207 | auto errors2 = this->dataPtr->sdfRoot.WorldNameFromFile(
@mjcarroll This is not merged yet https://github.com/gazebosim/sdformat/pull/1027
@mjcarroll This is not merged yet https://github.com/gazebosim/sdformat/pull/1027
Ah, sorry didn't catch that. Looks like it has an approval, do you want to merge/release or wait for @chapulina ?
do you want to merge/release or wait for @chapulina ?
Don't wait for me on the SDF PR 🚢
@ahcorde see #1669 as an alternative that doesn't need the restart feature.
Closing in favor of https://github.com/gazebosim/gz-sim/pull/1669