Debugging RTX error codes

Hello,
I’m fairly new to MBED OS. And need some help figuring out how to debug effectively. By doing various things, I can trigger an “RTX error code 2” in my application.
Searching through the code to find the meaning of RTX error code ‘2’, I discovered it means OS_ERROR_FIFO_OVF. OK…so what FIFO?? Luckily MBED prints the ‘task id’ which appears to be a RAM address.

RTX error code: 0x00000002, task ID: 0x200158C8

Looking in the .MAP file the closest address I found is
0x200158bc mp_tcb

But its not helpful at all to me and reading through the OS code is hard work too…I dont want to understand the OS internals…just use them --too many pointers and macros and abbreviated function names!

  1. How can I find out which thread (i.e. C/CPP code!!) this is?
  2. Why might this be happening?
  3. Do I need to recompile MBED with some special debug features turned on?

Any tips appreciated.

1 Like

to find out where the error occured you can add to you mbed_app.json

{
    "target_overrides": {
        "*": {
            "platform.error-all-threads-info": true,
            "platform.error-filename-capture-enabled": true,
        }
    }
}