tinyb icon indicating copy to clipboard operation
tinyb copied to clipboard

tinyb: GLib-GIO-CRITICAL g_dbus_interface_get_info: assertion 'G_IS_DBUS_INTERFACE (interface_)' failed

Open westsuhanic opened this issue 6 years ago • 1 comments

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

westsuhanic avatar Mar 12 '19 01:03 westsuhanic

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

westsuhanic avatar Mar 12 '19 15:03 westsuhanic