10 Replies Latest reply on Oct 14, 2019 2:40 AM by KotnaniK_71

    Crash/reboot when calling wiced_dct_read_lock()


      I've created a project, copied the config_join_ping example used on the CYW943907AEVAL1F board.  In my copy I create a 2nd thread to do some other work, and created two new console commands to allow me to monitor / test my worker thread.


      My worker thread is small, currently it has 2 jobs - 1 send a command via a different UART to another processor, get a response; after the response I need to make a decision based on the state of our WiFi provisioning.  However if I call wiced_dct_read_lock( (void**) &dct_wifi_config, WICED_FALSE, DCT_WIFI_CONFIG_SECTION, 0, sizeof( *dct_wifi_config ) ) from my worker thread, the device resets.


      If I call the same from the console thread, (in a test command function I added), it works fine, but seems it cannot be called from a different thread.


      There is a delay at the start of my worker thread, to allow the console to finish printing and ensure nothing else should be going on at the same time, although from my reading wiced_dct_read_lock should be thread safe.


      Anyone have any idea why / what I'm doing wrong?


      I've been unable to run the debugger because in a debug build I don't get this far - separate question on that subject already posted.