tinyb: GLib-GIO-CRITICAL g_dbus_interface_get_info: assertion 'G_IS_DBUS_INTERFACE (interface_)' failed
Hello:
I have the following setup: Hello:
4.19.27-gentoo-r1 dev-libs/glib-2.56.4:2 sys-apps/dbus-1.12.12-r1 net-wireless/bluez-5.50-r1 g++ (Gentoo Hardened 8.2.0-r6 p1.7) 8.2.0
I have read the previous posts on this issue. However they have not helped me.
When I run hellotinyb I get the following:
(process:26464): GLib-GIO-CRITICAL **: 20:56:54.789: g_dbus_interface_get_info: assertion 'G_IS_DBUS_INTERFACE (interface_)' failed
I have run it through gdb and the ouput follows:
Discovered devices: Class = BluetoothDevice Path = /org/bluez/hci0/dev_54_6C_0E_52_F9_1F Name = CC2650 SensorTag Connected = 0 Stopped = true Discovered services:
(process:26464): GLib-GIO-CRITICAL **: 20:56:54.789: g_dbus_interface_get_info: assertion 'G_IS_DBUS_INTERFACE (interface_)' failed
Thread 4 "hellotinyb" received signal SIGTRAP, Trace/breakpoint trap. [Switching to Thread 0x7fffef7fe700 (LWP 26470)] 0x00007ffff7626ba5 in ?? () from /usr/lib64/libglib-2.0.so.0 (gdb) bt #0 0x00007ffff7626ba5 in ?? () from /usr/lib64/libglib-2.0.so.0 #1 0x00007ffff7627ebd in g_logv () from /usr/lib64/libglib-2.0.so.0 #2 0x00007ffff762808f in g_log () from /usr/lib64/libglib-2.0.so.0 #3 0x00007ffff7303f3a in g_dbus_interface_get_info () from /usr/lib64/libgio-2.0.so.0 #4 0x00007ffff7b7dcab in tinyb::BluetoothEventManager::on_interface_added ( object=0x55555578a890, interface=0x55555578f020, user_data=0x5555557eccd0) at /home/encryptedDiskMountPoint/wsuhanic/tinyb/src/BluetoothManager.cpp:44
Any guidance/help in terms of addressing this issue will be greatly appreciated.
thank you,
west suhanic
Hello All:
After getting more debug info, the code is failing in /usr/src/debug/dev-libs/glib-2.56.4/glib-2.56.4/gio/gdbusinterface.c at line 62.
This code is:
GDBusInterfaceInfo * g_dbus_interface_get_info (GDBusInterface *interface_) { g_return_val_if_fail (G_IS_DBUS_INTERFACE (interface_), NULL); return G_DBUS_INTERFACE_GET_IFACE (interface_)->get_info (interface_); }
This code does what it is supposed to do because in BluetoothManager.cpp at line 44 the code is:
GDBusInterfaceInfo *info = g_dbus_interface_get_info(interface);
further along it says:
/* Unknown interface, ignore */ if (info == NULL) return; Why is the interface NULL? Under g++ v7.3 the code works flawlessly with the same version of tinyb/bluez. Any ideas?
thanks, west suhanic