EmbDev.net

Forum: µC & Digital Electronics ESP32: 'Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled' caused


von Dennis M. (colmear)


Rate this post
0 useful
not useful
I am trying to connect two ESP32 via Bluetooth, while one is serving as 
the server and one as a client. Connecting the client to the server 
works just fine and discovering the characteristic works too. But when I 
try to register the characteristic for notify, I get an error message.

The rest of my code seems to work just fine, because if I don't register 
the characteristic for notifying, I don't have any problems.
if (pRemoteCharacteristic->canNotify()) {
  Serial.println("Setting up notify");
  pRemoteCharacteristic->registerForNotify(notifyCallback);
}
I always get the following error message:
Guru Meditation Error: Core  1 panic'ed (LoadProhibited). Exception was unhandled.
Core 1 register dump:
PC      : 0x400d495f  PS      : 0x00060330  A0      : 0x800d4154      A1      : 0x3ffca250
A2      : 0x00000000  A3      : 0x3ffca29e  A4      : 0x00000002      A5      : 0x00000000
A6      : 0x3ffe1ac8  A7      : 0x3f01a2e0  A8      : 0x800d3e4c      A9      : 0x3ffca200
A10     : 0x3ffca24c  A11     : 0xaab8b50c  A12     : 0x3ffc60e4      A13     : 0xaab8b50c
A14     : 0x3ffca200  A15     : 0xff000000  SAR     : 0x00000008      EXCCAUSE: 0x0000001c
EXCVADDR: 0x00000030  LBEG    : 0x4000c2e0  LEND    : 0x4000c2f6      LCOUNT  : 0x00000000

Backtrace: 0x400d495f:0x3ffca250 0x400d4151:0x3ffca280 0x400d1ba5:0x3ffca2e0 0x400d1c42:0x3ffca350 0x400d86bd:0x3ffca390 0x40090461:0x3ffca3b0

Does anyone know how to avoid this error?

Thanks in advance,
Dennis

von stefanus (Guest)


Rate this post
1 useful
not useful
That means, the program crashed somewhere.

The "Guru Meditation Error" is a joke, referring to Commodore Amiga 
computers.

von Dennis M. (colmear)


Rate this post
0 useful
not useful
stefanus wrote:
> That means, the program crashed somewhere.

I know that the program crashes during registerForNotify(), so if I 
comment this line, the program works as expected, just without 
notifying.

von Andreas B. (andreasb)


Rate this post
0 useful
not useful
See here:
https://github.com/espressif/arduino-esp32/issues/602

Quote:
> It looks to me that your call back address is invalid. The Function
> Address you passed when you registered your subscribe function is not
> correct. Verify you passed the correct function.
>
>This is just a guess because you did not post any code.


Is notifyCallback a function or a pointer?


Andreas

von Dennis M. (colmear)


Rate this post
0 useful
not useful
notifyCallback should be a function.
static void notifyCallback(
  BLERemoteCharacteristic* pBLERemoteCharacteristic,
  uint8_t* pData,
  size_t length,
  bool isNotify) {
    Serial.println("got notified");

    Serial.print("Notify callback for characteristic ");
    Serial.print(pBLERemoteCharacteristic->getUUID().toString().c_str());
    Serial.print(" of data length ");
    Serial.println(length);
    Serial.print("data: ");
    Serial.println((char*)pData);
}

Reply

Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]




Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.