Skip to content
This repository has been archived by the owner on Jan 4, 2023. It is now read-only.

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

Open
westsuhanic opened this issue Mar 12, 2019 · 1 comment

Comments

@westsuhanic
Copy link

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
Copy link
Author

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

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

No branches or pull requests

1 participant