Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Crash][NimBLE][ESP32-S3] BLE Indication crashes due to Interrupt WDT (IDFGH-10063) #11338

Closed
3 tasks done
chipweinberger opened this issue May 5, 2023 · 11 comments
Closed
3 tasks done
Labels
Resolution: Done Issue is done internally Status: Done Issue is done internally Type: Bug bugs in IDF

Comments

@chipweinberger
Copy link
Contributor

Answers checklist.

  • I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
  • I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
  • I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.

v4.4.4

Operating System used.

macOS

How did you build your project?

Command line with idf.py

If you are using Windows, please specify command line type.

None

Development Kit.

ESP32-S3 Dev Kit C

Power Supply used.

USB

What is the expected behavior?

No panic.

What is the actual behavior?

After about ~5 indications, eventually I hit a Interrupt WDT. See backtrace.

Steps to reproduce.

  1. connect to esp32s3 over BLE
  2. subscribe to indications
  3. indicate about ~5 times

Debug Logs.

Guru Meditation Error: Core  0 panic'ed (Interrupt wdt timeout on CPU0). 

Core  0 register dump:
PC      : 0x403880eb  PS      : 0x00060f34  A0      : 0x80378200  A1      : 0x3fcf3270  
0x403880eb: compare_and_set_native at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_hw_support/include/soc/compare_set.h:25
 (inlined by) spinlock_acquire at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_hw_support/include/soc/spinlock.h:104
 (inlined by) xPortEnterCriticalTimeout at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/freertos/port/xtensa/port.c:301

A2      : 0x3fca0068  A3      : 0x0000cdcd  A4      : 0x0000abab  A5      : 0xb33fffff  
A6      : 0x00060f23  A7      : 0x00060f20  A8      : 0x0000abab  A9      : 0x00ffffff  
A10     : 0x00060f23  A11     : 0x00000000  A12     : 0x00060f20  A13     : 0xffffffff  
A14     : 0xfff00000  A15     : 0x02ca0068  SAR     : 0x0000000a  EXCCAUSE: 0x00000005  
EXCVADDR: 0x00000000  LBEG    : 0x40056f5c  LEND    : 0x40056f72  LCOUNT  : 0xffffffff  


Backtrace: 0x403880e8:0x3fcf3270 0x403781fd:0x3fcf32b0 0x4200cda7:0x3fcf32e0
0x403880e8: compare_and_set_native at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_hw_support/include/soc/compare_set.h:25
 (inlined by) spinlock_acquire at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_hw_support/include/soc/spinlock.h:104
 (inlined by) xPortEnterCriticalTimeout at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/freertos/port/xtensa/port.c:301

0x403781fd: xPortEnterCriticalTimeoutSafe at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/freertos/port/xtensa/include/freertos/portmacro.h:598
 (inlined by) vPortEnterCriticalSafe at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/freertos/port/xtensa/include/freertos/portmacro.h:605
 (inlined by) timer_list_lock at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:305

0x4200cda7: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:319 (discriminator 1)
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:386 (discriminator 1)



Core  1 register dump:
PC      : 0x4037825f  PS      : 0x00060534  A0      : 0x80378375  A1      : 0x3fccc4f0  
0x4037825f: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:232

A2      : 0x3fcd73a0  A3      : 0x00000000  A4      : 0x3fca5e44  A5      : 0x3fca5e44  
A6      : 0x501103f3  A7      : 0x00000000  A8      : 0x3fcd73a0  A9      : 0x00000000  
A10     : 0x00000000  A11     : 0x3fca60f4  A12     : 0x00000000  A13     : 0x00000000  
A14     : 0x02fef7dd  A15     : 0x00060520  SAR     : 0x0000000a  EXCCAUSE: 0x00000005  
EXCVADDR: 0x00000000  LBEG    : 0x42016c18  LEND    : 0x42016c28  LCOUNT  : 0x00000013  
0x42016c18: gap_client_get(unsigned short) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/bluetooth/pd_bluetooth.cpp:180
 (inlined by) handle_gap_event at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/bluetooth/pd_bluetooth.cpp:528

0x42016c28: gap_client_get(unsigned short) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/bluetooth/pd_bluetooth.cpp:179
 (inlined by) handle_gap_event at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/bluetooth/pd_bluetooth.cpp:528



Backtrace: 0x4037825c:0x3fccc4f0 0x40378372:0x3fccc520 0x42095a7e:0x3fccc550 0x4208aa34:0x3fccc580 0x4208af2a:0x3fccc5b0 0x4208d9e0:0x3fccc5e0 0x4208de85:0x3fccc610 0x420172ba:0x3fccc640 0x4201738f:0x3fccc680 0x42012008:0x3fccc6c0 0x4201256e:0x3fccc710 0x42056f22:0x3fccc770 0x42014487:0x3fccc7a0 0x42014c4f:0x3fccc7d0 0x42014ddd:0x3fccc800 0x42014eff:0x3fccc830 0x42011a21:0x3fccc8b0
0x4037825c: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:232

0x40378372: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x42095a7e: npl_freertos_callout_reset at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/src/npl_os_freertos.c:393

0x4208aa34: ble_npl_callout_reset at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/include/nimble/nimble_npl_os.h:231
 (inlined by) ble_hs_timer_reset at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:452

0x4208af2a: ble_hs_timer_resched at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:483

0x4208d9e0: ble_gattc_process_status at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_gattc.c:767
 (inlined by) ble_gattc_process_status at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_gattc.c:758

0x4208de85: ble_gattc_indicate_custom at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_gattc.c:4358

0x420172ba: indicate_msg(unsigned short, unsigned short, unsigned char const*, unsigned short, pd_error_t*) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/bluetooth/pd_bluetooth.cpp:1155

0x4201738f: pd_bluetooth_indicate_client(unsigned short, pd_ble_chr_t, unsigned char const*, unsigned short, pd_error_t*) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/bluetooth/pd_bluetooth.cpp:1203

0x42012008: _ZL27pd_bthttp_socket_sendmsg_exP18pd_bthttp_socket_t20pd_btsockmsg_delim_tS1_PKhjP10pd_error_t$isra$0 at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/api/xcoms/pd_bthttp_socket.cpp:112

0x4201256e: pd_bthttp_socket_resp_send_body_bytes(pd_bthttp_socket_t*, pd_bthttp_resp_t*, unsigned char const*, unsigned int, bool, pd_error_t*) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/api/xcoms/pd_bthttp_socket.cpp:430

0x42056f22: pd_bthttp_resp_sendstr(pd_bthttp_request_t*, char const*, pd_error_t*) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/api/xcoms/pd_bthttp_txrx.cpp:70

0x42014487: pd_xtrans_resp_sendstr(pd_xtrans_t*, char const*, pd_error_t*) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/api/xcoms/pd_xtrans.cpp:412

0x42014c4f: pd_xtrans_resp_json_success(pd_xtrans_t*, cJSON*, pd_error_t*) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/api/xcoms/pd_xtrans.cpp:726 (discriminator 4)

0x42014ddd: _ZL22pd_xhandler_voidToJsonP11pd_xtrans_t18pd_xhandler_args_tP10pd_error_t$isra$0 at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/api/xcoms/pd_xhandlers.cpp:145

0x42014eff: pd_xhandler_call_api_generic(pd_xtrans_t*, pd_error_t*) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/api/xcoms/pd_xhandlers.cpp:448

0x42011a21: bthttp_task(void*) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/api/xcoms/pd_bthttp_server.cpp:231

More Information.

No response

@chipweinberger chipweinberger added the Type: Bug bugs in IDF label May 5, 2023
@github-actions github-actions bot changed the title [Crash][NimBLE][ESP32-S3] BLE Indication crashes due to Interrupt WDT [Crash][NimBLE][ESP32-S3] BLE Indication crashes due to Interrupt WDT (IDFGH-10063) May 5, 2023
@espressif-bot espressif-bot added the Status: Opened Issue is new label May 5, 2023
@rahult-github
Copy link
Collaborator

rahult-github commented May 5, 2023

Hi @chipweinberger ,

Two queries.

  1. Can you please share application level code at below lines in the handle_gap_event function ?

0x42016c18: gap_client_get(unsigned short) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/bluetooth/pd_bluetooth.cpp:180
(inlined by) handle_gap_event at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/bluetooth/pd_bluetooth.cpp:528

0x42016c28: gap_client_get(unsigned short) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/bluetooth/pd_bluetooth.cpp:179
(inlined by) handle_gap_event at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/bluetooth/pd_bluetooth.cpp:528

  1. Is it possible for you to suggest what changes you are doing that can be put on existing IDF examples , so as to reproduce issue at our end ?

@chipweinberger
Copy link
Contributor Author

chipweinberger commented May 5, 2023

  1. Can you please share application level code at below lines in the handle_gap_event function ?

Yes. Here it is. To be honest, I don't understand why gap_client_get function appears in the registers. Do you? I don't really understand this stack trace.

Note: gap_client_get is called in handle_gap_event, i.e. from ble_gap_adv_start(...,handle_gap_event, NULL);, so I can potentially see why it might cause a problem. But it seem like a red-herring.

gap_client_get:

pd_bt_connected_client_t* gap_client_get(uint16_t gapConnHandle)
{
    for (int i = 0; i < MAX_BLE_CLIENTS; i++) {
        if (connectedClients[i].isValid &&
            connectedClients[i].gapConnHandle == gapConnHandle)
        {
            return &connectedClients[i];
        }
    }
    return NULL;
}

And here are my other BLE related functions that appear in that stackstrace

pd_bluetooth_indicate_client
void pd_bluetooth_indicate_client(uint16_t gapConnHandle, 
                            pd_ble_chr_t jChr,
                          const uint8_t* msg,
                                uint16_t msgLen,
                             pd_error_t* error)
{
    pd_err_unset(error);

    {
        uint16_t attrHandle = pd_ble_chr_attr_handle(jChr);

        // only indicate if client is subscribed to indications
        for (int i = 0; i < MAX_BLE_SUBSCRIPTIONS; i++){
            if (subscribedClients[i].isValid &&
                subscribedClients[i].attrHandle == attrHandle &&
                subscribedClients[i].gapConnHandle == gapConnHandle &&
                subscribedClients[i].indicate)
            {
                uint16_t gapConnHandle = subscribedClients[i].gapConnHandle;

                eTry(,indicate_msg,(gapConnHandle, attrHandle, msg, msgLen, error));
            }
        }

        pd_err_success(error);
    }
end:
    return;
}
indicate_msg
void indicate_msg(uint16_t gapConnHandle, 
                uint16_t attrHandle, 
          const uint8_t* msg, 
                uint16_t msgLen, 
             pd_error_t* error)
{
    pd_err_unset(error);

    uint16_t mtu = gap_client_mtu(gapConnHandle);

    // 3 bytes are reserved for BLE use
    if (msgLen + 3 > mtu){
        pd_err_fail(error, TAG , "msgLen %u > mtu %u", msgLen+3, mtu);
        return;
    }

    uint64_t tStart = millis();

    // before we attempt anything, make sure
    // some resources are free
    while (os_msys_num_free() < 3) {

        vTaskDelay(10 / portTICK_PERIOD_MS);

        if (millis() - tStart > 4000){
            pd_err_fail(error, TAG , "timed out (4 secs) waiting for BLE resources - ""A");
            return;
        }
    }

    struct os_mbuf* txom = NULL;
    
    // get txom
    do{
        txom = ble_hs_mbuf_from_flat(msg, msgLen);

        if (txom == NULL){

            vTaskDelay(10 / portTICK_PERIOD_MS);

            if (millis() - tStart > 4000){
                pd_err_fail(error, TAG , "timed out (4 secs) waiting for BLE resources - ""B");
                return;
            }
        }
    } while (txom == NULL);
    
    // send indication
    int rc = 0;
    do {
        rc = ble_gattc_indicate_custom(gapConnHandle, attrHandle, txom);

        if (rc == BLE_HS_ENOMEM){

            vTaskDelay(10 / portTICK_PERIOD_MS);

            if (millis() - tStart > 4000){
                pd_err_fail(error, TAG , "timed out (4 secs) waiting for BLE resources - ""C");
                return;
            }
        }
    }while (rc == BLE_HS_ENOMEM);

    // did we fail for some other reason?
    if (rc != 0) {
        pd_ble_err_fail(rc, error);
        eFail("ble_gattc_indicate_custom() failed");
        return;
    }

    pd_err_success(error);
}
handle_gap_event
static int handle_gap_event(struct ble_gap_event *event, void *arg)
{
    // always be advertising.
    start_gap_advertise();

    switch (event->type)
    {
        case BLE_GAP_EVENT_CONNECT: {

            if (event->connect.status == 0) {

                ESP_LOGI(TAG, "GAP connection: established. gapConnHandle: %u", 
                    event->connect.conn_handle);

                struct ble_gap_conn_desc desc;
                int rc = ble_gap_conn_find(event->connect.conn_handle, &desc);   
                if (rc != 0) {
                    // raise issue
                    pd_raise_uie_e2("bleConnFind", TAG,
                        "ble_gap_conn_find() failed. 0x%04x %s, %s",
                        rc, ble_rc_category_str(rc), ble_rc_str(rc));
                }

                // print connection
                ble_print_conn_desc(&desc);

                // add
                if (gap_client_add(event->connect.conn_handle) == false) {
                    return 1; // failed
                }

                // call handler
                if(onClientConnected(event->connect.conn_handle)){
                    return 0; // success
                } else {
                    return 1; // fail
                }

            } else {
                // raise issue
                pd_raise_e2(PD_ISSUE_BLUETOOTH_CONNECTION_FAIL, NULL,
                    TAG, "GAP connection: failed");
            }

            return 0; // success
        }
        case BLE_GAP_EVENT_DISCONNECT: {

            int rc = event->disconnect.reason;

            ESP_LOGI(TAG, "GAP disconnect; reason: 0x%04x %s, %s gapConnHandle: %u",
                rc, ble_rc_category_str(rc), ble_rc_str(rc), event->disconnect.conn.conn_handle);

            // print connection
            ble_print_conn_desc(&event->disconnect.conn);

            // remove
            gap_client_remove(event->disconnect.conn.conn_handle);

            // call handler
            if (onClientDisonnected(event->connect.conn_handle)){
                return 0; // success
            } else {
                return 1; // fail
            }
        }
        case BLE_GAP_EVENT_CONN_UPDATE: {

            // The central has updated the connection parameters. 
            ESP_LOGI(TAG, "GAP connection updated; status: %d ",
                event->conn_update.status);

            struct ble_gap_conn_desc desc;
            int rc = ble_gap_conn_find(event->connect.conn_handle, &desc);   
            if (rc != 0) {
                // raise issue
                pd_raise_uie_e2("bleConnFindFail", TAG, 
                    "ble_gap_conn_find() failed. 0x%04x %s, %s",
                    rc, ble_rc_category_str(rc), ble_rc_str(rc));
            }

            // print connection
            ble_print_conn_desc(&desc);

            return 0; // success

        }
        case BLE_GAP_EVENT_ADV_COMPLETE:{

            int rc = event->adv_complete.reason;

            ESP_LOGI(TAG, "GAP advertise complete; reason: 0x%04x %s, %s",
                rc, ble_rc_category_str(rc), ble_rc_str(rc));

            return 0; // success
        }
        case BLE_GAP_EVENT_MTU:

            ESP_LOGI(TAG, "GAP mtu update event:");
            ESP_LOGI(TAG, "   gap conn handle: %u", event->mtu.conn_handle);
            ESP_LOGI(TAG, "   channel id:      %u", event->mtu.channel_id);
            ESP_LOGI(TAG, "   mtu:             %u", event->mtu.value);

            gap_client_set_mtu(event->mtu.conn_handle, event->mtu.value);

            return 0; // success

        case BLE_GAP_EVENT_NOTIFY_TX: {

            uint16_t attrHandle = event->notify_tx.attr_handle;
            pd_ble_chr_t jChr = pd_ble_known_chr_attr_handle_to_enum(attrHandle);

            // dont log too much
            bool shouldLog = jChr != PD_BLE_CHR_JMX_API_SPP_TX &&
                             jChr != PD_BLE_CHR_MIDI &&
                             jChr != PD_BLE_CHR_JMX_MFS_TX;

            PD_LOGV_IF(TAG, shouldLog = true);

            if (shouldLog) {
                ESP_LOGI(TAG, "GAP Notify Tx Event:");
                ESP_LOGI(TAG, "   gap conn handle: %u", event->notify_tx.conn_handle);
                ESP_LOGI(TAG, "   att handle:      %u (%s)", attrHandle, pd_ble_chr_string(jChr));
                ESP_LOGI(TAG, "   indication: %s", event->notify_tx.indication ? "yes" : "no");
                ESP_LOGI(TAG, "   status: %s", ble_notification_status_str(event->notify_tx.status));
            }

            pd_bt_connected_client_t* connClient = gap_client_get(event->notify_tx.conn_handle);

            // increment counter
            if (connClient){
                connClient->onChrNotifyCounters[jChr]++;
            }
            
            return 0; // success

        }
        case BLE_GAP_EVENT_SUBSCRIBE: {

            uint16_t attrHandle = event->subscribe.attr_handle;
            pd_ble_chr_t jChr = pd_ble_known_chr_attr_handle_to_enum(attrHandle);

            ESP_LOGI(TAG, "GAP subscribe event:");
            ESP_LOGI(TAG, "   gap conn handle: %u", event->subscribe.conn_handle);
            ESP_LOGI(TAG, "   att handle:      %u (%s)", attrHandle, pd_ble_chr_string(jChr));
            ESP_LOGI(TAG, "   cur indicate:    %u", event->subscribe.cur_indicate);
            ESP_LOGI(TAG, "   cur notify:      %u", event->subscribe.cur_notify);
            ESP_LOGI(TAG, "   prev inficate:   %u", event->subscribe.prev_indicate);
            ESP_LOGI(TAG, "   prev notify:     %u", event->subscribe.prev_notify);
            ESP_LOGI(TAG, "   reason:          %s", ble_subscribe_reason_str(event->subscribe.reason));

            bool isSubscribed = event->subscribe.cur_notify || event->subscribe.cur_indicate;

            if (isSubscribed){

                if (gap_subscription_add(event->subscribe.conn_handle, attrHandle,
                    event->subscribe.cur_notify, event->subscribe.cur_indicate) == false) {
                    return 1; // fail
                }
                
                // call subscribe handler
                pd_bt_on_chr_subscribed_handler_t handler = get_on_chr_subscribed_handler(jChr);
                if (handler) {
                    int rv = handler(event->subscribe.conn_handle, jChr);
                    return rv;
                }
            } else {
                gap_subscription_remove(event->subscribe.conn_handle, attrHandle);

                // call unsubscribe handler
                pd_bt_on_chr_unsubscribed_handler_t handler = get_on_chr_unsubscribed_handler(jChr);
                if (handler) {
                    handler(event->subscribe.conn_handle, jChr);
                }
            }
            return 0; // success
        }
        default:
            ESP_LOGI(TAG, "GAP event: %s", ble_gap_event_str(event->type));
            return 0; // success
    }
}

@chipweinberger
Copy link
Contributor Author

chipweinberger commented May 5, 2023

Three things:

  1. I tried on espressif/v4.4 branch. Still repros. No change.

  2. I tried commenting out all the timers I am using in my code (I had a couple timers always running every second). Still repros. no change.

  3. I hit it again with a slightly different backtrace.

Guru Meditation Error: Core  0 panic'ed (Interrupt wdt timeout on CPU0). 

Core  0 register dump:
PC      : 0x40378261  PS      : 0x00060334  A0      : 0x80378375  A1      : 0x3fcd6f30  
0x40378261: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:232

A2      : 0x3fcd7388  A3      : 0x00000000  A4      : 0x3fca5e44  A5      : 0x9039dec3  
A6      : 0x00060023  A7      : 0x00000003  A8      : 0x3fcbad18  A9      : 0x0673b164  
A10     : 0x00000000  A11     : 0x3fca60f4  A12     : 0x00000000  A13     : 0x00000000  
A14     : 0x06a0db9b  A15     : 0x00060320  SAR     : 0x00000018  EXCCAUSE: 0x00000005  
EXCVADDR: 0x00000000  LBEG    : 0x40056f5c  LEND    : 0x40056f72  LCOUNT  : 0xffffffff  


Backtrace: 0x4037825e:0x3fcd6f30 0x40378372:0x3fcd6f60 0x420959fe:0x3fcd6f90 0x4208a9b4:0x3fcd6fc0 0x4208aad2:0x3fcd6ff0 0x4208ac1d:0x3fcd7020 0x42095f83:0x3fcd7050 0x42015c14:0x3fcd7080
0x4037825e: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:232

0x40378372: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x420959fe: npl_freertos_callout_reset at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/src/npl_os_freertos.c:393

0x4208a9b4: ble_npl_callout_reset at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/include/nimble/nimble_npl_os.h:231
 (inlined by) ble_hs_timer_reset at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:452

0x4208aad2: ble_hs_timer_sched at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:473

0x4208ac1d: ble_hs_timer_sched at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:462
 (inlined by) ble_hs_timer_exp at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:416
 (inlined by) ble_hs_timer_exp at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:409

0x42095f83: ble_npl_event_run at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/include/nimble/nimble_npl_os.h:125
 (inlined by) nimble_port_run at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/porting/nimble/src/nimble_port.c:78

0x42015c14: start_nimble_port_run(void*) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/bluetooth/pd_bluetooth.cpp:629



Core  1 register dump:
PC      : 0x420c17b7  PS      : 0x00060134  A0      : 0x8200677d  A1      : 0x3fcf69a0  
0x420c17b7: esp_pm_impl_waiti at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_pm/pm_impl.c:832

A2      : 0x00000000  A3      : 0x9039dec3  A4      : 0x00060023  A5      : 0x9039dec3  
A6      : 0x00005dc8  A7      : 0x02ca1120  A8      : 0x3fca5e44  A9      : 0x9039dec3  
A10     : 0x00000000  A11     : 0x9039dec3  A12     : 0x9039dec3  A13     : 0x40000000  
A14     : 0x001600ba  A15     : 0x3fced470  SAR     : 0x00000000  EXCCAUSE: 0x00000005  
EXCVADDR: 0x00000000  LBEG    : 0x00000000  LEND    : 0x00000000  LCOUNT  : 0x00000000  


Backtrace: 0x420c17b4:0x3fcf69a0 0x4200677a:0x3fcf69d0 0x4038514b:0x3fcf6a00
0x420c17b4: cpu_ll_waiti at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/hal/esp32s3/include/hal/cpu_ll.h:185
 (inlined by) esp_pm_impl_waiti at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_pm/pm_impl.c:830

0x4200677a: esp_vApplicationIdleHook at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_system/freertos_hooks.c:63

0x4038514b: prvIdleTask at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/freertos/tasks.c:3998

@chipweinberger
Copy link
Contributor Author

chipweinberger commented May 6, 2023

New info: I've found part of the issue. We are inserting timers...forever?

Code: I added code to print on every iteration of LIST_FOREACH in the timers.

static IRAM_ATTR esp_err_t timer_insert(esp_timer_handle_t timer, bool without_update_alarm)
{
        ....
        uint32_t t = 0;
        LIST_FOREACH(it, &s_timers[dispatch_method], list_entry) {
            if (t > 10){
                esp_rom_printf("timer %u\n", t);
            }
            t++;
            ....
        }
}

Whenever we hit the IWDT, it is stuck in an infinite loop:

timer 0
timer 1
timer 2
timer 3
timer 4
..... forever....

@chipweinberger
Copy link
Contributor Author

chipweinberger commented May 6, 2023

New info: there is stack corruption, it seems.

Code: I added a call to esp_backtrace_print in timer_insert.

static IRAM_ATTR esp_err_t timer_insert(esp_timer_handle_t timer, bool without_update_alarm)
{
    esp_backtrace_print(12);
Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x40378726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x40x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?

003F58A:0x3FCB4450 |<-CORRUPTED
Logs
I (5049) pd wifi: Entering Discovery Mode
I (5049) pd wifi: wifi_start_internal(ap)
I (5049) pd wifi: esp_netif_init()
I (5049) pd wifi: esp_event_loop_create_default()
I (5049) pd wifi: esp_netif_create_default_wifi_ap()
I (5049) pd wifi: esp_wifi_init()
I (5059) pp: pp rom version: e7ae62f
I (5059) net80211: net80211 rom version: e7ae62f
I (5079) wifi_init: rx ba win: 6
I (5079) wifi_init: tcpip mbox: 32
I (5079) wifi_init: udp mbox: 6
I (5079) wifi_init: tcp mbox: 6
I (5079) wifi_init: tcp tx win: 6500
I (5079) wifi_init: tcp rx win: 6500
I (5079) wifi_init: tcp mss: 1440
I (5079) wifi_init: WiFi/LWIP prefer SPIRAM
I (5089) pd wifi: esp_event_handler_instance_register(ESP_EVENT_ANY_ID)
I (5089) pd wifi: esp_event_handler_instance_register(IP_EVENT_STA_GOT_IP)
I (5089) pd wifi: esp_wifi_set_mode(WIFI_MODE_APSTA)
I (5089) pd wifi: AP channel 10
I (5089) pd wifi: switching to 'Create Wifi AP Hotspot' mode
I (5089) pd wifi: 
ssid:jamcorder-dbidrj 
password:
I (5099) pd wifi: esp_wifi_set_config(WIFI_IF_AP)
I (5109) pd wifi: esp_wifi_start()
I (5109) phy_init: phy_version 540,a5d905b,Oct 20 2022,19:36:11


Backtrace: 0x40378341:0x3FCB42F0 0x403784AE:0x3FCB4330 0x40378726:0x3FCB4360 0x40376A91:0x3FCB4390 0x421129D5:0x3FCB43C0 0x42113EAC:0x3FCB4420 0x42117729:0x3FCB4450 0x42118885:0x3FCB4470 0x4211728E:0x3FCB4490 0x4215D989:0x3FCB44B0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421129d5: ieee80211_hostap_attach at ??:?

0x42113eac: wifi_softap_start at ??:?

0x42117729: _do_wifi_start at ??:?

0x42118885: wifi_start_process at ??:?

0x4211728e: ieee80211_ioctl_process at ??:?

0x4215d989: ppTask at ??:?


I (5149) pd wifi: Wifi Event: STA Mode - Start
I (5149) pd wifi: esp_netif_dhcps_stop(0x3fcede80)
I (5149) pd wifi: Wifi Event: AP Mode - Start
I (5159) pd wifi: esp_netif_set_ip_info()
I (5159) pd wifi: esp_netif_dhcps_start(0x3fcede80)
I (5159) pd mdns: mdns_init()


Backtrace: 0x40378341:0x3FCF5310 0x40378556:0x3FCF5350 0x420AED01:0x3FCF5380 0x4204E39A:0x3FCF5410 0x4200E26F:0x3FCF5440 0x4204DF6B:0x3FCF5490 0x4204DFFC:0x3FCF56D0 0x4200E639:0x3FCF5700 0x4200F6E9:0x3FCF5750 0x42160BF7:0x3FCF5840
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x40378556: esp_timer_start_periodic at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:182 (discriminator 4)

0x420aed01: _mdns_start_timer at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/mdns/mdns.c:4672
 (inlined by) _mdns_service_task_start at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/mdns/mdns.c:4703
 (inlined by) mdns_init at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/mdns/mdns.c:4846

0x4204e39a: pd_mdns_init(pd_error_t*) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/web/pd_mdns.cpp:37

0x4200e26f: pd_after_wifi_initialized(pd_error_t*) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_app/main/pd_main.cpp:524

0x4204df6b: wifi_start_internal(pd_wifi_mode_t, pd_error_t*) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/web/pd_wifi.cpp:515

0x4204dffc: pd_wifi_start_ap_mode(pd_error_t*) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/web/pd_wifi.cpp:341

0x4200e639: start_wifi(pd_error_t*) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_app/main/pd_main.cpp:607

0x4200f6e9: app_main at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_app/main/pd_main.cpp:1268

0x42160bf7: main_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/freertos/port/port_common.c:147


timer 0
I (5159) pd mdns: mdns_hostname_set(jamcorder)
I (5169) pd mdns: mdns_instance_name_set(My Jamcorder)
I (5169) pd mdns: netbiosns_init()
I (5169) pd mdns: netbiosns_set_name(jamcorder)
I (5169) pd http api: pd_http_api_init() called
I (5169) pd http api: httpd_start()
I (5169) pd http ws keepalive: init
semaphore: 8
I (5179) pd http api: registering 202 uris
I (5199) pd midi ws out: init
I (5199) pd midi ws out: xTaskCreate midi_ws_tx_task
I (5199) pd midi ws out: allocate msg queue: 44000 bytes
I (5209) pd midi ws out: Bluetooth OUT task started
I (5209) pd mdns: mdns_delegate_hostname_add(192.168.0.196, jamcorder-dbidrj)
I (5209) pd mdns: success
I (5209) pd led ux: discovery mode
I (5209) pd console: init
I (5219) pd console: registering 202 uris


Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x40378726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x40x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?

003F58A:0x3FCB4450 |<-CORRUPTED

timer 0


Backtrace: 0x40378341:0x3FCF32A0 0x4200CFCD:0x3FCF32E0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x4200cfcd: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:353
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:392


timer 0
I (5279) pd bt midi: init
I (5279) pd bt midi in: init
I (5279) pd bt midi out: init
I (5279) pd bt midi out: xTaskCreate midi_bt_tx_task
I (5279) pd bt midi out: allocate msg queue: 44000 bytes
I (5289) pd bt midi out: Bluetooth OUT task started
I (5289) pd bthttp: init
I (5319) pd bthttp: xTaskCreate btApiTask
I (5319) pd bthttp: btApiTask started
I (5319) pd mf stream bt: init
I (5319) pd ble: init
I (5319) BLE_INIT: BT controller compile version [921f253]
I (5319) BLE_INIT: Bluetooth MAC: 00:62:69:64:72:6c

I (5329) pd ble: Start Nimble Port Run
I (5339) pd ble: GATT registered service:
I (5339) pd ble:    uuid: 0x1800
I (5339) pd ble:    svc: GAP Svc
I (5339) pd ble:    handle: 1
I (5339) pd ble: GATT registered characteristic:
I (5339) pd ble:    uuid: 0x2a00
I (5339) pd ble:    chr: GAP Device Name
I (5339) pd ble:    defHandle: 2
I (5339) pd ble:    valHandle: 3
I (5339) pd ble: GATT registered characteristic:
I (5339) pd ble:    uuid: 0x2a01
I (5349) pd ble:    chr: GAP Appearance
I (5349) pd ble:    defHandle: 4
I (5349) pd ble:    valHandle: 5
I (5349) pd ble: GATT registered service:
I (5349) pd ble:    uuid: 0x1801
I (5349) pd ble:    svc: GATT Svc
I (5349) pd ble:    handle: 6
I (5349) pd ble: GATT registered characteristic:
I (5349) pd ble:    uuid: 0x2a05
I (5359) pd ble:    chr: GATT Service Changed
I (5359) pd ble:    defHandle: 7
I (5359) pd ble:    valHandle: 8
I (5359) pd ble: GATT registered service:
I (5359) pd ble:    uuid: 02aa0001-4202-649d-ec11-dfdb58e9372d
I (5359) pd ble:    svc: Jmx API SPP Svc
I (5359) pd ble:    handle: 10
I (5359) pd ble: GATT registered characteristic:
I (5359) pd ble:    uuid: 02aa0002-4202-649d-ec11-dfdb58e9372d
I (5369) pd ble:    chr: Jmx API SPP Tx
I (5369) pd ble:    defHandle: 11
I (5369) pd ble:    valHandle: 12
I (5369) pd ble: GATT registered characteristic:
I (5369) pd ble:    uuid: 02aa0003-4202-649d-ec11-dfdb58e9372d
I (5369) pd ble:    chr: Jmx API SPP Rx
I (5369) pd ble:    defHandle: 14
I (5369) pd ble:    valHandle: 15
I (5379) pd ble: GATT registered service:
I (5379) pd ble:    uuid: cf5d0001-6fcc-47b3-80af-1aafcf967f32
I (5379) pd ble:    svc: Jmx Midi File Stream Svc
I (5379) pd ble:    handle: 16
I (5379) pd ble: GATT registered characteristic:
I (5379) pd ble:    uuid: cf5d0002-6fcc-47b3-80af-1aafcf967f32
I (5379) pd ble:    chr: Jmx MFS Tx
I (5379) pd ble:    defHandle: 17
I (5389) pd ble:    valHandle: 18
I (5389) pd ble: GATT registered service:
I (5389) pd ble:    uuid: a6510001-dc93-42ac-a3cf-fd1efe6d148d
I (5389) pd ble:    svc: Jmx Alerts Svc
I (5389) pd ble:    handle: 20
I (5389) pd ble: GATT registered characteristic:
I (5389) pd ble:    uuid: a6510002-dc93-42ac-a3cf-fd1efe6d148d
I (5389) pd ble:    chr: Jmx Alerts Tx
I (5399) pd ble:    defHandle: 21
I (5399) pd ble:    valHandle: 22
I (5399) pd ble: GATT registered service:
I (5399) pd ble:    uuid: 03b80e5a-ede8-4b33-a751-6ce34ec4c700
I (5399) pd ble:    svc: Ble Midi Svc
I (5399) pd ble:    handle: 24
I (5399) pd ble: GATT registered characteristic:
I (5399) pd ble:    uuid: 7772e5db-3868-4112-a1a9-f2669d106bf3
I (5409) pd ble:    chr: Ble Midi
I (5409) pd ble:    defHandle: 25
I (5409) pd ble:    valHandle: 26


Backtrace: 0x40378341:0x3FCD72B0 0x403784AE:0x3FCD72F0 0x42095B8A:0x3FCD7320 0x4208AB40:0x3FCD7350 0x4208B036:0x3FCD7380 0x42090252:0x3FCD73B0 0x42091F7C:0x3FCD73E0 0x42091FE6:0x3FCD7410 0x420927AC:0x3FCD7440 0x4208FAB0:0x3FCD7480 0x4208ACA5:0x3FCD74C0 0x4208B1B6:0x3FCD74F0 0x4208B1E2:0x3FCD7520 |<-CONTINUES
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x42095b8a: npl_freertos_callout_reset at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/src/npl_os_freertos.c:393

0x4208ab40: ble_npl_callout_reset at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/include/nimble/nimble_npl_os.h:231
 (inlined by) ble_hs_timer_reset at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:452

0x4208b036: ble_hs_timer_resched at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:483

0x42090252: ble_gap_slave_reset_state at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_gap.c:789
 (inlined by) ble_gap_adv_stop_no_lock at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_gap.c:2356

0x42091f7c: ble_gap_preempt_no_lock at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_gap.c:6206

0x42091fe6: ble_gap_preempt at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_gap.c:6246

0x420927ac: ble_hs_pvcy_add_entry at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs_pvcy.c:165
 (inlined by) ble_hs_pvcy_set_our_irk at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs_pvcy.c:263

0x4208fab0: ble_hs_startup_go at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs_startup.c:361

0x4208aca5: ble_hs_sync at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:345

0x4208b1b6: ble_hs_start at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:667

0x4208b1e2: ble_hs_event_start_stage2 at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:568


timer 0
timer 1
I (5419) pd ble: on_ble_sync_handler() called
I (5419) pd ble: ownAddrType: Public
I (5419) pd ble: Device Address: 00:62:69:64:72:6c
I (5419) pd ble: ***** start advertising *****


Backtrace: 0x40378341:0x3FCF32A0 0x4200CFCD:0x3FCF32E0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x4200cfcd: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:353
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:392


timer 0
I (5419) pd ble: Set BLE TX Power Level: +6dbm
I (5429) pd ble: Set BLE Advertise Power Level: +6bm
I (5429) pd midi pipeline: init
I (5429) pd midi passthrough

Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x40378726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x4003F58A:0x3FCB4450 |<-CORRUPTED
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?


timer 0
: init
I (5429) pd midi pipeline: allocate msg queue: 216000 bytes


Backtrace: 0x40378341:0x3FCF32A0 0x4200CFCD:0x3FCF32E0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x4200cfcd: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:353
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:392




Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x40378726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x4003F58A:0x3FCB4450 |<-CORRUPTED
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?


timer 0
I (5519) pd midi pipeline: xTaskCreate midi_pipeline_task
I (5519) pd midi pipeline: pipeline task started
I (5519) pd uart midi: init
I (5519) uart: queue free spaces: 100
I (5519) pd uart midi in: init
I (5519) pd uart midi in: xTaskCreate midi_uart_rx_task
I (5519) pd uart midi out: init
I (5519) pd uart midi in: rx task loop
I (5519) pd uart midi out: xTaskCreate midi_uart_tx_task
I (5529) pd uart midi out: allocate msg queue: 44000 bytes
I (5539) pd uart midi out: UART OUT task started
I (5539) pd mss: xTaskCreate mss
I (5539) pd mss: stream_file_loop started
I (5539) pd library player: init
I (5539) pd library player: xTaskCreate playerTask
I (5539) pd stsafe: init
I (5539) pd library player: player task resumed
I (5539) gpio: GPIO[38]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 
I (5549) pd library player: execute: exit
I (5549) pd library player: player task suspended


Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x40378726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x4003F58A:0x3FCB4450 |<-CORRUPTED
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?


timer 0


Backtrace: 0x40378341:0x3FCF32A0 0x4200CFCD:0x3FCF32E0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x4200cfcd: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:353
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:392


timer 0


Backtrace: 0x40378341:0x3FCF32A0 0x4200CFCD:0x3FCF32E0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x4200cfcd: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:353
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:392




Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x40378726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x4003F58A:0x3FCB4450 |<-CORRUPTED
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?


timer 0


Backtrace: 0x40378341:0x3FCD72E0 0x403784AE:0x3FCD7320 0x42095B8A:0x3FCD7350 0x4208AB40:0x3FCD7380 0x4208B036:0x3FCD73B0 0x420908D1:0x3FCD73E0 0x4208B99F:0x3FCD7470 0x4208B3EB:0x3FCD74C0 0x4208BBFD:0x3FCD74F0 0x4208ABAE:0x3FCD7520 0x4209610F:0x3FCD7550 0x42015D68:0x3FCD7580
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x42095b8a: npl_freertos_callout_reset at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/src/npl_os_freertos.c:393

0x4208ab40: ble_npl_callout_reset at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/include/nimble/nimble_npl_os.h:231
 (inlined by) ble_hs_timer_reset at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:452

0x4208b036: ble_hs_timer_resched at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:483

0x420908d1: ble_gap_slave_reset_state at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_gap.c:789
 (inlined by) ble_gap_rx_conn_complete at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_gap.c:1932

0x4208b99f: ble_hs_hci_evt_le_enh_conn_complete at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs_hci_evt.c:410
 (inlined by) ble_hs_hci_evt_le_enh_conn_complete at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs_hci_evt.c:358

0x4208b3eb: ble_hs_hci_evt_le_meta at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs_hci_evt.c:347

0x4208bbfd: ble_hs_hci_evt_process at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs_hci_evt.c:903

0x4208abae: ble_hs_event_rx_hci_ev at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:520

0x4209610f: ble_npl_event_run at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/include/nimble/nimble_npl_os.h:125
 (inlined by) nimble_port_run at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/porting/nimble/src/nimble_port.c:78

0x42015d68: start_nimble_port_run(void*) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/bluetooth/pd_bluetooth.cpp:629


timer 0
I (5689) pd ble: ***** start advertising *****
I (5689) pd ble: GAP connection: established. gapConnHandle: 1
I (5689) pd ble: Connection Description:
I (5689) pd ble:   role: Slave
I (5689) pd ble:   gap connection handle: 1
I (5689) pd ble:   our id:  Public 00:62:69:64:72:6c
I (5689) pd ble:   our ota: Public 00:62:69:64:72:6c
I (5689) pd ble:   peer id:  Random 70:e3:8d:e3:d4:15
I (5699) pd ble:   peer ota: Random 70:e3:8d:e3:d4:15
I (5699) pd ble:   connection interval:     24 (30.000ms)
I (5699) pd ble:   connection latency:      0 times
I (5699) pd ble:   supervision timeout:     72 (720ms)
I (5699) pd ble:   Secure - encrypted:      0
I (5699) pd ble:   Secure - authenticated:  0
I (5699) pd ble:   Secure - bonded:         0
I (5709) pd ble:   Secure - keySize:        0
I (5709) pd led ux: bluetooth client connected
I (5709) pd buzz: BleConnect Sound
buzz A 4 440Hz 100ms


Backtrace: 0x40378341:0x3FCF32A0 0x4200CFCD:0x3FCF32E0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x4200cfcd: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:353
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:392


timer 0


Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x40378726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x4003F58A:0x3FCB4450 |<-CORRUPTED
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?


timer 0
buzz C 4 523Hz 100ms


Backtrace: 0x40378341:0x3FCF32A0 0x4200CFCD:0x3FCF32E0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x4200cfcd: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:353
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:392


timer 0


Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x40378726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x4003F58A:0x3FCB4450 |<-CORRUPTED
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?


timer 0
buzz E 4 659Hz 100ms
I (5949) pd i2c: init
I (5949) pd i2c: driver installed
I (5949) pd stsafe utils: Reset


Backtrace: 0x40378341:0x3FCF32A0 0x4200CFCD:0x3FCF32E0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x4200cfcd: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:353
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:392


timer 0


Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x4030x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

78726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x40x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?

003F58A:0x3FCB4450 |<-CORRUPTED

timer 0
I (5979) pd stsafe utils: Are Host Keys Present?
I (5979) pd stsafe utils: Yes. Host keys are present.
I (5979) pd stsafe utils: Product Data Query
StSafeA110 Product Data:
  MaskIdentification: 0xaa4602
  STNumber: 0x7052220adc69580139
I (5999) pd stsafe utils: Echo Hello
I (6009) pd alerts: notify bt
I (6019) pd stsafe utils: Query Data Zones
I (6029) pd stsafe utils: DataZones (bytes): 1000,700,600,600,1696,64(owc),64(owc),1578
I (6029) pd stsafe: init complete
I (6029) pd light sensor: start
I (6029) pd light sensor: eFuse Vref: No
I (6029) pd light sensor: eFuse Default Vref: No
I (6029) pd light sensor: eFuse Two Point: No
I (6029) pd light sensor: eFuse Two Point Fit: YES
I (6039) pd light sensor: gpio: 8 adc: 1 channel: 7
I (6039) pd light sensor: Characterized with eFuse TP Fit
light sensor:   42mV, set  5.0% brightness (Medium)
I (6039) pd main: Waiting 1.5 seconds to give user time to push button 5x times...


Backtrace: 0x40378341:0x3FCF32A0 0x4200CFCD:0x3FCF32E0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x4200cfcd: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:353
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:392


timer 0


Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x40378726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x4003F58A:0x3FCB4450 |<-CORRUPTED
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?


timer 0
I (6129) pd ble: GAP event: PHY Update Complete


Backtrace: 0x40378341:0x3FCF32A0 0x4200CFCD:0x3FCF32E0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x4200cfcd: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:353
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:392


timer 0


Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x40378726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x4003F58A:0x3FCB4450 |<-CORRUPTED
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?


timer 0
I (6229) pd ble: GAP mtu update event:
I (6229) pd ble:    gap conn handle: 1
I (6229) pd ble:    channel id:      4
I (6229) pd ble:    mtu:             512


Backtrace: 0x40378341:0x3FCF32A0 0x4200CFCD:0x3FCF32E0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x4200cfcd: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:353
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:392


timer 0


Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x40378726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x4003F58A:0x3FCB4450 |<-CORRUPTED
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?


timer 0


Backtrace: 0x40378341:0x3FCF32A0 0x4200CFCD:0x3FCF32E0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x4200cfcd: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:353
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:392


timer 0


Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x40378726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x4003F58A:0x3FCB4450 |<-CORRUPTED
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?


timer 0


Backtrace: 0x40378341:0x3FCF32A0 0x4200CFCD:0x3FCF32E0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x4200cfcd: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:353
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:392


timer 0


Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x40378726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x4003F58A:0x3FCB4450 |<-CORRUPTED
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?


timer 0
I (6529) pd ble: GAP subscribe event:
I (6529) pd ble:    gap conn handle: 1
I (6529) pd ble:    att handle:      8 (GATT Service Changed)
I (6529) pd ble:    cur indicate:    1
I (6529) pd ble:    cur notify:      0
I (6529) pd ble:    prev inficate:   0
I (6529) pd ble:    prev notify:     0
I (6529) pd ble:    reason:          Write
I (6539) pd mss: all clients up to date. sleeping


Backtrace: 0x40378341:0x3FCF32A0 0x4200CFCD:0x3FCF32E0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x4200cfcd: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:353
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:392


timer 0


Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x40378726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x4003F58A:0x3FCB4450 |<-CORRUPTED
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?


timer 0


Backtrace: 0x40378341:0x3FCF32A0 0x4200CFCD:0x3FCF32E0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x4200cfcd: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:353
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:392


timer 0


Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x40378726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x4003F58A:0x3FCB4450 |<-CORRUPTED
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?


timer 0


Backtrace: 0x40378341:0x3FCF32A0 0x4200CFCD:0x3FCF32E0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x4200cfcd: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:353
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:392


timer 0


Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x40378726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x4003F58A:0x3FCB4450 |<-CORRUPTED
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?


timer 0


Backtrace: 0x40378341:0x3FCF32A0 0x4200CFCD:0x3FCF32E0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x4200cfcd: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:353
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:392


timer 0


Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x40378726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x4003F58A:0x3FCB4450 |<-CORRUPTED
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?


timer 0


Backtrace: 0x40378341:0x3FCF32A0 0x4200CFCD:0x3FCF32E0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x4200cfcd: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:353
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:392


timer 0


Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x40378726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x4003F58A:0x3FCB4450 |<-CORRUPTED
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?


timer 0


Backtrace: 0x40378341:0x3FCF32A0 0x4200CFCD:0x3FCF32E0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x4200cfcd: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:353
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:392


timer 0


Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x40378726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x4003F58A:0x3FCB4450 |<-CORRUPTED
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?


timer 0


Backtrace: 0x40378341:0x3FCF32A0 0x4200CFCD:0x3FCF32E0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x4200cfcd: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:353
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:392


timer 0


Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x40378726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x4003F58A:0x3FCB4450 |<-CORRUPTED
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?


timer 0
I (7249) pd ble: GAP subscribe event:
I (7249) pd ble:    gap conn handle: 1
I (7249) pd ble:    att handle:      12 (Jmx API SPP Tx)
I (7249) pd ble:    cur indicate:    1
I (7249) pd ble:    cur notify:      0
I (7249) pd ble:    prev inficate:   0
I (7249) pd ble:    prev notify:     0
I (7249) pd ble:    reason:          Write


Backtrace: 0x40378341:0x3FCF32A0 0x4200CFCD:0x3FCF32E0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x4200cfcd: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:353
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:392


timer 0


Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x40378726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x4003F58A:0x3FCB4450 |<-CORRUPTED
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?


timer 0


Backtrace: 0x40378341:0x3FCF32A0 0x4200CFCD:0x3FCF32E0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x4200cfcd: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:353
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:392


timer 0
on_spp_rx gapConnHandle 1
I (7369) pd bthttp: first Ble SPP Rx. pktLen: 29
I (7369) first pkt: 02 01 00 0d 14 47 45 54 00 2f 61 70 69 2f 69 64 
I (7369) first pkt: 65 6e 74 69 74 69 65 73 2f 67 65 74 00 
I (7369) pd bthttp: claimed new client. idx: 0
I (7369) pd bthttp: claimed new socket. idx: 0 gapConnHandle: 1
I (7369) pd bthttp: on_new_query. gapConnHandle 1 socketIdx 0
I (7369) pd xhandlers: GET /api/identities/get called
I (7379) pd xtrans: header: Access-Control-Allow-Origin: *
I (7379) pd xtrans: header: Access-Control-Allow-Methods: POST


Backtrace: 0x40378341:0x3FCCC7F0 0x403784AE:0x3FCCC830 0x42095B8A:0x3FCCC860 0x4208AB40:0x3FCCC890 0x4208B036:0x3FCCC8C0 0x4208DAEC:0x3FCCC8F0 0x4208DF91:0x3FCCC920 0x420173AE:0x3FCCC950 0x42017483:0x3FCCC990 0x42012120:0x3FCCC9D0 0x42012500:0x3FCCCA20 0x420125D8:0x3FCCCA60 0x4205701A:0x3FCCCAC0 |<-CONTINUES
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x42095b8a: npl_freertos_callout_reset at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/src/npl_os_freertos.c:393

0x4208ab40: ble_npl_callout_reset at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/include/nimble/nimble_npl_os.h:231
 (inlined by) ble_hs_timer_reset at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:452

0x4208b036: ble_hs_timer_resched at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:483

0x4208daec: ble_gattc_process_status at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_gattc.c:767
 (inlined by) ble_gattc_process_status at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_gattc.c:758

0x4208df91: ble_gattc_indicate_custom at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_gattc.c:4358

0x420173ae: indicate_msg(unsigned short, unsigned short, unsigned char const*, unsigned short, pd_error_t*) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/bluetooth/pd_bluetooth.cpp:1155

0x42017483: pd_bluetooth_indicate_client(unsigned short, pd_ble_chr_t, unsigned char const*, unsigned short, pd_error_t*) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/bluetooth/pd_bluetooth.cpp:1203

0x42012120: _ZL27pd_bthttp_socket_sendmsg_exP18pd_bthttp_socket_t20pd_btsockmsg_delim_tS1_PKhjP10pd_error_t$isra$0 at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/api/xcoms/pd_bthttp_socket.cpp:112

0x42012500: pd_bthttp_socket_resp_send_hdr(pd_bthttp_socket_t*, pd_bthttp_resp_t*, pd_error_t*) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/api/xcoms/pd_bthttp_socket.cpp:131
 (inlined by) pd_bthttp_socket_resp_send_hdr(pd_bthttp_socket_t*, pd_bthttp_resp_t*, pd_error_t*) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/api/xcoms/pd_bthttp_socket.cpp:367

0x420125d8: pd_bthttp_socket_resp_send_body_bytes(pd_bthttp_socket_t*, pd_bthttp_resp_t*, unsigned char const*, unsigned int, bool, pd_error_t*) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/api/xcoms/pd_bthttp_socket.cpp:415 (discriminator 4)

0x4205701a: pd_bthttp_resp_sendstr(pd_bthttp_request_t*, char const*, pd_error_t*) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/api/xcoms/pd_bthttp_txrx.cpp:70


timer 0


Backtrace: 0x40378341:0x3FCD7420 0x403784AE:0x3FCD7460 0x42095B8A:0x3FCD7490 0x4208AB40:0x3FCD74C0 0x4208AC5E:0x3FCD74F0 0x4208ADA9:0x3FCD7520 0x4209610F:0x3FCD7550 0x42015D68:0x3FCD7580
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x42095b8a: npl_freertos_callout_reset at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/src/npl_os_freertos.c:393

0x4208ab40: ble_npl_callout_reset at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/include/nimble/nimble_npl_os.h:231
 (inlined by) ble_hs_timer_reset at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:452

0x4208ac5e: ble_hs_timer_sched at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:473

0x4208ada9: ble_hs_timer_sched at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:462
 (inlined by) ble_hs_timer_exp at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:416
 (inlined by) ble_hs_timer_exp at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:409

0x4209610f: ble_npl_event_run at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/include/nimble/nimble_npl_os.h:125
 (inlined by) nimble_port_run at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/porting/nimble/src/nimble_port.c:78

0x42015d68: start_nimble_port_run(void*) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/bluetooth/pd_bluetooth.cpp:629


timer 0
timer 1


Backtrace: 0x40378341:0x3FCCC830 0x403784AE:0x3FCCC870 0x42095B8A:0x3FCCC8A0 0x4208AB40:0x3FCCC8D0 0x4208B036:0x3FCCC900 0x4208DAEC:0x3FCCC930 0x4208DF91:0x3FCCC960 0x420173AE:0x3FCCC990 0x42017483:0x3FCCC9D0 0x42012120:0x3FCCCA10 0x42012686:0x3FCCCA60 0x4205701A:0x3FCCCAC0 0x4201457B:0x3FCCCAF0 |<-CONTINUES
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x42095b8a: npl_freertos_callout_reset at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/src/npl_os_freertos.c:393

0x4208ab40: ble_npl_callout_reset at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/include/nimble/nimble_npl_os.h:231
 (inlined by) ble_hs_timer_reset at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:452

0x4208b036: ble_hs_timer_resched at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:483

0x4208daec: ble_gattc_process_status at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_gattc.c:767
 (inlined by) ble_gattc_process_status at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_gattc.c:758

0x4208df91: ble_gattc_indicate_custom at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_gattc.c:4358

0x420173ae: indicate_msg(unsigned short, unsigned short, unsigned char const*, unsigned short, pd_error_t*) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/bluetooth/pd_bluetooth.cpp:1155

0x42017483: pd_bluetooth_indicate_client(unsigned short, pd_ble_chr_t, unsigned char const*, unsigned short, pd_error_t*) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/bluetooth/pd_bluetooth.cpp:1203

0x42012120: _ZL27pd_bthttp_socket_sendmsg_exP18pd_bthttp_socket_t20pd_btsockmsg_delim_tS1_PKhjP10pd_error_t$isra$0 at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/api/xcoms/pd_bthttp_socket.cpp:112

0x42012686: pd_bthttp_socket_resp_send_body_bytes(pd_bthttp_socket_t*, pd_bthttp_resp_t*, unsigned char const*, unsigned int, bool, pd_error_t*) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/api/xcoms/pd_bthttp_socket.cpp:430

0x4205701a: pd_bthttp_resp_sendstr(pd_bthttp_request_t*, char const*, pd_error_t*) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/api/xcoms/pd_bthttp_txrx.cpp:70

0x4201457b: pd_xtrans_resp_sendstr(pd_xtrans_t*, char const*, pd_error_t*) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/api/xcoms/pd_xtrans.cpp:412


timer 0


Backtrace: 0x40378341:0x3FCD7420 0x403784AE:0x3FCD7460 0x42095B8A:0x3FCD7490 0x4208AB40:0x3FCD74C0 0x4208AC5E:0x3FCD74F0 0x4208ADA9:0x3FCD7520 0x4209610F:0x3FCD7550 0x42015D68:0x3FCD7580
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x42095b8a: npl_freertos_callout_reset at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/src/npl_os_freertos.c:393

0x4208ab40: ble_npl_callout_reset at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/include/nimble/nimble_npl_os.h:231
 (inlined by) ble_hs_timer_reset at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:452

0x4208ac5e: ble_hs_timer_sched at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:473

0x4208ada9: ble_hs_timer_sched at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:462
 (inlined by) ble_hs_timer_exp at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:416
 (inlined by) ble_hs_timer_exp at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:409

0x4209610f: ble_npl_event_run at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/include/nimble/nimble_npl_os.h:125
 (inlined by) nimble_port_run at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/porting/nimble/src/nimble_port.c:78

0x42015d68: start_nimble_port_run(void*) at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/jamcorder-firmware/jamcorder_common/jcommon/bluetooth/pd_bluetooth.cpp:629


timer 0
timer 1


Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x40378726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x4003F58A:0x3FCB4450 |<-CORRUPTED
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?


timer 0
timer 1


Backtrace: 0x40378341:0x3FCF32A0 0x4200CFCD:0x3FCF32E0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x4200cfcd: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:353
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:392


timer 0
timer 1


Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x40378726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x4003F58A:0x3FCB4450 |<-CORRUPTED
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?


timer 0
timer 1
I (7539) pd midi usb: init
I (7539) pd midi usb: xTaskCreate midi_usb_open_loop
I (7539) pd main: Waiting 1.5 seconds for midi usb task to start
I (7539) pd midi usb: midi_usb_open_loop task started
I (7539) pd usbh: oneTimeInit()
I (7539) pd usbh: [oneTimeInit] create xUsbhInitializeMutex
I (7539) pd usbh: [oneTimeInit] create xOpenedDeviceHandlesMutex
I (7539) pd usbh: [oneTimeInit] create queue xDeviceConnectedEvents


Backtrace: 0x40378341:0x3FCF32A0 0x4200CFCD:0x3FCF32E0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x4200cfcd: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:353
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:392


timer 0
timer 1


Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x40378726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x4003F58A:0x3FCB4450 |<-CORRUPTED
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?


timer 0
timer 1


Backtrace: 0x40378341:0x3FCF32A0 0x4200CFCD:0x3FCF32E0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x4200cfcd: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:353
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:392


timer 0
timer 1


Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x40378726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x4003F58A:0x3FCB4450 |<-CORRUPTED
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?


timer 0
timer 1


Backtrace: 0x40378341:0x3FCF32A0 0x4200CFCD:0x3FCF32E0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x4200cfcd: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:353
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:392


timer 0
timer 1


Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x40378726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x4003F58A:0x3FCB4450 |<-CORRUPTED
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?


timer 0
timer 1


Backtrace: 0x40378341:0x3FCF32A0 0x4200CFCD:0x3FCF32E0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x4200cfcd: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:353
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:392


timer 0
timer 1


Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x40378726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x4003F58A:0x3FCB4450 |<-CORRUPTED
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?


timer 0
timer 1


Backtrace: 0x40378341:0x3FCF32A0 0x4200CFCD:0x3FCF32E0
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x4200cfcd: timer_process_alarm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:353
 (inlined by) timer_task at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:392


timer 0
timer 1


Backtrace: 0x40378341:0x3FCB4360 0x403784AE:0x3FCB43A0 0x40378726:0x3FCB43D0 0x40376A91:0x3FCB4400 0x421124A1:0x3FCB4430 0x4003F58A:0x3FCB4450 |<-CORRUPTED
0x40378341: timer_insert at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:228

0x403784ae: esp_timer_start_once at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/esp_timer.c:159

0x40378726: ets_timer_arm at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_timer/src/ets_timer_legacy.c:91

0x40376a91: timer_arm_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:490

0x421124a1: ieee80211_hostapd_beacon_txcb at ??:?

@chipweinberger
Copy link
Contributor Author

chipweinberger commented May 6, 2023

More Info: Enabling Wifi, Usb Host, Uart, etc, all seem to make it hit the infinite loop sooner, but it can repro without any of that as well. Just takes longer.

@chipweinberger
Copy link
Contributor Author

New Info: Not too surprising, when we hit this issue, the timer list is somehow a circular loop.

timer 0 callback: 0x42085954 cur: 0x3fcbe700 next: 0x3fcbe700 prev: 0x3fcbe718
0x42085954: ble_npl_event_fn_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/src/npl_os_freertos.c:302

timer 1 callback: 0x42085954 cur: 0x3fcbe700 next: 0x3fcbe700 prev: 0x3fcbe718
0x42085954: ble_npl_event_fn_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/src/npl_os_freertos.c:302

timer 2 callback: 0x42085954 cur: 0x3fcbe700 next: 0x3fcbe700 prev: 0x3fcbe718
0x42085954: ble_npl_event_fn_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/src/npl_os_freertos.c:302

timer 3 callback: 0x42085954 cur: 0x3fcbe700 next: 0x3fcbe700 prev: 0x3fcbe718
0x42085954: ble_npl_event_fn_wrapper at /Volumes/User/MBP-Google-Drive/jamcorder/firmware/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/src/npl_os_freertos.c:302

@AxelLin
Copy link
Contributor

AxelLin commented May 6, 2023

Just wondering if this is related: #11215 (maybe you can try this fix)

@chipweinberger
Copy link
Contributor Author

Hah, I was just about to comment the same thing. Let me try that!

@chipweinberger
Copy link
Contributor Author

chipweinberger commented May 6, 2023

YES THAT FIXES THE CRASH. 🎉

@chipweinberger
Copy link
Contributor Author

I see the fix was merged in master and v5.1

500b5b2

@espressif-bot espressif-bot added Status: Done Issue is done internally Resolution: Done Issue is done internally and removed Status: Opened Issue is new labels May 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Resolution: Done Issue is done internally Status: Done Issue is done internally Type: Bug bugs in IDF
Projects
None yet
Development

No branches or pull requests

4 participants