Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Runtime Crash with protobuf on gimbal.sdf launch (Ubuntu 22, GZ Harmonic and humble) #77

Closed
Ryanf55 opened this issue Jan 20, 2024 · 13 comments · Fixed by #79
Closed

Runtime Crash with protobuf on gimbal.sdf launch (Ubuntu 22, GZ Harmonic and humble) #77

Ryanf55 opened this issue Jan 20, 2024 · 13 comments · Fixed by #79

Comments

@Ryanf55
Copy link
Contributor

Ryanf55 commented Jan 20, 2024

Bug report

Issue details

Trying to build+launch gazebo harmonic with the gimbal.sdf world has a crash on Ubuntu 22.

Version
commit 1caa507 (origin/ros2, ros2)

Platform
[ ] All
[ ] AntennaTracker
[x ] Copter
[ ] Plane
[ ] Rover
[ ] Submarine

Logs

$ gz sim -r gimbal.sdf
[libprotobuf ERROR google/protobuf/descriptor_database.cc:175] Symbol name "gz.sim.private_msgs.PerformerAffinity" conflicts with the existing symbol "gz.sim.private_msgs.PerformerAffinity".
[libprotobuf FATAL google/protobuf/descriptor.cc:1382] CHECK failed: GeneratedDatabase()->Add(encoded_file_descriptor, size): 
terminate called after throwing an instance of 'google::protobuf::FatalException'
  what():  CHECK failed: GeneratedDatabase()->Add(encoded_file_descriptor, size): 
Stack trace (most recent call last):
#31   Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7f6d4ad14c60, in gz::sim::v8::SdfEntityCreator::CreateEntities(sdf::v14::Model const*)
#30   Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7f6d4acecf55, in 
#29   Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7f6d4ad4d268, in gz::sim::v8::SimulationRunner::LoadPlugins(unsigned long, std::vector<sdf::v14::Plugin, std::allocator<sdf::v14::Plugin> > const&)
#28   Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7f6d4ad59d33, in gz::sim::v8::SystemManager::LoadPlugin(unsigned long, sdf::v14::Plugin const&)
#27   Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7f6d4ad594e9, in gz::sim::v8::SystemLoader::LoadPlugin(sdf::v14::Plugin const&)
#26   Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7f6d4ad584a8, in 
#25   Object "/lib/x86_64-linux-gnu/libgz-plugin2-loader.so.2", at 0x7f6d4b2da56f, in gz::plugin::Loader::LoadLib(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)
#24   Object "/lib/x86_64-linux-gnu/libgz-plugin2-loader.so.2", at 0x7f6d4b2d94dd, in gz::plugin::Loader::Implementation::LoadLib(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)
#23   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f6d4f6906c7, in dlopen
#22   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f6d4f69012d, in 
#21   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f6d4f774b62, in _dl_catch_error
#20   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f6d4f774a97, in _dl_catch_exception
#19   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f6d4f69063b, in 
#18   Object "/lib64/ld-linux-x86-64.so.2", at 0x7f6d4fe4234d, in 
#17   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f6d4f774a97, in _dl_catch_exception
#16   Object "/lib64/ld-linux-x86-64.so.2", at 0x7f6d4fe41ff5, in 
#15   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f6d4f774af4, in _dl_catch_exception
#14   Object "/lib64/ld-linux-x86-64.so.2", at 0x7f6d4fe3a567, in 
#13   Object "/lib64/ld-linux-x86-64.so.2", at 0x7f6d4fe3a47d, in 
#12   Object "/lib/x86_64-linux-gnu/libgz-sim7.so.7", at 0x7f6d072b3d08, in 
#11   Object "/lib/x86_64-linux-gnu/libprotobuf.so.23", at 0x7f6d4a181951, in google::protobuf::internal::AddDescriptors(google::protobuf::internal::DescriptorTable const*)
#10   Object "/lib/x86_64-linux-gnu/libprotobuf.so.23", at 0x7f6d4a181966, in google::protobuf::internal::AddDescriptors(google::protobuf::internal::DescriptorTable const*)
#9    Object "/lib/x86_64-linux-gnu/libprotobuf.so.23", at 0x7f6d4a092c35, in 
#8    Object "/lib/x86_64-linux-gnu/libgcc_s.so.1", at 0x7f6d4bffa2dc, in _Unwind_Resume
#7    Object "/lib/x86_64-linux-gnu/libgcc_s.so.1", at 0x7f6d4bff9883, in 
#6    Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f6d4bcad958, in __gxx_personality_v0
#5    Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f6d4bcad1e8, in 
#4    Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f6d4bcae20b, in 
#3    Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f6d4bca2b9d, in 
#2    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f6d4f6287f2, in abort
#1    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f6d4f642475, in raise
#0    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f6d4f6969fc, in pthread_kill
Aborted (Signal sent by tkill() 320400 1000)

I've also gotten this error:

libEGL warning: egl: failed to create dri2 screen
libEGL warning: egl: failed to create dri2 screen
libEGL warning: egl: failed to create dri2 screen
libEGL warning: egl: failed to create dri2 screen
Stack trace (most recent call last):
#28   Object "[0xffffffffffffffff]", at 0xffffffffffffffff, in 
#27   Object "gz sim server", at 0x559dd8e571c4, in _start
#26   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f1cb2c29e3f, in __libc_start_main
#25   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f1cb2c29d8f, in 
#24   Object "gz sim server", at 0x559dd8e5717e, in 
#23   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7f1cb30a8e19, in ruby_run_node
#22   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7f1cb30a5317, in 
#21   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7f1cb323a30c, in rb_vm_exec
#20   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7f1cb3234c96, in 
#19   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7f1cb3231fc5, in 
#18   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7f1cb322fc34, in 
#17   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7f1cb317ba1e, in 
#16   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7f1cb30a69ac, in rb_protect
#15   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7f1cb323ec61, in rb_yield
#14   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7f1cb323a30c, in rb_vm_exec
#13   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7f1cb3234c96, in 
#12   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7f1cb3231fc5, in 
#11   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7f1cb322fc34, in 
#10   Object "/usr/lib/x86_64-linux-gnu/ruby/3.0.0/fiddle.so", at 0x7f1cb2e3a44b, in 
#9    Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7f1cb31fd088, in rb_nogvl
#8    Object "/usr/lib/x86_64-linux-gnu/ruby/3.0.0/fiddle.so", at 0x7f1cb2e39d6b, in 
#7    Object "/lib/x86_64-linux-gnu/libffi.so.8", at 0x7f1caf5f2492, in 
#6    Object "/lib/x86_64-linux-gnu/libffi.so.8", at 0x7f1caf5f5e2d, in 
#5    Object "/usr/lib/x86_64-linux-gnu/libgz-sim8-gz.so.8.0.0", at 0x7f1caf5967b2, in runServer
#4    Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7f1cae337cf5, in 
#3    Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7f1cae3437c2, in gz::sim::v8::SimulationRunner::Run(unsigned long)
#2    Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7f1cae34fd10, in gz::sim::v8::SimulationRunner::Step(gz::sim::v8::UpdateInfo const&)
#1    Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7f1cae342bb1, in gz::sim::v8::SimulationRunner::UpdateSystems()
#0    Object "/home/ryan/Dev/ros2_ws/src/ardupilot_gazebo/build/libCameraZoomPlugin.so", at 0x7f1c6c166f48, in gz::sim::v8::systems::CameraZoomPlugin::Impl::InitialiseCamera()
Segmentation fault (Address not mapped to object [(nil)])

Environment

Ubuntu 22.04.

ryan@B650-970:~/Dev/ros2_ws/src/ardupilot_gazebo$ echo $GZ_VERSION 
harmonic
ryan@B650-970:~/Dev/ros2_ws/src/ardupilot_gazebo$ echo $GZ_SIM_RESOURCE_PATH 
/home/ryan/Dev/ros2_ws/src/ardupilot_gazebo/models:/home/ryan/Dev/ros2_ws/src/ardupilot_gazebo/worlds:/home/ryan/Dev/ros2_ws/src/ardupilot_gazebo/models:/home/ryan/Dev/ros2_ws/src/ardupilot_gazebo/worlds:
ryan@B650-970:~/Dev/ros2_ws/src/ardupilot_gazebo$ echo $GZ_SIM_SYSTEM_PLUGIN_PATH 
/home/ryan/Dev/ros2_ws/src/ardupilot_gazebo/build:/home/ryan/Dev/ros2_ws/src/ardupilot_gazebo/build:
Package: libprotobuf-dev
Version: 3.12.4-1ubuntu7.22.04.1

Debugging

I tried the docs for GDB after building the app in debug, but it didn't give me a stack trace.
https://gazebosim.org/api/gazebo/3.0/debugging.html

ryan@B650-970:~/Dev/ros2_ws/src/ardupilot_gazebo$ gdb ruby
GNU gdb (Ubuntu 12.1-0ubuntu1~22.04) 12.1
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ruby...
(No debugging symbols found in ruby)
(gdb) r /usr/bin/gz sim -r gimbal.sdf
Starting program: /usr/bin/ruby /usr/bin/gz sim -r gimbal.sdf
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Detaching after fork from child process 326800]
[Detaching after fork from child process 326801]
libEGL warning: egl: failed to create dri2 screen
libEGL warning: egl: failed to create dri2 screen
libEGL warning: egl: failed to create dri2 screen
libEGL warning: egl: failed to create dri2 screen
Stack trace (most recent call last):
#29   Object "[0xffffffffffffffff]", at 0xffffffffffffffff, in 
#28   Object "gz sim server", at 0x5555555551c4, in _start
#27   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7ffff7829e3f, in __libc_start_main
#26   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7ffff7829d8f, in 
#25   Object "gz sim server", at 0x55555555517e, in 
#24   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7ffff7ca8e19, in ruby_run_node
#23   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7ffff7ca5317, in 
#22   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7ffff7e3a30c, in rb_vm_exec
#21   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7ffff7e34c96, in 
#20   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7ffff7e31fc5, in 
#19   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7ffff7e2fc34, in 
#18   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7ffff7d7ba1e, in 
#17   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7ffff7ca69ac, in rb_protect
#16   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7ffff7e3ec61, in rb_yield
#15   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7ffff7e3a30c, in rb_vm_exec
#14   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7ffff7e34c96, in 
#13   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7ffff7e31fc5, in 
#12   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7ffff7e2fc34, in 
#11   Object "/usr/lib/x86_64-linux-gnu/ruby/3.0.0/fiddle.so", at 0x7ffff7a3844b, in 
#10   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7ffff7dfd088, in rb_nogvl
#9    Object "/usr/lib/x86_64-linux-gnu/ruby/3.0.0/fiddle.so", at 0x7ffff7a37d6b, in 
#8    Object "/lib/x86_64-linux-gnu/libffi.so.8", at 0x7ffff419e492, in 
#7    Object "/lib/x86_64-linux-gnu/libffi.so.8", at 0x7ffff41a1e2d, in 
#6    Object "/usr/lib/x86_64-linux-gnu/libgz-sim8-gz.so.8.0.0", at 0x7ffff41427b2, in runServer
#5    Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7ffff2f37cf5, in 
#4    Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7ffff2f437c2, in gz::sim::v8::SimulationRunner::Run(unsigned long)
#3    Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7ffff2f4fd10, in gz::sim::v8::SimulationRunner::Step(gz::sim::v8::UpdateInfo const&)
#2    Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7ffff2f42bb1, in gz::sim::v8::SimulationRunner::UpdateSystems()
#1    Object "/home/ryan/Dev/ros2_ws/src/ardupilot_gazebo/build/libCameraZoomPlugin.so", at 0x7fffaf6a9aa9, in gz::sim::v8::systems::CameraZoomPlugin::PreUpdate(gz::sim::v8::UpdateInfo const&, gz::sim::v8::EntityComponentManager&)
#0    Object "/home/ryan/Dev/ros2_ws/src/ardupilot_gazebo/build/libCameraZoomPlugin.so", at 0x7fffaf6a825c, in gz::sim::v8::systems::CameraZoomPlugin::Impl::InitialiseCamera()
Segmentation fault (Address not mapped to object [(nil)])
[Inferior 1 (process 326797) exited normally]
(gdb) bt
No stack.

Next step is to compile gazebo from source.
https://gazebosim.org/docs/harmonic/install_ubuntu_src#building-the-gazebo-libraries

@Ryanf55 Ryanf55 changed the title Runtime Crash with protobuf Runtime Crash with protobuf on gimbal.sdf launch (Ubuntu 22, GZ Harmonic) Jan 20, 2024
@Ryanf55 Ryanf55 changed the title Runtime Crash with protobuf on gimbal.sdf launch (Ubuntu 22, GZ Harmonic) Runtime Crash with protobuf on gimbal.sdf launch (Ubuntu 22, GZ Harmonic and humble) Jan 20, 2024
@davidbitton
Copy link

@Ryanf55 i'm seeing an error when attempting to start sim w/ iris_runway.sdf.

WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1705794792.190421  795402 descriptor_database.cc:633] File already exists in database: gz/msgs/time.proto
F0000 00:00:1705794792.190474  795402 descriptor.cc:2122] Check failed: GeneratedDatabase()->Add(encoded_file_descriptor, size)

I omitted the stack trace. I'm hoping it's the "same" issue.

@Ryanf55
Copy link
Contributor Author

Ryanf55 commented Jan 21, 2024

Thanks for the extra info. I'm working with the Gazebo folks to get a debug build of gazebo. It doesn't yet compile on my dev machine (Ubuntu 22).
gazebosim/gz-rendering#962

Once it does, we should be able to chase it down quick in the debugger.

@srmainwaring
Copy link
Collaborator

@Ryanf55 is this an ArduPilot plugin issue or can you reproduce it running the one of the Gazebo Sim examples?

Conflicting protobuf libraries have come up before;

If you have more than one version of Gazebo installed concurrently that can cause problems. It's also a known issue with Gazebo that multiple versions of Python libraries are linked against (different libraries require different Python versions).

With this type of problem debugging may be less useful, as what generally happens is you break in one of the dlopen() (or linux equivalent) statements, probably in the plugin loader. I'd start with running

LD_TRACE_LOADED_OBJECTS=1 gz sim -v4 -r gimbal.sdf

or one of the other library load debug commands recommended here: https://stackoverflow.com/questions/22784635/equivalent-of-dyld-print-libraries-on-linux

and inspect what gets loaded from where. The equivalent on macOS is

DYLD_PRINT_LIBRARIES = 1 gz sim -v4 -r gimbal.sdf

@davidbitton
Copy link

@srmainwaring, at least for me, I can compile the ardupilot plugin. This failure is at runtime. I think it's the Adrupilot plugin and the exception is misleading. I need to debug the code.

@Ryanf55
Copy link
Contributor Author

Ryanf55 commented Jan 21, 2024

LD_TRACE_LOADED_OBJECTS=1 gz sim -v4 -r gimbal.sdf

After building the ros2 branch in a clean terminal with GZ_VERSION=harmonic:

ryan@B650-970:~/Dev/ros2_ws/src/ardupilot_gazebo$ gz sim -r gimbal.sdf
libEGL warning: egl: failed to create dri2 screen
libEGL warning: egl: failed to create dri2 screen
libEGL warning: egl: failed to create dri2 screen
libEGL warning: egl: failed to create dri2 screen
Stack trace (most recent call last):
#29   Object "[0xffffffffffffffff]", at 0xffffffffffffffff, in 
#28   Object "gz sim server", at 0x5640bf1c61c4, in _start
#27   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f1711e29e3f, in __libc_start_main
#26   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f1711e29d8f, in 
#25   Object "gz sim server", at 0x5640bf1c617e, in 
#24   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7f17122a8e19, in ruby_run_node
#23   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7f17122a5317, in 
#22   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7f171243a30c, in rb_vm_exec
#21   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7f1712434c96, in 
#20   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7f1712431fc5, in 
#19   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7f171242fc34, in 
#18   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7f171237ba1e, in 
#17   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7f17122a69ac, in rb_protect
#16   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7f171243ec61, in rb_yield
#15   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7f171243a30c, in rb_vm_exec
#14   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7f1712434c96, in 
#13   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7f1712431fc5, in 
#12   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7f171242fc34, in 
#11   Object "/usr/lib/x86_64-linux-gnu/ruby/3.0.0/fiddle.so", at 0x7f17125a744b, in 
#10   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7f17123fd088, in rb_nogvl
#9    Object "/usr/lib/x86_64-linux-gnu/ruby/3.0.0/fiddle.so", at 0x7f17125a6d6b, in 
#8    Object "/lib/x86_64-linux-gnu/libffi.so.8", at 0x7f1712598492, in 
#7    Object "/lib/x86_64-linux-gnu/libffi.so.8", at 0x7f171259be2d, in 
#6    Object "/usr/lib/x86_64-linux-gnu/libgz-sim8-gz.so.8.0.0", at 0x7f17120757b2, in runServer
#5    Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7f170d137cf5, in 
#4    Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7f170d1437c2, in gz::sim::v8::SimulationRunner::Run(unsigned long)
#3    Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7f170d14fd10, in gz::sim::v8::SimulationRunner::Step(gz::sim::v8::UpdateInfo const&)
#2    Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7f170d142bb1, in gz::sim::v8::SimulationRunner::UpdateSystems()
#1    Object "/home/ryan/Dev/ros2_ws/src/ardupilot_gazebo/build/libCameraZoomPlugin.so", at 0x7f16c9882aa9, in gz::sim::v8::systems::CameraZoomPlugin::PreUpdate(gz::sim::v8::UpdateInfo const&, gz::sim::v8::EntityComponentManager&)
#0    Object "/home/ryan/Dev/ros2_ws/src/ardupilot_gazebo/build/libCameraZoomPlugin.so", at 0x7f16c988125c, in gz::sim::v8::systems::CameraZoomPlugin::Impl::InitialiseCamera()
Segmentation fault (Address not mapped to object [(nil)])
ryan@B650-970:~/Dev/ros2_ws/src/ardupilot_gazebo$ gz sim -v 4 -r gimbal.sdf
[Msg] Gazebo Sim GUI    v8.0.0
[Dbg] [gz.cc:166] Subscribing to [/gazebo/starting_world].
[Dbg] [gz.cc:168] Waiting for a world to be set from the GUI...
[Dbg] [Gui.cc:263] Waiting for subscribers to [/gazebo/starting_world]...
[Msg] Received world [gimbal.sdf] from the GUI.
[Dbg] [gz.cc:172] Unsubscribing from [/gazebo/starting_world].
[Msg] Gazebo Sim Server v8.0.0
[Msg] Loading SDF world file[/home/ryan/Dev/ros2_ws/src/ardupilot_gazebo/worlds/gimbal.sdf].
[Dbg] [Application.cc:101] Initializing application.
[Dbg] [Application.cc:175] Qt using OpenGL graphics interface
[GUI] [Dbg] [Application.cc:662] Create main window
[Msg] Serving entity system service on [/entity/system/add]
[Dbg] [Physics.cc:860] Loaded [gz::physics::dartsim::Plugin] from library [/usr/lib/x86_64-linux-gnu/gz-physics-7/engine-plugins/libgz-physics-dartsim-plugin.so]
[Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::Physics] for entity [1]
[Dbg] [Sensors.cc:511] Configuring Sensors system
[Dbg] [Sensors.cc:430] SensorsPrivate::Run
[Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::Sensors] for entity [1]
[Dbg] [Sensors.cc:406] SensorsPrivate::RenderThread started
[Dbg] [Sensors.cc:246] Waiting for init
[Msg] Create service on [/world/gimbal/create]
[Msg] Remove service on [/world/gimbal/remove]
[Msg] Pose service on [/world/gimbal/set_pose]
[Msg] Pose service on [/world/gimbal/set_pose_vector]
[Msg] Light configuration service on [/world/gimbal/light_config]
[Msg] Physics service on [/world/gimbal/set_physics]
[Msg] SphericalCoordinates service on [/world/gimbal/set_spherical_coordinates]
[Msg] Enable collision service on [/world/gimbal/enable_collision]
[Msg] Disable collision service on [/world/gimbal/disable_collision]
[Msg] Material service on [/world/gimbal/visual_config]
[Msg] Material service on [/world/gimbal/wheel_slip]
[Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::UserCommands] for entity [1]
[Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::SceneBroadcaster] for entity [1]
[Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::Imu] for entity [1]
[Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::JointStatePublisher] for entity [8]
[Msg] JointPositionController subscribing to Double messages on [/gimbal/cmd_yaw]
[Dbg] [JointPositionController.cc:302] [JointPositionController] system parameters:
[Dbg] [JointPositionController.cc:303] p_gain: [2]
[Dbg] [JointPositionController.cc:304] i_gain: [0.1]
[Dbg] [JointPositionController.cc:305] d_gain: [0.01]
[Dbg] [JointPositionController.cc:306] i_max: [1]
[Dbg] [JointPositionController.cc:307] i_min: [-1]
[Dbg] [JointPositionController.cc:308] cmd_max: [1000]
[Dbg] [JointPositionController.cc:309] cmd_min: [-1000]
[Dbg] [JointPositionController.cc:310] cmd_offset: [0]
[Dbg] [JointPositionController.cc:311] Topic: [/gimbal/cmd_yaw]
[Dbg] [JointPositionController.cc:312] initial_position: [0]
[Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::JointPositionController] for entity [8]
[Msg] JointPositionController subscribing to Double messages on [/gimbal/cmd_roll]
[Dbg] [JointPositionController.cc:302] [JointPositionController] system parameters:
[Dbg] [JointPositionController.cc:303] p_gain: [2]
[Dbg] [JointPositionController.cc:304] i_gain: [0.1]
[Dbg] [JointPositionController.cc:305] d_gain: [0.01]
[Dbg] [JointPositionController.cc:306] i_max: [1]
[Dbg] [JointPositionController.cc:307] i_min: [-1]
[Dbg] [JointPositionController.cc:308] cmd_max: [1000]
[Dbg] [JointPositionController.cc:309] cmd_min: [-1000]
[Dbg] [JointPositionController.cc:310] cmd_offset: [0]
[Dbg] [JointPositionController.cc:311] Topic: [/gimbal/cmd_roll]
[Dbg] [JointPositionController.cc:312] initial_position: [0]
[Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::JointPositionController] for entity [8]
[Msg] JointPositionController subscribing to Double messages on [/gimbal/cmd_pitch]
[Dbg] [JointPositionController.cc:302] [JointPositionController] system parameters:
[Dbg] [JointPositionController.cc:303] p_gain: [2]
[Dbg] [JointPositionController.cc:304] i_gain: [0.1]
[Dbg] [JointPositionController.cc:305] d_gain: [0.01]
[Dbg] [JointPositionController.cc:306] i_max: [1]
[Dbg] [JointPositionController.cc:307] i_min: [-1]
[Dbg] [JointPositionController.cc:308] cmd_max: [1000]
[Dbg] [JointPositionController.cc:309] cmd_min: [-1000]
[Dbg] [JointPositionController.cc:310] cmd_offset: [0]
[Dbg] [JointPositionController.cc:311] Topic: [/gimbal/cmd_pitch]
[Dbg] [JointPositionController.cc:312] initial_position: [0]
[Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::JointPositionController] for entity [8]
[Dbg] [CameraZoomPlugin.cc:256] CameraZoomPlugin attached to sensor [camera].
[Dbg] [CameraZoomPlugin.cc:323] CameraZoomPlugin subscribing to messages on [/model/gimbal/sensor/camera/zoom/cmd_zoom]
[Dbg] [SystemManager.cc:74] Loaded system [CameraZoomPlugin] for entity [31]
[Msg] Loaded level [3]
[Msg] Serving world controls on [/world/gimbal/control], [/world/gimbal/control/state] and [/world/gimbal/playback/control]
[Msg] Serving GUI information on [/world/gimbal/gui/info]
[Msg] World [gimbal] initialized with [1ms] physics profile.
[Msg] Serving world SDF generation service on [/world/gimbal/generate_world_sdf]
[Msg] Serving world names on [/gazebo/worlds]
[Msg] Resource path add service on [/gazebo/resource_paths/add].
[Msg] Resource path get service on [/gazebo/resource_paths/get].
[Msg] Resource path resolve service on [/gazebo/resource_paths/resolve].
[Msg] Resource paths published on [/gazebo/resource_paths].
[Msg] Server control service on [/server_control].
[GUI] [Dbg] [PathManager.cc:68] Requesting resource paths through [/gazebo/resource_paths/get]
[GUI] [Dbg] [Gui.cc:343] GUI requesting list of world names. The server may be busy downloading resources. Please be patient.
[GUI] [Dbg] [PathManager.cc:57] Received resource paths.
[GUI] [Dbg] [Gui.cc:401] Requesting GUI from [/world/gimbal/gui/info]...
[GUI] [Dbg] [GuiRunner.cc:149] Requesting initial state from [/world/gimbal/state]...
[GUI] [Msg] Loading config [/home/ryan/.gz/sim/8/gui.config]
[GUI] [Dbg] [Application.cc:533] Loading plugin [MinimalScene]
[GUI] [Dbg] [MinimalScene.cc:800] Creating gz-rendering interface for OpenGL
[GUI] [Dbg] [MinimalScene.cc:800] Creating gz-rendering interface for OpenGL
[GUI] [Dbg] [MinimalScene.cc:982] Creating render thread interface for OpenGL
[GUI] [Dbg] [MinimalScene.cc:800] Creating gz-rendering interface for OpenGL
[GUI] [Dbg] [MinimalScene.cc:982] Creating render thread interface for OpenGL
[GUI] [Msg] Added plugin [3D View] to main window
[GUI] [Msg] Loaded plugin [MinimalScene] from path [/usr/lib/x86_64-linux-gnu/gz-gui-8/plugins/libMinimalScene.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [EntityContextMenuPlugin]
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Msg] Added plugin [Entity Context Menu] to main window
[GUI] [Msg] Loaded plugin [EntityContextMenuPlugin] from path [/usr/lib/x86_64-linux-gnu/gz-sim-8/plugins/gui/libEntityContextMenuPlugin.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [GzSceneManager]
[GUI] [Msg] Added plugin [Scene Manager] to main window
[GUI] [Msg] Loaded plugin [GzSceneManager] from path [/usr/lib/x86_64-linux-gnu/gz-sim-8/plugins/gui/libGzSceneManager.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [InteractiveViewControl]
[GUI] [Msg] Camera view controller topic advertised on [/gui/camera/view_control]
[GUI] [Msg] Camera reference visual topic advertised on [/gui/camera/view_control/reference_visual]
[GUI] [Msg] Camera view control sensitivity advertised on [/gui/camera/view_control/sensitivity]
[GUI] [Msg] Added plugin [Interactive view control] to main window
[GUI] [Msg] Loaded plugin [InteractiveViewControl] from path [/usr/lib/x86_64-linux-gnu/gz-gui-8/plugins/libInteractiveViewControl.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [CameraTracking]
[GUI] [Msg] Added plugin [Camera tracking] to main window
[GUI] [Msg] Loaded plugin [CameraTracking] from path [/usr/lib/x86_64-linux-gnu/gz-gui-8/plugins/libCameraTracking.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [MarkerManager]
[GUI] [Msg] Listening to stats on [/world/gimbal/stats]
[GUI] [Msg] Added plugin [Marker Manager] to main window
[GUI] [Msg] Loaded plugin [MarkerManager] from path [/usr/lib/x86_64-linux-gnu/gz-gui-8/plugins/libMarkerManager.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [SelectEntities]
[GUI] [Msg] Added plugin [Select entities] to main window
[GUI] [Msg] Loaded plugin [SelectEntities] from path [/usr/lib/x86_64-linux-gnu/gz-sim-8/plugins/gui/libSelectEntities.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [Spawn]
[GUI] [Msg] Added plugin [Spawn] to main window
[GUI] [Msg] Loaded plugin [Spawn] from path [/usr/lib/x86_64-linux-gnu/gz-sim-8/plugins/gui/libSpawn.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [VisualizationCapabilities]
[GUI] [Msg] View as transparent service on [/gui/view/transparent]
[GUI] [Msg] View as wireframes service on [/gui/view/wireframes]
[GUI] [Msg] View center of mass service on [/gui/view/com]
[GUI] [Msg] View inertia service on [/gui/view/inertia]
[GUI] [Msg] View collisions service on [/gui/view/collisions]
[GUI] [Msg] View joints service on [/gui/view/joints]
[GUI] [Msg] View frames service on [/gui/view/frames]
[GUI] [Msg] Added plugin [Visualization capabilities] to main window
[GUI] [Msg] Loaded plugin [VisualizationCapabilities] from path [/usr/lib/x86_64-linux-gnu/gz-sim-8/plugins/gui/libVisualizationCapabilities.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [WorldControl]
[GUI] [Msg] Using world control service [/world/gimbal/control]
[GUI] [Msg] Listening to stats on [/world/gimbal/stats]
[GUI] [Dbg] [WorldControl.cc:250] Using an event to share WorldControl msgs with the server
[GUI] [Msg] Added plugin [World control] to main window
[GUI] [Msg] Loaded plugin [WorldControl] from path [/usr/lib/x86_64-linux-gnu/gz-gui-8/plugins/libWorldControl.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [WorldStats]
[GUI] [Msg] Listening to stats on [/world/gimbal/stats]
[GUI] [Msg] Added plugin [World stats] to main window
[GUI] [Msg] Loaded plugin [WorldStats] from path [/usr/lib/x86_64-linux-gnu/gz-gui-8/plugins/libWorldStats.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [Shapes]
[GUI] [Msg] Added plugin [Shapes] to main window
[GUI] [Msg] Loaded plugin [Shapes] from path [/usr/lib/x86_64-linux-gnu/gz-sim-8/plugins/gui/libShapes.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [Lights]
[GUI] [Msg] Added plugin [Lights] to main window
[GUI] [Msg] Loaded plugin [Lights] from path [/usr/lib/x86_64-linux-gnu/gz-sim-8/plugins/gui/libLights.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [TransformControl]
[GUI] [Msg] Added plugin [Transform control] to main window
[GUI] [Msg] Loaded plugin [TransformControl] from path [/usr/lib/x86_64-linux-gnu/gz-sim-8/plugins/gui/libTransformControl.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [Screenshot]
[GUI] [Msg] Screenshot service on [/gui/screenshot]
[GUI] [Msg] Added plugin [Screenshot] to main window
[GUI] [Msg] Loaded plugin [Screenshot] from path [/usr/lib/x86_64-linux-gnu/gz-gui-8/plugins/libScreenshot.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [CopyPaste]
[GUI] [Msg] Added plugin [Copy/Paste] to main window
[GUI] [Msg] Loaded plugin [CopyPaste] from path [/usr/lib/x86_64-linux-gnu/gz-sim-8/plugins/gui/libCopyPaste.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [ComponentInspector]
[GUI] [Msg] Added plugin [Component inspector] to main window
[GUI] [Msg] Loaded plugin [ComponentInspector] from path [/usr/lib/x86_64-linux-gnu/gz-sim-8/plugins/gui/libComponentInspector.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [EntityTree]
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityTree/EntityTree.qml:148:7: QML ToolButton: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Msg] Added plugin [Entity tree] to main window
[GUI] [Msg] Loaded plugin [EntityTree] from path [/usr/lib/x86_64-linux-gnu/gz-sim-8/plugins/gui/libEntityTree.so]
[GUI] [Dbg] [Application.cc:403] Loading window config
[GUI] [Msg] Using server control service [/server_control]
[GUI] [Dbg] [Application.cc:676] Applying config
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityTree/EntityTree.qml:148:7: QML ToolButton: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:904] [QT] file::/WorldStats/WorldStats.qml:53:3: QML RowLayout: Binding loop detected for property "x"
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Dbg] [MinimalScene.cc:800] Creating gz-rendering interface for OpenGL
[GUI] [Dbg] [MinimalScene.cc:982] Creating render thread interface for OpenGL
[GUI] [Msg] Loading plugin [gz-rendering-ogre2]
libEGL warning: egl: failed to create dri2 screen
libEGL warning: egl: failed to create dri2 screen
[GUI] [Dbg] [MinimalScene.cc:747] Create scene [scene]
[GUI] [Dbg] [MinimalScene.cc:1030] Creating texture node render interface for OpenGL
[Msg] Found no publishers on /stats, adding root stats topic
[Msg] Found no publishers on /clock, adding root clock topic
[Dbg] [SimulationRunner.cc:542] Creating PostUpdate worker threads: 6
[Dbg] [SimulationRunner.cc:553] Creating postupdate worker thread (0)
[Dbg] [SimulationRunner.cc:553] Creating postupdate worker thread (1)
[Dbg] [SimulationRunner.cc:553] Creating postupdate worker thread (2)
[Dbg] [SimulationRunner.cc:553] Creating postupdate worker thread (3)
[Dbg] [SimulationRunner.cc:553] Creating postupdate worker thread (4)
[Dbg] [JointPositionController.cc:361] Identified joint [gimbal::yaw_joint] as Entity [32]
[Dbg] [JointPositionController.cc:361] Identified joint [gimbal::roll_joint] as Entity [33]
[Dbg] [JointPositionController.cc:361] Identified joint [gimbal::pitch_joint] as Entity [34]
[Wrn] [CameraZoomPlugin.cc:168] 168.
[Wrn] [CameraZoomPlugin.cc:171] 171.
[GUI] [Msg] Loading plugin [gz-rendering-ogre2]
[GUI] [Dbg] [TransformControl.cc:453] TransformControl plugin is using camera [scene::Camera(65527)]
[GUI] [Msg] Loading plugin [gz-rendering-ogre2]
[GUI] [Msg] Loading plugin [gz-rendering-ogre2]
[GUI] [Dbg] [Spawn.cc:308] Spawn plugin is using camera [scene::Camera(65527)]
[GUI] [Msg] Loading plugin [gz-rendering-ogre2]
[GUI] [Dbg] [SelectEntities.cc:452] SelectEntities plugin is using camera [scene::Camera(65527)]
[Dbg] [SDFFeatures.cc:328] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes.
[Dbg] [SDFFeatures.cc:843] The geometry element of collision [yaw_collision] couldn't be created
[GUI] [Msg] Loading plugin [gz-rendering-ogre2]
[Dbg] [SDFFeatures.cc:328] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes.
[Dbg] [SDFFeatures.cc:843] The geometry element of collision [roll_collision] couldn't be created
[Dbg] [SDFFeatures.cc:328] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes.
[Dbg] [SDFFeatures.cc:843] The geometry element of collision [pitch_collision] couldn't be created
[GUI] [Dbg] [MarkerManager.cc:171] Advertise /marker/list service.
[GUI] [Dbg] [MarkerManager.cc:181] Advertise /marker/list.
[GUI] [Dbg] [MarkerManager.cc:191] Advertise /marker_array.
[GUI] [Msg] Loading plugin [gz-rendering-ogre2]
[GUI] [Dbg] [CameraTracking.cc:174] CameraTrackingPrivate plugin is moving camera [scene::Camera(65527)]
[GUI] [Msg] Move to service on [/gui/move_to]
[GUI] [Msg] Follow service on [/gui/follow]
[Dbg] [SDFFeatures.cc:328] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes.
[Dbg] [SDFFeatures.cc:843] The geometry element of collision [collision] couldn't be created
[GUI] [Msg] Move to pose service on [/gui/move_to/pose]
[Dbg] [SDFFeatures.cc:328] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes.
[Dbg] [SDFFeatures.cc:843] The geometry element of collision [collision] couldn't be created
[Dbg] [SDFFeatures.cc:328] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes.
[Dbg] [SDFFeatures.cc:843] The geometry element of collision [collision] couldn't be created
[GUI] [Msg] Camera pose topic advertised on [/gui/camera/pose]
[Dbg] [SDFFeatures.cc:328] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes.
[Dbg] [SDFFeatures.cc:843] The geometry element of collision [collision] couldn't be created
[GUI] [Msg] Follow offset service on [/gui/follow/offset]
[Dbg] [SDFFeatures.cc:328] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes.
[GUI] [Msg] Loading plugin [gz-rendering-ogre2]
[Dbg] [SDFFeatures.cc:843] The geometry element of collision [collision] couldn't be created
[GUI] [Dbg] [InteractiveViewControl.cc:178] InteractiveViewControl plugin is moving camera [scene::Camera(65527)]
[GUI] [Msg] Loading plugin [gz-rendering-ogre2]
[GUI] [Msg] Loading plugin [gz-rendering-ogre2]
[GUI] [Dbg] [EntityContextMenuPlugin.cc:79] Entity context menu plugin is using camera [scene::Camera(65527)]
[Dbg] [SDFFeatures.cc:328] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes.
[Dbg] [SDFFeatures.cc:843] The geometry element of collision [person] couldn't be created
[Dbg] [Sensors.cc:682] Initialization needed
[Dbg] [CameraZoomPlugin.cc:400] Camera name: [mount::gimbal::pitch_link::camera].
[Dbg] [Sensors.cc:258] Initializing render context
[Msg] Loading plugin [gz-rendering-ogre2]
[Msg] Serving scene information on [/world/gimbal/scene/info]
[Msg] Serving graph information on [/world/gimbal/scene/graph]
[Msg] Serving full state on [/world/gimbal/state]
[Msg] Serving full state (async) on [/world/gimbal/state_async]
[Msg] Publishing scene information on [/world/gimbal/scene/info]
[Msg] Publishing entity deletions on [/world/gimbal/scene/deletion]
[Msg] Publishing state changes on [/world/gimbal/state]
[Msg] Publishing pose messages on [/world/gimbal/pose/info]
[Msg] Publishing dynamic pose messages on [/world/gimbal/dynamic_pose/info]
[Dbg] [EntityComponentManager.cc:1655] Updated state thread iterators: 32 threads processing around 5 entities each.
[Wrn] [Model.hh:69] Skipping serialization / deserialization for models with //pose/@relative_to attribute.
[Wrn] [Component.hh:144] Trying to serialize component with data type [N3sdf3v145WorldE], which doesn't have `operator<<`. Component will not be serialized.
[Wrn] [CameraZoomPlugin.cc:168] 168.
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
libEGL warning: egl: failed to create dri2 screen
libEGL warning: egl: failed to create dri2 screen
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Component.hh:189] Trying to deserialize component with data type [N3sdf3v145WorldE], which doesn't have `operator>>`. Component will not be deserialized.
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[Dbg] [RenderUtil.cc:2710] Create scene [scene]
[Wrn] [CameraZoomPlugin.cc:178] 178.
[Msg] Loading plugin [gz-rendering-ogre2]
[Dbg] [RenderingIface.cc:175] Scene is not initialized yet
Stack trace (most recent call last):
#29   Object "[0xffffffffffffffff]", at 0xffffffffffffffff, in 
#28   Object "gz sim server", at 0x55da1c8241c4, in _start
#27   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7fea2a029e3f, in __libc_start_main
#26   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7fea2a029d8f, in 
#25   Object "gz sim server", at 0x55da1c82417e, in 
#24   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7fea2a4a8e19, in ruby_run_node
#23   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7fea2a4a5317, in 
#22   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7fea2a63a30c, in rb_vm_exec
#21   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7fea2a634c96, in 
#20   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7fea2a631fc5, in 
#19   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7fea2a62fc34, in 
#18   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7fea2a57ba1e, in 
#17   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7fea2a4a69ac, in rb_protect
#16   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7fea2a63ec61, in rb_yield
#15   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7fea2a63a30c, in rb_vm_exec
#14   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7fea2a634c96, in 
#13   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7fea2a631fc5, in 
#12   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7fea2a62fc34, in 
#11   Object "/usr/lib/x86_64-linux-gnu/ruby/3.0.0/fiddle.so", at 0x7fea2a31044b, in 
#10   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7fea2a5fd088, in rb_nogvl
#9    Object "/usr/lib/x86_64-linux-gnu/ruby/3.0.0/fiddle.so", at 0x7fea2a30fd6b, in 
#8    Object "/lib/x86_64-linux-gnu/libffi.so.8", at 0x7fea2a301492, in 
#7    Object "/lib/x86_64-linux-gnu/libffi.so.8", at 0x7fea2a304e2d, in 
#6    Object "/usr/lib/x86_64-linux-gnu/libgz-sim8-gz.so.8.0.0", at 0x7fea2648a7b2, in runServer
#5    Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7fea25337cf5, in 
#4    Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7fea253437c2, in gz::sim::v8::SimulationRunner::Run(unsigned long)
#3    Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7fea2534fd10, in gz::sim::v8::SimulationRunner::Step(gz::sim::v8::UpdateInfo const&)
#2    Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7fea25342bb1, in gz::sim::v8::SimulationRunner::UpdateSystems()
#1    Object "/home/ryan/Dev/ros2_ws/src/ardupilot_gazebo/build/libCameraZoomPlugin.so", at 0x7fe9e197faa9, in gz::sim::v8::systems::CameraZoomPlugin::PreUpdate(gz::sim::v8::UpdateInfo const&, gz::sim::v8::EntityComponentManager&)
#0    Object "/home/ryan/Dev/ros2_ws/src/ardupilot_gazebo/build/libCameraZoomPlugin.so", at 0x7fe9e197e25c, in gz::sim::v8::systems::CameraZoomPlugin::Impl::InitialiseCamera()
Segmentation fault (Address not mapped to object [(nil)])
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Dbg] [SignalHandler.cc:142] Received signal[2].
[GUI] [Wrn] [OBJLoader.cc:91] Both `d` and `Tr` parameters defined for "Hybrid". Use the value of `d` for dissolve (line 8 in .mtl.)
Both `d` and `Tr` parameters defined for "Wheels3". Use the value of `d` for dissolve (line 22 in .mtl.)
Both `d` and `Tr` parameters defined for "Hybrid_Interior". Use the value of `d` for dissolve (line 36 in .mtl.)
Both `d` and `Tr` parameters defined for "Windows". Use the value of `d` for dissolve (line 50 in .mtl.)

[GUI] [Dbg] [Gui.cc:523] Shutting down gz-sim-gui
[GUI] [Dbg] [Application.cc:242] Terminating application.
[GUI] [Msg] Loading plugin [gz-rendering-ogre2]
[GUI] [Dbg] [MinimalScene.cc:838] Destroy scene [scene]
ryan@B650-970:~/Dev/ros2_ws/src/ardupilot_gazebo$ LD_TRACE_LOADED_OBJECTS=1 gz sim -v4 -r gimbal.sdf
	linux-vdso.so.1 (0x00007ffd613ea000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fcc54600000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fcc54972000)
	
ryan@B650-970:~/Dev/ros2_ws/src/ardupilot_gazebo$ ldd gz sim
gz:
ldd: ./gz: No such file or directory
sim:
ldd: ./sim: No such file or directory
ryan@B650-970:~/Dev/ros2_ws/src/ardupilot_gazebo$ ldd gz 
ldd: ./gz: No such file or directory
ryan@B650-970:~/Dev/ros2_ws/src/ardupilot_gazebo$ lD_DEBUG=libs gz sim -v4 -r gimbal.sdf
[Msg] Gazebo Sim GUI    v8.0.0
[Dbg] [gz.cc:166] Subscribing to [/gazebo/starting_world].
[Dbg] [gz.cc:168] Waiting for a world to be set from the GUI...
[Dbg] [Gui.cc:263] Waiting for subscribers to [/gazebo/starting_world]...
[Msg] Received world [gimbal.sdf] from the GUI.
[Dbg] [gz.cc:172] Unsubscribing from [/gazebo/starting_world].
[Msg] Gazebo Sim Server v8.0.0
[Msg] Loading SDF world file[/home/ryan/Dev/ros2_ws/src/ardupilot_gazebo/worlds/gimbal.sdf].
[Dbg] [Application.cc:101] Initializing application.
[Dbg] [Application.cc:175] Qt using OpenGL graphics interface
[GUI] [Dbg] [Application.cc:662] Create main window
[Msg] Serving entity system service on [/entity/system/add]
[Dbg] [Physics.cc:860] Loaded [gz::physics::dartsim::Plugin] from library [/usr/lib/x86_64-linux-gnu/gz-physics-7/engine-plugins/libgz-physics-dartsim-plugin.so]
[Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::Physics] for entity [1]
[Dbg] [Sensors.cc:511] Configuring Sensors system
[Dbg] [Sensors.cc:430] SensorsPrivate::Run
[Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::Sensors] for entity [1]
[Dbg] [Sensors.cc:406] SensorsPrivate::RenderThread started
[Dbg] [Sensors.cc:246] Waiting for init
[Msg] Create service on [/world/gimbal/create]
[Msg] Remove service on [/world/gimbal/remove]
[Msg] Pose service on [/world/gimbal/set_pose]
[Msg] Pose service on [/world/gimbal/set_pose_vector]
[Msg] Light configuration service on [/world/gimbal/light_config]
[Msg] Physics service on [/world/gimbal/set_physics]
[Msg] SphericalCoordinates service on [/world/gimbal/set_spherical_coordinates]
[Msg] Enable collision service on [/world/gimbal/enable_collision]
[Msg] Disable collision service on [/world/gimbal/disable_collision]
[Msg] Material service on [/world/gimbal/visual_config]
[Msg] Material service on [/world/gimbal/wheel_slip]
[Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::UserCommands] for entity [1]
[Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::SceneBroadcaster] for entity [1]
[Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::Imu] for entity [1]
[Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::JointStatePublisher] for entity [8]
[Msg] JointPositionController subscribing to Double messages on [/gimbal/cmd_yaw]
[Dbg] [JointPositionController.cc:302] [JointPositionController] system parameters:
[Dbg] [JointPositionController.cc:303] p_gain: [2]
[Dbg] [JointPositionController.cc:304] i_gain: [0.1]
[Dbg] [JointPositionController.cc:305] d_gain: [0.01]
[Dbg] [JointPositionController.cc:306] i_max: [1]
[Dbg] [JointPositionController.cc:307] i_min: [-1]
[Dbg] [JointPositionController.cc:308] cmd_max: [1000]
[Dbg] [JointPositionController.cc:309] cmd_min: [-1000]
[Dbg] [JointPositionController.cc:310] cmd_offset: [0]
[Dbg] [JointPositionController.cc:311] Topic: [/gimbal/cmd_yaw]
[Dbg] [JointPositionController.cc:312] initial_position: [0]
[Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::JointPositionController] for entity [8]
[Msg] JointPositionController subscribing to Double messages on [/gimbal/cmd_roll]
[Dbg] [JointPositionController.cc:302] [JointPositionController] system parameters:
[Dbg] [JointPositionController.cc:303] p_gain: [2]
[Dbg] [JointPositionController.cc:304] i_gain: [0.1]
[Dbg] [JointPositionController.cc:305] d_gain: [0.01]
[Dbg] [JointPositionController.cc:306] i_max: [1]
[Dbg] [JointPositionController.cc:307] i_min: [-1]
[Dbg] [JointPositionController.cc:308] cmd_max: [1000]
[Dbg] [JointPositionController.cc:309] cmd_min: [-1000]
[Dbg] [JointPositionController.cc:310] cmd_offset: [0]
[Dbg] [JointPositionController.cc:311] Topic: [/gimbal/cmd_roll]
[Dbg] [JointPositionController.cc:312] initial_position: [0]
[Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::JointPositionController] for entity [8]
[Msg] JointPositionController subscribing to Double messages on [/gimbal/cmd_pitch]
[Dbg] [JointPositionController.cc:302] [JointPositionController] system parameters:
[Dbg] [JointPositionController.cc:303] p_gain: [2]
[Dbg] [JointPositionController.cc:304] i_gain: [0.1]
[Dbg] [JointPositionController.cc:305] d_gain: [0.01]
[Dbg] [JointPositionController.cc:306] i_max: [1]
[Dbg] [JointPositionController.cc:307] i_min: [-1]
[Dbg] [JointPositionController.cc:308] cmd_max: [1000]
[Dbg] [JointPositionController.cc:309] cmd_min: [-1000]
[Dbg] [JointPositionController.cc:310] cmd_offset: [0]
[Dbg] [JointPositionController.cc:311] Topic: [/gimbal/cmd_pitch]
[Dbg] [JointPositionController.cc:312] initial_position: [0]
[Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::JointPositionController] for entity [8]
[Dbg] [CameraZoomPlugin.cc:256] CameraZoomPlugin attached to sensor [camera].
[Dbg] [CameraZoomPlugin.cc:323] CameraZoomPlugin subscribing to messages on [/model/gimbal/sensor/camera/zoom/cmd_zoom]
[Dbg] [SystemManager.cc:74] Loaded system [CameraZoomPlugin] for entity [31]
[Msg] Loaded level [3]
[Msg] Serving world controls on [/world/gimbal/control], [/world/gimbal/control/state] and [/world/gimbal/playback/control]
[Msg] Serving GUI information on [/world/gimbal/gui/info]
[Msg] World [gimbal] initialized with [1ms] physics profile.
[Msg] Serving world SDF generation service on [/world/gimbal/generate_world_sdf]
[Msg] Serving world names on [/gazebo/worlds]
[Msg] Resource path add service on [/gazebo/resource_paths/add].
[Msg] Resource path get service on [/gazebo/resource_paths/get].
[Msg] Resource path resolve service on [/gazebo/resource_paths/resolve].
[Msg] Resource paths published on [/gazebo/resource_paths].
[Msg] Server control service on [/server_control].
[GUI] [Dbg] [PathManager.cc:68] Requesting resource paths through [/gazebo/resource_paths/get]
[GUI] [Dbg] [Gui.cc:343] GUI requesting list of world names. The server may be busy downloading resources. Please be patient.
[GUI] [Dbg] [PathManager.cc:57] Received resource paths.
[GUI] [Dbg] [Gui.cc:401] Requesting GUI from [/world/gimbal/gui/info]...
[GUI] [Dbg] [GuiRunner.cc:149] Requesting initial state from [/world/gimbal/state]...
[GUI] [Msg] Loading config [/home/ryan/.gz/sim/8/gui.config]
[GUI] [Dbg] [Application.cc:533] Loading plugin [MinimalScene]
[GUI] [Dbg] [MinimalScene.cc:800] Creating gz-rendering interface for OpenGL
[GUI] [Dbg] [MinimalScene.cc:800] Creating gz-rendering interface for OpenGL
[GUI] [Dbg] [MinimalScene.cc:982] Creating render thread interface for OpenGL
[GUI] [Dbg] [MinimalScene.cc:800] Creating gz-rendering interface for OpenGL
[GUI] [Dbg] [MinimalScene.cc:982] Creating render thread interface for OpenGL
[GUI] [Msg] Added plugin [3D View] to main window
[GUI] [Msg] Loaded plugin [MinimalScene] from path [/usr/lib/x86_64-linux-gnu/gz-gui-8/plugins/libMinimalScene.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [EntityContextMenuPlugin]
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Msg] Added plugin [Entity Context Menu] to main window
[GUI] [Msg] Loaded plugin [EntityContextMenuPlugin] from path [/usr/lib/x86_64-linux-gnu/gz-sim-8/plugins/gui/libEntityContextMenuPlugin.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [GzSceneManager]
[GUI] [Msg] Added plugin [Scene Manager] to main window
[GUI] [Msg] Loaded plugin [GzSceneManager] from path [/usr/lib/x86_64-linux-gnu/gz-sim-8/plugins/gui/libGzSceneManager.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [InteractiveViewControl]
[GUI] [Msg] Camera view controller topic advertised on [/gui/camera/view_control]
[GUI] [Msg] Camera reference visual topic advertised on [/gui/camera/view_control/reference_visual]
[GUI] [Msg] Camera view control sensitivity advertised on [/gui/camera/view_control/sensitivity]
[GUI] [Msg] Added plugin [Interactive view control] to main window
[GUI] [Msg] Loaded plugin [InteractiveViewControl] from path [/usr/lib/x86_64-linux-gnu/gz-gui-8/plugins/libInteractiveViewControl.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [CameraTracking]
[GUI] [Msg] Added plugin [Camera tracking] to main window
[GUI] [Msg] Loaded plugin [CameraTracking] from path [/usr/lib/x86_64-linux-gnu/gz-gui-8/plugins/libCameraTracking.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [MarkerManager]
[GUI] [Msg] Listening to stats on [/world/gimbal/stats]
[GUI] [Msg] Added plugin [Marker Manager] to main window
[GUI] [Msg] Loaded plugin [MarkerManager] from path [/usr/lib/x86_64-linux-gnu/gz-gui-8/plugins/libMarkerManager.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [SelectEntities]
[GUI] [Msg] Added plugin [Select entities] to main window
[GUI] [Msg] Loaded plugin [SelectEntities] from path [/usr/lib/x86_64-linux-gnu/gz-sim-8/plugins/gui/libSelectEntities.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [Spawn]
[GUI] [Msg] Added plugin [Spawn] to main window
[GUI] [Msg] Loaded plugin [Spawn] from path [/usr/lib/x86_64-linux-gnu/gz-sim-8/plugins/gui/libSpawn.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [VisualizationCapabilities]
[GUI] [Msg] View as transparent service on [/gui/view/transparent]
[GUI] [Msg] View as wireframes service on [/gui/view/wireframes]
[GUI] [Msg] View center of mass service on [/gui/view/com]
[GUI] [Msg] View inertia service on [/gui/view/inertia]
[GUI] [Msg] View collisions service on [/gui/view/collisions]
[GUI] [Msg] View joints service on [/gui/view/joints]
[GUI] [Msg] View frames service on [/gui/view/frames]
[GUI] [Msg] Added plugin [Visualization capabilities] to main window
[GUI] [Msg] Loaded plugin [VisualizationCapabilities] from path [/usr/lib/x86_64-linux-gnu/gz-sim-8/plugins/gui/libVisualizationCapabilities.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [WorldControl]
[GUI] [Msg] Using world control service [/world/gimbal/control]
[GUI] [Msg] Listening to stats on [/world/gimbal/stats]
[GUI] [Dbg] [WorldControl.cc:250] Using an event to share WorldControl msgs with the server
[GUI] [Msg] Added plugin [World control] to main window
[GUI] [Msg] Loaded plugin [WorldControl] from path [/usr/lib/x86_64-linux-gnu/gz-gui-8/plugins/libWorldControl.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [WorldStats]
[GUI] [Msg] Listening to stats on [/world/gimbal/stats]
[GUI] [Msg] Added plugin [World stats] to main window
[GUI] [Msg] Loaded plugin [WorldStats] from path [/usr/lib/x86_64-linux-gnu/gz-gui-8/plugins/libWorldStats.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [Shapes]
[GUI] [Msg] Added plugin [Shapes] to main window
[GUI] [Msg] Loaded plugin [Shapes] from path [/usr/lib/x86_64-linux-gnu/gz-sim-8/plugins/gui/libShapes.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [Lights]
[GUI] [Msg] Added plugin [Lights] to main window
[GUI] [Msg] Loaded plugin [Lights] from path [/usr/lib/x86_64-linux-gnu/gz-sim-8/plugins/gui/libLights.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [TransformControl]
[GUI] [Msg] Added plugin [Transform control] to main window
[GUI] [Msg] Loaded plugin [TransformControl] from path [/usr/lib/x86_64-linux-gnu/gz-sim-8/plugins/gui/libTransformControl.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [Screenshot]
[GUI] [Msg] Screenshot service on [/gui/screenshot]
[GUI] [Msg] Added plugin [Screenshot] to main window
[GUI] [Msg] Loaded plugin [Screenshot] from path [/usr/lib/x86_64-linux-gnu/gz-gui-8/plugins/libScreenshot.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [CopyPaste]
[GUI] [Msg] Added plugin [Copy/Paste] to main window
[GUI] [Msg] Loaded plugin [CopyPaste] from path [/usr/lib/x86_64-linux-gnu/gz-sim-8/plugins/gui/libCopyPaste.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [ComponentInspector]
[GUI] [Msg] Added plugin [Component inspector] to main window
[GUI] [Msg] Loaded plugin [ComponentInspector] from path [/usr/lib/x86_64-linux-gnu/gz-sim-8/plugins/gui/libComponentInspector.so]
[GUI] [Dbg] [Application.cc:533] Loading plugin [EntityTree]
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityTree/EntityTree.qml:148:7: QML ToolButton: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Msg] Added plugin [Entity tree] to main window
[GUI] [Msg] Loaded plugin [EntityTree] from path [/usr/lib/x86_64-linux-gnu/gz-sim-8/plugins/gui/libEntityTree.so]
[GUI] [Dbg] [Application.cc:403] Loading window config
[GUI] [Msg] Using server control service [/server_control]
[GUI] [Dbg] [Application.cc:676] Applying config
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityTree/EntityTree.qml:148:7: QML ToolButton: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:904] [QT] file::/WorldStats/WorldStats.qml:53:3: QML RowLayout: Binding loop detected for property "x"
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Wrn] [Application.cc:904] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[GUI] [Dbg] [MinimalScene.cc:800] Creating gz-rendering interface for OpenGL
[GUI] [Dbg] [MinimalScene.cc:982] Creating render thread interface for OpenGL
[Msg] Found no publishers on /stats, adding root stats topic
[Msg] Found no publishers on /clock, adding root clock topic
[Dbg] [SimulationRunner.cc:542] Creating PostUpdate worker threads: 6
[Dbg] [SimulationRunner.cc:553] Creating postupdate worker thread (0)
[Dbg] [SimulationRunner.cc:553] Creating postupdate worker thread (1)
[Dbg] [SimulationRunner.cc:553] Creating postupdate worker thread (2)
[Dbg] [SimulationRunner.cc:553] Creating postupdate worker thread (3)
[Dbg] [SimulationRunner.cc:553] Creating postupdate worker thread (4)
[Dbg] [JointPositionController.cc:361] Identified joint [gimbal::yaw_joint] as Entity [32]
[Dbg] [JointPositionController.cc:361] Identified joint [gimbal::roll_joint] as Entity [33]
[Dbg] [JointPositionController.cc:361] Identified joint [gimbal::pitch_joint] as Entity [34]
[Wrn] [CameraZoomPlugin.cc:168] 168.
[Wrn] [CameraZoomPlugin.cc:171] 171.
[Dbg] [SDFFeatures.cc:328] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes.
[Dbg] [SDFFeatures.cc:843] The geometry element of collision [yaw_collision] couldn't be created
[Dbg] [SDFFeatures.cc:328] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes.
[Dbg] [SDFFeatures.cc:843] The geometry element of collision [roll_collision] couldn't be created
[Dbg] [SDFFeatures.cc:328] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes.
[Dbg] [SDFFeatures.cc:843] The geometry element of collision [pitch_collision] couldn't be created
[Dbg] [SDFFeatures.cc:328] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes.
[Dbg] [SDFFeatures.cc:843] The geometry element of collision [collision] couldn't be created
[Dbg] [SDFFeatures.cc:328] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes.
[Dbg] [SDFFeatures.cc:843] The geometry element of collision [collision] couldn't be created
[Dbg] [SDFFeatures.cc:328] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes.
[Dbg] [SDFFeatures.cc:843] The geometry element of collision [collision] couldn't be created
[Dbg] [SDFFeatures.cc:328] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes.
[Dbg] [SDFFeatures.cc:843] The geometry element of collision [collision] couldn't be created
[Dbg] [SDFFeatures.cc:328] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes.
[Dbg] [SDFFeatures.cc:843] The geometry element of collision [collision] couldn't be created
[Dbg] [SDFFeatures.cc:328] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes.
[Dbg] [SDFFeatures.cc:843] The geometry element of collision [person] couldn't be created
[GUI] [Msg] Loading plugin [gz-rendering-ogre2]
[Dbg] [Sensors.cc:682] Initialization needed
[Dbg] [CameraZoomPlugin.cc:400] Camera name: [mount::gimbal::pitch_link::camera].
[Dbg] [Sensors.cc:258] Initializing render context
[Msg] Loading plugin [gz-rendering-ogre2]
[Msg] Serving scene information on [/world/gimbal/scene/info]
[Msg] Serving graph information on [/world/gimbal/scene/graph]
[Msg] Serving full state on [/world/gimbal/state]
[Msg] Serving full state (async) on [/world/gimbal/state_async]
[Msg] Publishing scene information on [/world/gimbal/scene/info]
[Msg] Publishing entity deletions on [/world/gimbal/scene/deletion]
[Msg] Publishing state changes on [/world/gimbal/state]
[Msg] Publishing pose messages on [/world/gimbal/pose/info]
[Msg] Publishing dynamic pose messages on [/world/gimbal/dynamic_pose/info]
[Dbg] [EntityComponentManager.cc:1655] Updated state thread iterators: 32 threads processing around 5 entities each.
[Wrn] [Model.hh:69] Skipping serialization / deserialization for models with //pose/@relative_to attribute.
[Wrn] [Component.hh:144] Trying to serialize component with data type [N3sdf3v145WorldE], which doesn't have `operator<<`. Component will not be serialized.
[Wrn] [CameraZoomPlugin.cc:168] 168.
libEGL warning: egl: failed to create dri2 screen
libEGL warning: egl: failed to create dri2 screen
[GUI] [Dbg] [MinimalScene.cc:747] Create scene [scene]
[GUI] [Dbg] [MinimalScene.cc:1030] Creating texture node render interface for OpenGL
[GUI] [Wrn] [Component.hh:189] Trying to deserialize component with data type [N3sdf3v145WorldE], which doesn't have `operator>>`. Component will not be deserialized.
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Msg] Loading plugin [gz-rendering-ogre2]
[GUI] [Dbg] [TransformControl.cc:453] TransformControl plugin is using camera [scene::Camera(65527)]
[GUI] [Msg] Loading plugin [gz-rendering-ogre2]
[GUI] [Msg] Loading plugin [gz-rendering-ogre2]
[GUI] [Dbg] [Spawn.cc:308] Spawn plugin is using camera [scene::Camera(65527)]
[GUI] [Msg] Loading plugin [gz-rendering-ogre2]
[GUI] [Dbg] [SelectEntities.cc:452] SelectEntities plugin is using camera [scene::Camera(65527)]
[GUI] [Msg] Loading plugin [gz-rendering-ogre2]
[GUI] [Dbg] [MarkerManager.cc:171] Advertise /marker/list service.
[GUI] [Dbg] [MarkerManager.cc:181] Advertise /marker/list.
[GUI] [Dbg] [MarkerManager.cc:191] Advertise /marker_array.
[GUI] [Msg] Loading plugin [gz-rendering-ogre2]
[GUI] [Dbg] [CameraTracking.cc:174] CameraTrackingPrivate plugin is moving camera [scene::Camera(65527)]
[GUI] [Msg] Move to service on [/gui/move_to]
[GUI] [Msg] Follow service on [/gui/follow]
[GUI] [Msg] Move to pose service on [/gui/move_to/pose]
[GUI] [Msg] Camera pose topic advertised on [/gui/camera/pose]
[GUI] [Msg] Follow offset service on [/gui/follow/offset]
[GUI] [Msg] Loading plugin [gz-rendering-ogre2]
[GUI] [Dbg] [InteractiveViewControl.cc:178] InteractiveViewControl plugin is moving camera [scene::Camera(65527)]
[GUI] [Msg] Loading plugin [gz-rendering-ogre2]
[GUI] [Msg] Loading plugin [gz-rendering-ogre2]
[GUI] [Dbg] [EntityContextMenuPlugin.cc:79] Entity context menu plugin is using camera [scene::Camera(65527)]
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
libEGL warning: egl: failed to create dri2 screen
libEGL warning: egl: failed to create dri2 screen
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[Dbg] [RenderUtil.cc:2710] Create scene [scene]
[Wrn] [CameraZoomPlugin.cc:178] 178.
[Msg] Loading plugin [gz-rendering-ogre2]
[Dbg] [RenderingIface.cc:175] Scene is not initialized yet
Stack trace (most recent call last):
#29   Object "[0xffffffffffffffff]", at 0xffffffffffffffff, in 
#28   Object "gz sim server", at 0x561ac1f461c4, in _start
#27   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7fa39a829e3f, in __libc_start_main
#26   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7fa39a829d8f, in 
#25   Object "gz sim server", at 0x561ac1f4617e, in 
#24   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7fa39aca8e19, in ruby_run_node
#23   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7fa39aca5317, in 
#22   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7fa39ae3a30c, in rb_vm_exec
#21   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7fa39ae34c96, in 
#20   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7fa39ae31fc5, in 
#19   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7fa39ae2fc34, in 
#18   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7fa39ad7ba1e, in 
#17   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7fa39aca69ac, in rb_protect
#16   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7fa39ae3ec61, in rb_yield
#15   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7fa39ae3a30c, in rb_vm_exec
#14   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7fa39ae34c96, in 
#13   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7fa39ae31fc5, in 
#12   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7fa39ae2fc34, in 
#11   Object "/usr/lib/x86_64-linux-gnu/ruby/3.0.0/fiddle.so", at 0x7fa39afcb44b, in 
#10   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7fa39adfd088, in rb_nogvl
#9    Object "/usr/lib/x86_64-linux-gnu/ruby/3.0.0/fiddle.so", at 0x7fa39afcad6b, in 
#8    Object "/lib/x86_64-linux-gnu/libffi.so.8", at 0x7fa39afbc492, in 
#7    Object "/lib/x86_64-linux-gnu/libffi.so.8", at 0x7fa39afbfe2d, in 
#6    Object "/usr/lib/x86_64-linux-gnu/libgz-sim8-gz.so.8.0.0", at 0x7fa39aa967b2, in runServer
#5    Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7fa395b37cf5, in 
#4    Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7fa395b437c2, in gz::sim::v8::SimulationRunner::Run(unsigned long)
#3    Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7fa395b4fd10, in gz::sim::v8::SimulationRunner::Step(gz::sim::v8::UpdateInfo const&)
#2    Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7fa395b42bb1, in gz::sim::v8::SimulationRunner::UpdateSystems()
#1    Object "/home/ryan/Dev/ros2_ws/src/ardupilot_gazebo/build/libCameraZoomPlugin.so", at 0x7fa352280aa9, in gz::sim::v8::systems::CameraZoomPlugin::PreUpdate(gz::sim::v8::UpdateInfo const&, gz::sim::v8::EntityComponentManager&)
#0    Object "/home/ryan/Dev/ros2_ws/src/ardupilot_gazebo/build/libCameraZoomPlugin.so", at 0x7fa35227f25c, in gz::sim::v8::systems::CameraZoomPlugin::Impl::InitialiseCamera()
Segmentation fault (Address not mapped to object [(nil)])
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Dbg] [SignalHandler.cc:142] Received signal[2].
[GUI] [Wrn] [OBJLoader.cc:91] Both `d` and `Tr` parameters defined for "Hybrid". Use the value of `d` for dissolve (line 8 in .mtl.)
Both `d` and `Tr` parameters defined for "Wheels3". Use the value of `d` for dissolve (line 22 in .mtl.)
Both `d` and `Tr` parameters defined for "Hybrid_Interior". Use the value of `d` for dissolve (line 36 in .mtl.)
Both `d` and `Tr` parameters defined for "Windows". Use the value of `d` for dissolve (line 50 in .mtl.)

[GUI] [Dbg] [Gui.cc:523] Shutting down gz-sim-gui
[GUI] [Dbg] [Application.cc:242] Terminating application.
[GUI] [Msg] Loading plugin [gz-rendering-ogre2]
[GUI] [Dbg] [MinimalScene.cc:838] Destroy scene [scene]

@Ryanf55
Copy link
Contributor Author

Ryanf55 commented Jan 21, 2024

Next, I removed all user python packages. Be very careful to supply --user otherwise this breaks your OS, and don't run as sudo.

python3 -m pip freeze --user | grep -v "@" | xargs python3 -m pip uninstall -y

I needed to remove lines with @ because of this error:

ERROR: Invalid requirement: '@'

It was caused by ArduPilot's installation of sphinx:

$ python3 -m pip freeze --user | grep "@"
sphinx-rtd-theme @ git+https://github.com/ArduPilot/sphinx_rtd_theme.git@e33fa178ef13e89bb0da62ef98ee3b0f8dfa4f2b
sphinxcontrib.youtube @ git+https://github.com/ArduPilot/sphinxcontrib-youtube.git@bfd7116c09fee13d01abb3e7f2d0c43541331839

Those can be manually removed like so:

python3 -m pip uninstall sphinxcontrib.youtube sphinx-rtd-theme

Once complete, I ran the above tests again, and noticed no change.

@srmainwaring
Copy link
Collaborator

srmainwaring commented Jan 21, 2024

@Ryanf55 if you run the server and gui separately which process seg faults? (forced to do this on macOS, but it's a useful approach for tracing issues such as this).

You're getting a very different type of error this time - not protobuf, but looks like something with rendering?

#1    Object "/home/ryan/Dev/ros2_ws/src/ardupilot_gazebo/build/libCameraZoomPlugin.so", at 0x7f16c9882aa9, in gz::sim::v8::systems::CameraZoomPlugin::PreUpdate(gz::sim::v8::UpdateInfo const&, gz::sim::v8::EntityComponentManager&)
#0    Object "/home/ryan/Dev/ros2_ws/src/ardupilot_gazebo/build/libCameraZoomPlugin.so", at 0x7f16c988125c, in gz::sim::v8::systems::CameraZoomPlugin::Impl::InitialiseCamera()
Segmentation fault (Address not mapped to object [(nil)])

@Ryanf55
Copy link
Contributor Author

Ryanf55 commented Jan 21, 2024

@Ryanf55 if you run the server and gui separately which process seg faults? (forced to do this on macOS, but it's a useful approach for tracing issues such as this).

You're getting a very different type of error this time - not protobuf, but looks like something with rendering?

#1    Object "/home/ryan/Dev/ros2_ws/src/ardupilot_gazebo/build/libCameraZoomPlugin.so", at 0x7f16c9882aa9, in gz::sim::v8::systems::CameraZoomPlugin::PreUpdate(gz::sim::v8::UpdateInfo const&, gz::sim::v8::EntityComponentManager&)
#0    Object "/home/ryan/Dev/ros2_ws/src/ardupilot_gazebo/build/libCameraZoomPlugin.so", at 0x7f16c988125c, in gz::sim::v8::systems::CameraZoomPlugin::Impl::InitialiseCamera()
Segmentation fault (Address not mapped to object [(nil)])

It crashes in headless mode too, so not rendering.

 gz sim -s -v4 -r gimbal.sdf

Protobuf was probably mixed environments. I uninstalled garden.

sudo apt -purge gz-garden && sudo apt autoremove

@Ryanf55
Copy link
Contributor Author

Ryanf55 commented Jan 21, 2024

Through some handy printf debugging, it's crashing on the call to:

this->scene = rendering::sceneFromFirstRenderEngine();

@srmainwaring
Copy link
Collaborator

srmainwaring commented Jan 21, 2024

Ok - that starts to narrow things down, so rendering.

Segmentation fault (Address not mapped to object [(nil)])

Is something I see in a VM when trying to run with hardware acceleration and there is an issue with OpenGL. It may be unconnected, but in my case it points to a problem with the OpenGL drivers (which in the case of OpenGL on VMware still do not support ogre2 rendering with acceleration even though the mesa version claims support for OpenGL 4.3).

I can see if I can replicate in an Ubuntu VM with software rendering . In the meanwhile you could enable the LIBGL_DEBUG debug flag to see if it raises anything: https://docs.mesa3d.org/envvars.html

I'm assuming the scene pointer is valid?

@Ryanf55
Copy link
Contributor Author

Ryanf55 commented Jan 22, 2024

Ok - that starts to narrow things down, so rendering.

Segmentation fault (Address not mapped to object [(nil)])

Is something I see in a VM when trying to run with hardware acceleration and there is an issue with OpenGL. It may be unconnected, but in my case it points to a problem with the OpenGL drivers (which in the case of OpenGL on VMware still do not support ogre2 rendering with acceleration even though the mesa version claims support for OpenGL 4.3).

I can see if I can replicate in an Ubuntu VM with software rendering . In the meanwhile you could enable the LIBGL_DEBUG debug flag to see if it raises anything: https://docs.mesa3d.org/envvars.html

I'm assuming the scene pointer is valid?

[Dbg] [JointPositionController.cc:361] Identified joint [gimbal::yaw_joint] as Entity [32]
[Dbg] [JointPositionController.cc:361] Identified joint [gimbal::roll_joint] as Entity [33]
[Dbg] [JointPositionController.cc:361] Identified joint [gimbal::pitch_joint] as Entity [34]
[Err] [CameraZoomPlugin.cc:168] AAB
[Err] [CameraZoomPlugin.cc:171] AAC
[Dbg] [SDFFeatures.cc:328] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes.
[Dbg] [SDFFeatures.cc:843] The geometry element of collision [yaw_collision] couldn't be created
[Dbg] [SDFFeatures.cc:328] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes.
[Dbg] [SDFFeatures.cc:843] The geometry element of collision [roll_collision] couldn't be created
[Dbg] [SDFFeatures.cc:328] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes.
[Dbg] [SDFFeatures.cc:843] The geometry element of collision [pitch_collision] couldn't be created
[Dbg] [SDFFeatures.cc:328] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes.
[Dbg] [SDFFeatures.cc:843] The geometry element of collision [collision] couldn't be created
[Dbg] [SDFFeatures.cc:328] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes.
[Dbg] [SDFFeatures.cc:843] The geometry element of collision [collision] couldn't be created
[Dbg] [SDFFeatures.cc:328] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes.
[Dbg] [SDFFeatures.cc:843] The geometry element of collision [collision] couldn't be created
[Dbg] [SDFFeatures.cc:328] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes.
[Dbg] [SDFFeatures.cc:843] The geometry element of collision [collision] couldn't be created
[Dbg] [SDFFeatures.cc:328] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes.
[Dbg] [SDFFeatures.cc:843] The geometry element of collision [collision] couldn't be created
[Dbg] [SDFFeatures.cc:328] Mesh construction from an SDF has not been implemented yet for dartsim. Use AttachMeshShapeFeature to use mesh shapes.
[Dbg] [SDFFeatures.cc:843] The geometry element of collision [person] couldn't be created
[Dbg] [CameraZoomPlugin.cc:403] [Dbg] [Sensors.cc:682] Initialization needed
[Dbg] [CameraZoomPlugin.cc:403] [Dbg] [Sensors.cc:682] Camera name: [mount::gimbal::pitch_link::camera].
[Dbg] [Sensors.cc:258] Initializing render context
[Msg] Loading plugin [gz-rendering-ogre2]
[Msg] Serving scene information on [/world/gimbal/scene/info]
[Msg] Serving graph information on [/world/gimbal/scene/graph]
[Msg] Serving full state on [/world/gimbal/state]
[Msg] Serving full state (async) on [/world/gimbal/state_async]
[Msg] Publishing scene information on [/world/gimbal/scene/info]
[Msg] Publishing entity deletions on [/world/gimbal/scene/deletion]
[Msg] Publishing state changes on [/world/gimbal/state]
[Msg] Publishing pose messages on [/world/gimbal/pose/info]
[Msg] Publishing dynamic pose messages on [/world/gimbal/dynamic_pose/info]
[Dbg] [EntityComponentManager.cc:1655] Updated state thread iterators: 32 threads processing around 5 entities each.
[Wrn] [Model.hh:69] Skipping serialization / deserialization for models with //pose/@relative_to attribute.
[Wrn] [Model.hh:69] Skipping serialization / deserialization for models with //pose/@relative_to attribute.
[Wrn] [Model.hh:69] [Wrn] [Model.hh:69] [Wrn] [Model.hh:69] Skipping serialization / deserialization for models 
Skipping serialization / deserialization for models with //pose/@relative_to attribute.
[Wrn] [Model.hh:69] [Wrn] [Model.hh:69] [Wrn] [Model.hh:69] Skipping serialization / deserialization for models with //pose/@relative_to attribute.


Trying to serialize component with data type [N3sdf3v145WorldE], which doesn't have `operator<<`. Component will not be serialized.
[Err] [CameraZoomPlugin.cc:168] AAB
[GUI] [Wrn] [Component.hh:189] Trying to deserialize component with data type [N3sdf3v145WorldE], which doesn't have `operator>>`. Component will not be deserialized.
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/ryan/.drirc: No such file or directory.
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/ryan/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/ryan/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/ryan/.drirc: No such file or directory.
/usr/share/libdrm/amdgpu.ids version: 1.0.0
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/ryan/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/ryan/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/ryan/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/ryan/.drirc: No such file or directory.
libEGL warning: egl: failed to create dri2 screen
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/ryan/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/ryan/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/ryan/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/ryan/.drirc: No such file or directory.
libEGL warning: egl: failed to create dri2 screen
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/ryan/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/ryan/.drirc: No such file or directory.
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[Dbg] [RenderUtil.cc:2710] Create scene [scene]
[Err] [CameraZoomPlugin.cc:178] AAD
[Msg] Loading plugin [gz-rendering-ogre2]
[Dbg] [RenderingIface.cc:175] Scene is not initialized yet
Stack trace (most recent call last):
#29   Object "[0xffffffffffffffff]", at 0xffffffffffffffff, in 
#28   Object "gz sim server", at 0x5556de47a1c4, in _start
#27   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7efc44a29e3f, in __libc_start_main
#26   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7efc44a29d8f, in 
#25   Object "gz sim server", at 0x5556de47a17e, in 
#24   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7efc44ea8e19, in ruby_run_node
#23   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7efc44ea5317, in 
#22   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7efc4503a30c, in rb_vm_exec
#21   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7efc45034c96, in 
#20   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7efc45031fc5, in 
#19   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7efc4502fc34, in 
#18   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7efc44f7ba1e, in 
#17   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7efc44ea69ac, in rb_protect
#16   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7efc4503ec61, in rb_yield
#15   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7efc4503a30c, in rb_vm_exec
#14   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7efc45034c96, in 
#13   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7efc45031fc5, in 
#12   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7efc4502fc34, in 
#11   Object "/usr/lib/x86_64-linux-gnu/ruby/3.0.0/fiddle.so", at 0x7efc44c7544b, in 
#10   Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7efc44ffd088, in rb_nogvl
#9    Object "/usr/lib/x86_64-linux-gnu/ruby/3.0.0/fiddle.so", at 0x7efc44c74d6b, in 
#8    Object "/lib/x86_64-linux-gnu/libffi.so.8", at 0x7efc44c31492, in 
#7    Object "/lib/x86_64-linux-gnu/libffi.so.8", at 0x7efc44c34e2d, in 
#6    Object "/usr/lib/x86_64-linux-gnu/libgz-sim8-gz.so.8.0.0", at 0x7efc40e6a7b2, in runServer
#5    Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7efc3fd37cf5, in 
#4    Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7efc3fd437c2, in gz::sim::v8::SimulationRunner::Run(unsigned long)
#3    Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7efc3fd4fd10, in gz::sim::v8::SimulationRunner::Step(gz::sim::v8::UpdateInfo const&)
#2    Object "/lib/x86_64-linux-gnu/libgz-sim8.so.8", at 0x7efc3fd42bb1, in gz::sim::v8::SimulationRunner::UpdateSystems()
#1    Object "/home/ryan/Dev/ros2_ws/src/ardupilot_gazebo/build/libCameraZoomPlugin.so", at 0x7efbfc3c6b41, in gz::sim::v8::systems::CameraZoomPlugin::PreUpdate(gz::sim::v8::UpdateInfo const&, gz::sim::v8::EntityComponentManager&)
#0    Object "/home/ryan/Dev/ros2_ws/src/ardupilot_gazebo/build/libCameraZoomPlugin.so", at 0x7efbfc3c525c, in gz::sim::v8::systems::CameraZoomPlugin::Impl::InitialiseCamera()
Segmentation fault (Address not mapped to object [(nil)])
[GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model

In CameraZoomPlugin::Impl::InitialiseCamera, the reason it's calling rendering::sceneFromFirstRenderEngine is because the this->scene evaluates to false (it's nullptr). The intent of that function seems to be to allocate this->scene.

Note - the docs for SceneFromFirstRenderEngine say this:

    /// It's not recommended to call this function when there's more than one
    /// engine or scene.

I added an assertion just after this call that the scen is not null, and it returns false. Thus, the logic of calling !this->scene->IsInitialized() is dereferencing a nullptr. I should have known, printf debugging would be dropped just before a segfault because IO doesn't have time to print to console before the program is halted.

I was able to make a fix to this and pushed a patch to my branch bugfix/camera-initialize-nullptr-crash. While it protects against the crash, the camera doesn't seem to ever retry. I can't find where InitialiseCamera gets called. The topic exists, but there is no data. I have to manually add the image display to get that topic box to show up.

image

@srmainwaring
Copy link
Collaborator

Thanks for the fix, missed the check for the scene ptr before checking it's valid.

You can add the ImageDisplay widget to your gui.config, or you can save your config when it's loaded using the left menu. The sensors in Gazebo are lazy, they will not publish unless there is a subscriber. Not sure whether this also includes initialisation?

InitialiseCamera is called in the plugin Pre-Update. It will be called every loop until the member variable camera, which is set in the function, is valid.

@Ryanf55
Copy link
Contributor Author

Ryanf55 commented Jan 22, 2024

Thanks for the fix, missed the check for the scene ptr before checking it's valid.

You can add the ImageDisplay widget to your gui.config, or you can save your config when it's loaded using the left menu. The sensors in Gazebo are lazy, they will not publish unless there is a subscriber. Not sure whether this also includes initialisation?

InitialiseCamera is called in the plugin Pre-Update. It will be called every loop until the member variable camera, which is set in the function, is valid.

The reason it wasn't showing up was because I needed to hit play 🤦

PR submitted!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants