You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Board: ESP-WROOM-32D
Core Installation version: ?
IDE name: Platform.io
Flash Frequency: 40Mhz
Upload Speed: 115200
Computer OS: Windows 10
Description:
When running a BLE scan for a long time (timeout=0), or in an environment full of BLE transmitters, memory gets full and eventually leading to a system crash.
Sketch:
BLEDevice::init("");
pBLEScan = BLEDevice::getScan(); //create new scan
pBLEScan->setAdvertisedDeviceCallbacks(new MyAdvertisedDeviceCallbacks());
pBLEScan->setActiveScan(true); //active scan uses more power, but get results faster
BLEScanResults foundDevices = pBLEScan->start(0);
In BLEScan.c, the following line (106):
BLEAdvertisedDevice *advertisedDevice = new BLEAdvertisedDevice();
is not safe, because there is no check that new() operator returned a valid address, leading to system crash in case of low memory.
The text was updated successfully, but these errors were encountered:
[STALE_SET] This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs. Thank you for your contributions.
I have a device doing BLE Scans and it works fine in general.
Yesterday I tried it in a fair where there were at least 200 beacons around me.
My scan time is 5 sec.
The device crashes and I suppose it is because of memory issue too.
Hardware:
Board: ESP-WROOM-32D
Core Installation version: ?
IDE name: Platform.io
Flash Frequency: 40Mhz
Upload Speed: 115200
Computer OS: Windows 10
Description:
When running a BLE scan for a long time (timeout=0), or in an environment full of BLE transmitters, memory gets full and eventually leading to a system crash.
Sketch:
In BLEScan.c, the following line (106):
BLEAdvertisedDevice *advertisedDevice = new BLEAdvertisedDevice();
is not safe, because there is no check that new() operator returned a valid address, leading to system crash in case of low memory.
The text was updated successfully, but these errors were encountered: