When I tried to scan for devices using the new version of binc, I wanted to filter devices by manufacturer ID instead of UUID. So I called the filter interface like this:
binc_adapter_set_discovery_filter(m_pDefaultAdapter, -100, NULL, NULL);binc_adapter_start_discovery(m_pDefaultAdapter);
Thread 1 "utcl" received signal SIGSEGV, Segmentation fault.
0x0000007ff7694c1c in g_variant_iter_loop () from /usr/lib/libglib-2.0.so.0
(gdb) bt
#0 0x0000007ff7694c1c in g_variant_iter_loop () from /usr/lib/libglib-2.0.so.0
#1 0x0000007ff75e695c in binc_internal_device_update_property () from /usr/lib/bluetooth/libbinc.so.0
#2 0x0000007ff75dbd40 in binc_adapter_find_all () from /usr/lib/bluetooth/libbinc.so.0
#3 0x0000007ff75dbe38 in binc_adapter_get_default () from /usr/lib/bluetooth/libbinc.so.0
#4 0x0000000000417fc8 in utcl::BLEMaster::init() ()
#5 0x00000000004136cc in utcl::CBlueToothChannel::init(utcl::CConfig const*) ()
#6 0x0000000000467e68 in utcl::CSession::init(utcl::CConfig const*) ()
#7 0x00000000004693c0 in testBlueToothClient(int) ()
#8 0x00000000004128fc in main ()
When I pass a filtered UUID in the third parameter, there is no segmentation fault.
I also tried calling it this way in the old 2023 version of the binc library I used before, and no such segmentation fault occurred. May I ask if there is a way to not filter UUIDs in the latest version of the library? Could this segmentation fault be a bug?
I want to read the broadcast manufacturer data and parse it to filter devices myself. Is this filtering method in line with normal application scenarios? How do other products usually filter devices?
I look forward to your reply very much. Thank you.
When I tried to scan for devices using the new version of binc, I wanted to filter devices by manufacturer ID instead of UUID. So I called the filter interface like this:
binc_adapter_set_discovery_filter(m_pDefaultAdapter, -100, NULL, NULL);binc_adapter_start_discovery(m_pDefaultAdapter);
Thread 1 "utcl" received signal SIGSEGV, Segmentation fault.
0x0000007ff7694c1c in g_variant_iter_loop () from /usr/lib/libglib-2.0.so.0
(gdb) bt
#0 0x0000007ff7694c1c in g_variant_iter_loop () from /usr/lib/libglib-2.0.so.0
#1 0x0000007ff75e695c in binc_internal_device_update_property () from /usr/lib/bluetooth/libbinc.so.0
#2 0x0000007ff75dbd40 in binc_adapter_find_all () from /usr/lib/bluetooth/libbinc.so.0
#3 0x0000007ff75dbe38 in binc_adapter_get_default () from /usr/lib/bluetooth/libbinc.so.0
#4 0x0000000000417fc8 in utcl::BLEMaster::init() ()
#5 0x00000000004136cc in utcl::CBlueToothChannel::init(utcl::CConfig const*) ()
#6 0x0000000000467e68 in utcl::CSession::init(utcl::CConfig const*) ()
#7 0x00000000004693c0 in testBlueToothClient(int) ()
#8 0x00000000004128fc in main ()
When I pass a filtered UUID in the third parameter, there is no segmentation fault.
I also tried calling it this way in the old 2023 version of the binc library I used before, and no such segmentation fault occurred. May I ask if there is a way to not filter UUIDs in the latest version of the library? Could this segmentation fault be a bug?
I want to read the broadcast manufacturer data and parse it to filter devices myself. Is this filtering method in line with normal application scenarios? How do other products usually filter devices?
I look forward to your reply very much. Thank you.