Hello,
I did a virtual simulator of drone some months ago. It includes Gazebo, Ardupilot SITL and Gazebo GstCameraPlugin plugin that uses gstreamer ( GitHub - ArduPilot/ardupilot_gazebo: Plugins and models for vehicle simulation in Gazebo Sim with ArduPilot SITL controllers · GitHub ).
Every thing worked fine.
I tried to execute it again, and now I’ve errors with Glib :
(gz sim server:9527): GLib-GObject-CRITICAL : 19:43:48.781: g_param_spec_pool_lookup: assertion ‘pool != NULL’ failed
Stack trace (most recent call last) in thread 9862:
#14 Object “[0xffffffffffffffff]”, at 0xffffffffffffffff, in
#13 Object “/lib/x86_64-linux-gnu/libc.so.6”, at 0x7cd92e5268cf, in
#12 Object “/lib/x86_64-linux-gnu/libc.so.6”, at 0x7cd92e494ac2, in
#11 Object “/home/a.tricault@ad.inanix.fr/git/github/ardupilot_gazebo/build/libGstCameraPlugin.so”, at 0x7cd882c53fac, in gz::sim::v8::systems::GstCameraPlugin::Impl::StartThread(void)
#10 Object “/home/a.tricault@ad.inanix.fr/git/github/ardupilot_gazebo/build/libGstCameraPlugin.so”, at 0x7cd882c53ae3, in gz::sim::v8::systems::GstCameraPlugin::Impl::StartGstThread()
#9 Object “/home/a.tricault@ad.inanix.fr/git/github/ardupilot_gazebo/build/libGstCameraPlugin.so”, at 0x7cd882c51780, in gz::sim::v8::systems::GstCameraPlugin::Impl::CreateGenericPipeline(_GstElement)
#8 Object “/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0”, at 0x7cd9080c05d1, in gst_element_factory_make_with_properties
#7 Object “/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0”, at 0x7cd9080bfd6f, in gst_element_factory_create_with_properties
#6 Object “/home/a.tricault@ad.inanix.fr/git/github/ardupilot_gazebo/build/libGstCameraPlugin.so”, at 0x7cd882c6bc47, in g_object_new_with_properties
#5 Object “/home/a.tricault@ad.inanix.fr/git/github/ardupilot_gazebo/build/libGstCameraPlugin.so”, at 0x7cd882c8943f, in g_type_class_ref
#4 Object “/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstcoreelements.so”, at 0x7cd8787cdc8d, in
#3 Object “/lib/x86_64-linux-gnu/libgobject-2.0.so.0”, at 0x7cd8fff2f988, in
#2 Object “/lib/x86_64-linux-gnu/libgobject-2.0.so.0”, at 0x7cd8fff38c79, in g_param_spec_pool_lookup
#1 Object “/lib/x86_64-linux-gnu/libglib-2.0.so.0”, at 0x7cd928923702, in g_log
#0 Object “/lib/x86_64-linux-gnu/libglib-2.0.so.0”, at 0x7cd928923447, in g_logvnullptr);(gz sim server:9527): GLib-GObject-CRITICAL : 19:43:48.781: g_param_spec_pool_lookup: assertion ‘pool != NULL’ failed
Stack trace (most recent call last) in thread 9862:
#14 Object “[0xffffffffffffffff]”, at 0xffffffffffffffff, in
#13 Object “/lib/x86_64-linux-gnu/libc.so.6”, at 0x7cd92e5268cf, in
#12 Object “/lib/x86_64-linux-gnu/libc.so.6”, at 0x7cd92e494ac2, in
#11 Object “/home/a.tricault@ad.inanix.fr/git/github/ardupilot_gazebo/build/libGstCameraPlugin.so”, at 0x7cd882c53fac, in gz::sim::v8::systems::GstCameraPlugin::Impl::StartThread(void)
#10 Object “/home/a.tricault@ad.inanix.fr/git/github/ardupilot_gazebo/build/libGstCameraPlugin.so”, at 0x7cd882c53ae3, in gz::sim::v8::systems::GstCameraPlugin::Impl::StartGstThread()
#9 Object “/home/a.tricault@ad.inanix.fr/git/github/ardupilot_gazebo/build/libGstCameraPlugin.so”, at 0x7cd882c51780, in gz::sim::v8::systems::GstCameraPlugin::Impl::CreateGenericPipeline(_GstElement)
#8 Object “/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0”, at 0x7cd9080c05d1, in gst_element_factory_make_with_properties
#7 Object “/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0”, at 0x7cd9080bfd6f, in gst_element_factory_create_with_properties
#6 Object “/home/a.tricault@ad.inanix.fr/git/github/ardupilot_gazebo/build/libGstCameraPlugin.so”, at 0x7cd882c6bc47, in g_object_new_with_properties
#5 Object “/home/a.tricault@ad.inanix.fr/git/github/ardupilot_gazebo/build/libGstCameraPlugin.so”, at 0x7cd882c8943f, in g_type_class_ref
#4 Object “/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstcoreelements.so”, at 0x7cd8787cdc8d, in
#3 Object “/lib/x86_64-linux-gnu/libgobject-2.0.so.0”, at 0x7cd8fff2f988, in
#2 Object “/lib/x86_64-linux-gnu/libgobject-2.0.so.0”, at 0x7cd8fff38c79, in g_param_spec_pool_lookup
#1 Object “/lib/x86_64-linux-gnu/libglib-2.0.so.0”, at 0x7cd928923702, in g_log
#0 Object “/lib/x86_64-linux-gnu/libglib-2.0.so.0”, at 0x7cd928923447, in g_logvnullptr);
The code exectuted is pretty much very simple at this line :
GstElement *queue = gst_element_factory_make("queue", nullptr);
I’m on Ubuntu 22.04, and upgraded all packages.I tried with ubuntu Gstreamer package (version 1.20.3) and also compiled from source (1.28.1). The issue is the same.
Before this line, I also call without problems :
gst_init(nullptr, nullptr);
GMainLoop gst_loop = g_main_loop_new(nullptr, FALSE);
GstElement *pipeline = gst_pipeline_new(nullptr);
if (!pipeline)GstElement source = gst_element_factory_make(“appsrc”, nullptr);
I’m pretty sure this is a issue with GLIB (GST_INIT gst.c:833:init_post GLib runtime version: 2.72.4), a wrong version or a break install or something like that, but I couldn’t manage to find anything since 2 full days.
If you know tests or fixes…