NimBLE-Arduino
NimBLE-Arduino copied to clipboard
Panic in haveName/findAdvField
Not sure yet if this is a fluke or not:
Version 1.3.7:
Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled.
Core 1 register dump:
PC : 0x400ef180 PS : 0x00060230 A0 : 0x800ef3fc A1 : 0x3ffe86f0
A2 : 0x00000000 A3 : 0x00000009 A4 : 0x00000000 A5 : 0x00000000
A6 : 0x00000001 A7 : 0x3ffc47bc A8 : 0x00000000 A9 : 0xabba1234
A10 : 0x000000d8 A11 : 0x00000001 A12 : 0x00000007 A13 : 0x3f404430
A14 : 0xabba1234 A15 : 0x00000000 SAR : 0x0000000a EXCCAUSE: 0x0000001c
EXCVADDR: 0xabba1234 LBEG : 0x4000c46c LEND : 0x4000c477 LCOUNT : 0xffffffff
ELF file SHA256: 0000000000000000
Backtrace: 0x400ef180:0x3ffe86f0 0x400ef3f9:0x3ffe8710 0x400f48ba:0x3ffe8730 0x400f4aff:0x3ffe87d0 0x400d30da:0x3ffe87f0 0x400e18e1:0x3ffe8810 0x400e3fb2:0x3ffe8850 0x400e856d:0x3ffe88c0 0x400e8619:0x3ffe8900 0x400e8865:0x3ffe8920 0x400e758d:0x3ffe8940 0x400ee0c2:0x3ffe8960 0x400e0f1f:0x3ffe8980 0x40091182:0x3ffe89a0
#0 0x400ef180:0x3ffe86f0 in NimBLEAdvertisedDevice::findAdvField(unsigned char, unsigned char, unsigned char*) at .pio/libdeps/m5stickc-plus/NimBLE-Arduino/src/NimBLEAdvertisedDevice.cpp:464
#1 0x400ef3f9:0x3ffe8710 in NimBLEAdvertisedDevice::haveName() at .pio/libdeps/m5stickc-plus/NimBLE-Arduino/src/NimBLEAdvertisedDevice.cpp:464
#2 0x400f48ba:0x3ffe8730 in BleFingerprint::fingerprint(NimBLEAdvertisedDevice*) at .pio/libdeps/m5stickc-plus/ArduinoJson/src/ArduinoJson/Misc/SafeBoolIdiom.hpp:15
#3 0x400f4aff:0x3ffe87d0 in BleFingerprint::seen(NimBLEAdvertisedDevice*) at .pio/libdeps/m5stickc-plus/ArduinoJson/src/ArduinoJson/Misc/SafeBoolIdiom.hpp:15
#4 0x400d30da:0x3ffe87f0 in BleFingerprintCollection::onResult(NimBLEAdvertisedDevice*) at .pio/libdeps/m5stickc-plus/ArduinoJson/src/ArduinoJson/Misc/SafeBoolIdiom.hpp:15
#5 0x400e18e1:0x3ffe8810 in NimBLEScan::handleGapEvent(ble_gap_event*, void*) at .pio/libdeps/m5stickc-plus/NimBLE-Arduino/src/NimBLEScan.cpp:413
#6 0x400e3fb2:0x3ffe8850 in ble_gap_disc_report at .pio/libdeps/m5stickc-plus/NimBLE-Arduino/src/nimble/host/src/ble_gap.c:6168
(inlined by) ble_gap_rx_adv_report at .pio/libdeps/m5stickc-plus/NimBLE-Arduino/src/nimble/host/src/ble_gap.c:1499
#7 0x400e856d:0x3ffe88c0 in ble_hs_hci_evt_le_adv_rpt at .pio/libdeps/m5stickc-plus/NimBLE-Arduino/src/nimble/host/src/ble_hs_hci_evt.c:501
#8 0x400e8619:0x3ffe8900 in ble_hs_hci_evt_le_meta at .pio/libdeps/m5stickc-plus/NimBLE-Arduino/src/nimble/host/src/ble_hs_hci_evt.c:301
#9 0x400e8865:0x3ffe8920 in ble_hs_hci_evt_process at .pio/libdeps/m5stickc-plus/NimBLE-Arduino/src/nimble/host/src/ble_hs_hci_evt.c:859
#10 0x400e758d:0x3ffe8940 in ble_hs_event_rx_hci_ev at .pio/libdeps/m5stickc-plus/NimBLE-Arduino/src/nimble/nimble_npl_os.h:109
#11 0x400ee0c2:0x3ffe8960 in ble_npl_event_run at .pio/libdeps/m5stickc-plus/NimBLE-Arduino/src/porting/nimble/src/nimble_port.c:130
(inlined by) nimble_port_run at .pio/libdeps/m5stickc-plus/NimBLE-Arduino/src/porting/nimble/src/nimble_port.c:81
#12 0x400e0f1f:0x3ffe8980 in NimBLEDevice::host_task(void*) at .pio/libdeps/m5stickc-plus/NimBLE-Arduino/src/NimBLEDevice.cpp:855 (discriminator 1)
#13 0x40091182:0x3ffe89a0 in vPortTaskWrapper at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/port.c:355 (discriminator 1)
Rebooting...
I cannot reproduce this so far. From the log it looks like a variable was unitialized, the value 0xabba1234 is interesting as that is the heap head value.