This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC3220SF-LAUNCHXL: [ERROR] - FATAL ERROR: Driver Abort detected.

Part Number: CC3220SF-LAUNCHXL
Other Parts Discussed in Thread: CC3220SF, CC3235SF

Hello,

I am getting below errors when trying to run MQTT Client and transmitting and receiving UDP data simultaneously.

[ERROR] - FATAL ERROR: Driver Abort detected.
and sometimes [ERROR] - FATAL ERROR: Abort NWP event detected.

I am trying to publish periodically data over MQTT(every 5 seconds)
and in parallel two UDP sockets are sending and receiving RTP data at a rate of 1Mbps and 128kbps.
The errors only occur when both activities happen simultaneously.

I tested the behaviour on both cc3220sf and cc3235sf launchpad boards.

I have attached NWP and MAC log files. I can also share Wireshark capture and application privately as they contain confidential information.

NWP_Driver Abort detected.log

MAC_Driver Abort detected.log

  • Hi Jitendra,

    Which SP are you using?

    Were the logs taken using CC3220 or CC3235?

    Br,

    Kobi

  • Can you check the call stack status when the SimpleLinkFatalErrorEventHandler is invoked?

    Thanks,

    Kobi

  • Hi Kobi,

    I am using simplelink_cc32xx_sdk_3_20_00_06 and latest service pack.

    [I] CHIP: 0x30000019
    [I] MAC: 2.0.0.0
    [I] PHY: 2.2.0.6
    [I] NWP: 3.11.0.6
    [I] ROM: 0
    [I] HOST: 3.0.1.54

    I am getting similar results on both CC3220SF and CC3235SF.

    I am getting this one more error sometimes in place of the above-mentioned errors.

    [ERROR] - FATAL ERROR: Sync loss detected

    Below attached is the call stack and task list.

    I noticed in the task list multiple tasks with the name Mqtt_client. Not sure why they are created.

    I have one more query. Is the tool for parsing logs binary data from NWP and MAC available publicaly?

  • Hi,

    Currently, the log parser is not available publicly. 

    The SP you are using is not the one from SDK 3.20 (SP should be 3.12.0.1_....). Please update

    BTW. SDK 3.30 is already available with newer SP.

    SP 3.12.0.1 had a fix related the use of internal HTTP server with external sockets (do you enable the internal HTTP)?

    I don't understand why you have multiple instances of the MqttClientThread. Please verify your code (have you changed anything in the MQTT Client (app) implementation comparing to the example?). The multiple instances are not shown under the CallStacks tab (only under the Detailed tab), did you remove them (when you took the screenshot)?

    Did you put a breakpoint in the SimpleLinkFatalErrorEventHandler? The call stack doesn't seem to show this function.

    Br,

    Kobi

  • Hi Kobi,

    Thanks for the inputs. I think I found the trouble. The JSON library was creating trouble.

    Regards

  • Hi Kobi,

    I am also not sure about multiple MQTT client threads.

    I have not edited the attached images.

    The multiple instances are created when the client disconnects and reconnected again.

    The client does a pthread_exit(0); whenever a disconnection happens.

    And it does  pthread_create when reconnects.

    Is it the correct way of doing it?

    I noticed eventually after multiple reconnections pthread_create fail with error code 12. 

    I need to check if I have modified something that can cause this behavior.

    Regards

  • The pthread_exit() should terminate the thread.

    Are you sure it actually gets to the pthread_exit() call?

    you can handle re-connection within the client thread (i.e. instead of exiting, the thread would try to reconnect), but I would focus on verifying the pthread_exit() execution.

    Br,

    Kobi

  • Check your heapmem in TIRTOS view. I think you are running of heap memory.

    -CE