On certain circumstances, he is observing core panics (Guru Meditation). We are investigating this here and also reported it at 1.20.0rc13 guru meditation | Pycom user forum.
While we have looked into Random memory corruption faults on ESP32-WROVER rev.1 and rev.2 when running in dual-core mode within the context of Troubleshooting the recent Pycom Firmware Release 1.20.1.r1 @poesel reported these observations even on 1.20.0rc13.
Guru Meditation Error: Core 0 panic'ed (Cache disabled but cached memory region accessed) Core 0 register dump: PC : 0x401da75c PS : 0x00060c34 A0 : 0x800921e8 A1 : 0x3ffc0970 A2 : 0x00000001 A3 : 0x00000001 A4 : 0xb33fffff A5 : 0x0000cdcd A6 : 0x3ffbdafc A7 : 0x00000000 A8 : 0x8008c97e A9 : 0x00100000 A10 : 0x11640000 A11 : 0x00000001 A12 : 0x00000013 A13 : 0x00000000 A14 : 0x3ffc48fc A15 : 0x00000002 SAR : 0x0000000e EXCCAUSE: 0x00000007 EXCVADDR: 0x00000000 LBEG : 0x00000000 LEND : 0x00000000 LCOUNT : 0x00000000 Core 0 was running in ISR context: EPC1 : 0x40093ee7 EPC2 : 0x00000000 EPC3 : 0x00000000 EPC4 : 0x401da75c Backtrace: 0x401da75c:0x3ffc0970 0x400921e5:0x3ffc0990 0x400929d7:0x3ffc09b0 0x4009271e:0x3ffc09d0 0x4009304f:0x3ffc09f0 0x4008394d:0x3ffc0a10 0x4008a44d:0x3ffd44a0 0x40081efb:0x3ffd44c0
Even with the latest firmwares taken from Troubleshooting the recent Pycom Firmware Release 1.20.1.r1  …
Guru Meditation Error: Core 0 panic'ed (Cache disabled but cached memory region accessed) Guru Meditation Error: Core 0 panic'ed (IllegalInstruction). Exception was unhandled. Memory dump at 0x40201de4: bad00bad bad00bad bad00bad
This is the code which makes my GPy crash reliably: BLE-uPy-Pycom/main.py at master · poesel/BLE-uPy-Pycom · GitHub.
Sorry to hear about that. Then, your code will probably hit a different edge case with BLE. Thanks again for trying our firmware.
Bummer! Further information can be found at [1,2], but I fear that will not help us along.
Personally, I am not able to reproduce the core panic you are observing as I don’t have any BLE devices around advertising theirselves as ‘HEN’ nodes. Sorry that we probably can’t be of any better help here.
- BLE woes ? | Pycom user forum
- ASSERT_PARAM(64,0), in rwble.c at line 222 (IDFGH-395) · Issue #2512 · espressif/esp-idf · GitHub
- [TW#27389] Core panic on OTA over BLE (Cache disabled but cached memory region accessed) (IDFGH-1685) · Issue #2687 · espressif/esp-idf · GitHub
- crash after succesful OTA over BLE (IDFGH-1682) · Issue #3923 · espressif/esp-idf · GitHub
- BLE Error Stack smashing protect failure and assertion "heap != NULL && "free() target pointer is outside heap areas"" · Issue #2308 · espressif/arduino-esp32 · GitHub
So, we’ve built yet another series of firmware images from the vanilla upstream sources plus PSRAM-fixes plus
CONFIG_FREERTOS_UNICORE and made them available on our package server. The respective build for the GPy can be found at .
While this is totally a trial-and-error thing without much substance behind, we will be happy to hear back from you about this, @poesel.
Again no joy.
@Andreas - even with the discussed modifications. It even went back to crashing after the imports.
Something is really broken here. Hopefully its the software… I’ll have to wait until Espressif and/or Pycom will sort it out.
Bummer. Sorry to hear that. Good luck with the vanilla ESP32 devices then.
We might want to try decoding the coredump using
espcoredump.py as outlined on Guru Meditation Error when connecting to Eduroam (WPA2-Enterprise) | Pycom user forum if you would offer to submit this guy?
./espcoredump.py info_corefile -t b64 -c core_dump.txt firmware.elf
Another report on the Pycom user forum by @shanefowler25.
Even if we are accidentally repeating ourselves here, we scanned the ESP-IDF issues again and want to drop some pointers here.
- Bluetooth Classic (BR/ER) and Wifi cannot be used together (IDFGH-118) · Issue #1291 · espressif/esp-idf · GitHub
- Simultaneous WiFi AP + BT Classic slave causes stations to disconnect (IDFGH-424) · Issue #2619 · espressif/esp-idf · GitHub
- wifi + ble crash from time to time (IDFGH-467) · Issue #2724 · espressif/esp-idf · GitHub
- BT_GATT is crashing if gattServer didn't reply for notification subsctiption. (IDFGH-1077) · Issue #3398 · espressif/esp-idf · GitHub
- Calling esp_ble_gattc_open() on an address that has never been seen triggers interrupt wdt (IDFGH-1625) · Issue #3876 · espressif/esp-idf · GitHub
- gattc_multi_connect example doesn't work (IDFGH-2152) · Issue #4307 · espressif/esp-idf · GitHub
- ESP-NOW Examples crash during runtime (esp_wifi_set_channel failure) (IDFGH-2156) · Issue #4311 · espressif/esp-idf · GitHub
Both of these proposed solutions look interesting.
may we humbly ask you to try  again. It includes some additional fixes on the ESP-IDF level. If we are lucky, they might actually help here. For more details, enjoy .
With kind regards,
Sorry, no can do. I didn’t take the GPy with me and I will be at home only end of November.
Thanks for letting us know. You might want to check out  when coming back to this.
the Pycom engineers recently published Pycom Firmware Release 1.20.2 (thanks!). I have spotted an update specifically related to BLE.
If we are lucky, this fixes the
"bad00bad bad00bad bad00bad" errors you have been observing. So, I am humbly asking you to try GPy-1.20.2.rc3-0.8.0-vanilla-squirrel.tar.gz in order to find out. I will be happy to receive corresponding core dumps.
Thanks already and with kind regards,
Guru Meditation Error: Core 0 panic'ed (Cache disabled but cached memory region accessed) Guru Meditation Error: Core 0 panic'ed (IllegalInstruction). Exception was unhandled. Memory dump at 0x4020f450: bad00bad bad00bad bad00bad ...(many pages of the same)... Guru Meditation Error: Core 0 panic'ed (IllegalInstruction). Exception was unhandled. Memory dump at 0x4020f450: bad00bad bad00bad bad00bad Guru Meditation Error: Core 0 panic'ed (IllegalInstruction). Exception was unhandled. Guru Meditation Error: Core 0 panic'ed (Double exception) Guru Meditation Error: Core 0 panic'ed (nhandled kernel exception)
Nope, still same
Sorry to hear that and thanks again for your feedback on this.
So, it looks like some BLE interaction within BLE-uPy-Pycom/main.py at 821d2792dfd8344b17d3757fda6dbae8ba370d67 · poesel/BLE-uPy-Pycom · GitHub is still producing these kinds of fatal errors.