NimBLE-Arduino icon indicating copy to clipboard operation
NimBLE-Arduino copied to clipboard

Panic in haveName/findAdvField

Open DTTerastar opened this issue 3 years ago • 1 comments

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...

DTTerastar avatar Mar 13 '22 21:03 DTTerastar

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.

h2zero avatar Mar 16 '22 01:03 h2zero