This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

packet_buffer_reserve() causes fault during long term test

Hi teams,

I am developing with Mesh SDK 4.0.0, and suffers from random fault during long-term test.

The last readable callstack position is the below.

NRF_MESH_ASSERT(m_get_packet(p_buffer, p_buffer->head)->packet_state !=
                    PACKET_BUFFER_MEM_STATE_RESERVED);

The callstack is QDEC_IRQHandler() -> bearer_event_handler() -> flag_event_cb() -> fire_timers() -> iv_update_timer_handler() -> iv_update_timeout_counter_store() -> mesh_config_entry_set() -> entry_store() -> dirty_entries_process() -> mesh_config_backend_store() -> mesh_config_backend_record_write() -> flash_manager_entry_alloc() -> reserve_action_buffer() -> packet_buffer_reserve()

This device is heavily loaded to send some data gathered from mesh network to local ethernet.

I am not sure exactly what kind of exception happens because I am not so familiar to SEGGER embedded studio.

Can someone explain what is the above error, and give some advice how to debug it?

Parents
  • Hi Choe, 


    Could you tell how long in to the test when that happened ? 
    I suspect that it has something to do with the IV index update. 
    How often do you send data from a node (the one send the most) ? Could you give some more information about your test setup ? 

  • I have 1 element & 6 models in it.

    3 models are servers and the other 3 models are clients. and 2 out of 3 server models are publishing every 10 minutes, and 1 model publishes every 10 seconds.

    3 client models are receiving each server messages including messages from the own node, and then send them to the ethernet with some specific format.

    Can these information be helpful to figure out the problem?

    BTW, I modified logging and send them to UART instead of RTT.

    When I send logging back to RTT, the frequency of this error is much lower or seems to be disappeared.

    I am trying to reproduce this error in RTT logging mode, but until now it doesn't occur.

    The UART function may impact on the performance or integrity of Mesh?

  • Could you clarify that you only has one 1 node in this mesh network ? And the 3 servers are sending the message to the 3 client internally on the same node ? 
    If it's the case what's exactly the purpose of doing so ? 
    What did you printout on the UART log ? 

Reply Children
Related