Using elf file: tmp/3.2.016-46-gf7523a8a-elf/ovms3.elf 0x4008e58e is in invoke_abort (/home/balzer/esp/esp-idf/components/esp32/panic.c:156). 151 #endif 152 while (1) { 153 if (esp_cpu_in_ocd_debug_mode()) { 154 __asm__ ("break 0,0"); 155 } 156 *((int *) 0) = 0; 157 } 158 } 159 160 void abort() 0x4008e829 is in abort (/home/balzer/esp/esp-idf/components/esp32/panic.c:171). 166 * don't overwrite that. 167 */ 168 if (esp_reset_reason_get_hint() == ESP_RST_UNKNOWN) { 169 esp_reset_reason_set_hint(ESP_RST_PANIC); 170 } 171 invoke_abort(); 172 } 173 174 175 static const char *edesc[] = { 0x40090e7f is in xTaskPriorityDisinherit (/home/balzer/esp/esp-idf/components/freertos/tasks.c:4116). 4111 BaseType_t xReturn = pdFALSE; 4112 taskENTER_CRITICAL(&xTaskQueueMutex); 4113 4114 if( pxMutexHolder != NULL ) 4115 { 4116 configASSERT( pxTCB->uxMutexesHeld ); 4117 ( pxTCB->uxMutexesHeld )--; 4118 4119 if( pxTCB->uxPriority != pxTCB->uxBasePriority ) 4120 { 0x400912f3 is in prvCopyDataToQueue (/home/balzer/esp/esp-idf/components/freertos/queue.c:1876). 1871 #if ( configUSE_MUTEXES == 1 ) 1872 { 1873 if( pxQueue->uxQueueType == queueQUEUE_IS_MUTEX ) 1874 { 1875 /* The mutex is no longer being held. */ 1876 xReturn = xTaskPriorityDisinherit( ( void * ) pxQueue->pxMutexHolder ); 1877 pxQueue->pxMutexHolder = NULL; 1878 } 1879 else 1880 { 0x400915e9 is in xQueueGenericSend (/home/balzer/esp/esp-idf/components/freertos/queue.c:743). 738 the head item in the queue is to be overwritten then it does 739 not matter if the queue is full. */ 740 if( ( pxQueue->uxMessagesWaiting < pxQueue->uxLength ) || ( xCopyPosition == queueOVERWRITE ) ) 741 { 742 traceQUEUE_SEND( pxQueue ); 743 xYieldRequired = prvCopyDataToQueue( pxQueue, pvItemToQueue, xCopyPosition ); 744 745 #if ( configUSE_QUEUE_SETS == 1 ) 746 { 747 if( pxQueue->pxQueueSetContainer != NULL ) 0x401faa62 is in wc_UnLockMutex (/home/balzer/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/wolfssl/wolfcrypt/src/wc_port.c:983). 978 return 0; 979 } 980 981 int wc_UnLockMutex(wolfSSL_Mutex* m) 982 { 983 xSemaphoreGive( *m ); 984 return 0; 985 } 986 987 #elif defined(RTTHREAD) 0x401f3f29 is in esp_CryptHwMutexUnLock (/home/balzer/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/wolfssl/wolfcrypt/src/port/Espressif/esp32_util.c:43). 38 return ((xSemaphoreTake( *mutex, xBlockTime ) == pdTRUE) ? 0 : BAD_MUTEX_E); 39 #endif 40 } 41 42 int esp_CryptHwMutexUnLock(wolfSSL_Mutex* mutex) { 43 return wc_UnLockMutex(mutex); 44 } 45 46 #endif 47 0x401f3d6f is in esp_sha_hw_unlock (/home/balzer/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/wolfssl/wolfcrypt/src/port/Espressif/esp32_sha.c:183). 178 periph_module_disable(PERIPH_SHA_MODULE); 179 #if defined(SINGLE_THREADED) 180 InUse = 0; 181 #else 182 /* unlock hw engine for next use */ 183 esp_CryptHwMutexUnLock(&sha_mutex); 184 #endif 185 ESP_LOGV(TAG, "leave esp_sha_hw_unlock"); 186 } 187 /* 0x401fa20d is in wc_InitSha512_ex (/home/balzer/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/wolfssl/wolfcrypt/src/sha512.c:224). 219 sha512->ctx.sha_type = SHA2_512; 220 /* always start firstblock = 1 when using hw engine */ 221 sha512->ctx.isfirstblock = 1; 222 if(sha512->ctx.mode == ESP32_SHA_HW) { 223 /* release hw */ 224 esp_sha_hw_unlock(); 225 } 226 /* always set mode as INIT 227 * whether using HW or SW is determined at first call of update() 228 */ 0x401fa2f1 is in wc_InitSha512 (/home/balzer/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/wolfssl/wolfcrypt/src/sha512.c:900). 895 return InitSha512(sha512); /* reset state */ 896 } 897 898 int wc_InitSha512(wc_Sha512* sha512) 899 { 900 return wc_InitSha512_ex(sha512, NULL, INVALID_DEVID); 901 } 902 903 void wc_Sha512Free(wc_Sha512* sha512) 904 { 0x401eed2a is in wc_Sha512Hash (/home/balzer/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/wolfssl/wolfcrypt/src/hash.c:1169). 1164 DYNAMIC_TYPE_TMP_BUFFER); 1165 if (sha512 == NULL) 1166 return MEMORY_E; 1167 #endif 1168 1169 if ((ret = wc_InitSha512(sha512)) != 0) { 1170 WOLFSSL_MSG("InitSha512 failed"); 1171 } 1172 else { 1173 if ((ret = wc_Sha512Update(sha512, data, len)) != 0) { 0x401eedf9 is in wc_Hash (/home/balzer/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/wolfssl/wolfcrypt/src/hash.c:497). 492 ret = wc_Sha384Hash(data, data_len, hash); 493 #endif 494 break; 495 case WC_HASH_TYPE_SHA512: 496 #ifdef WOLFSSL_SHA512 497 ret = wc_Sha512Hash(data, data_len, hash); 498 #endif 499 break; 500 case WC_HASH_TYPE_MD5_SHA: 501 #if !defined(NO_MD5) && !defined(NO_SHA) 0x401d8d35 is in DoServerKeyExchange (/home/balzer/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/wolfssl/src/internal.c:22493). 22488 if (ssl->buffers.digest.buffer == NULL) { 22489 ERROR_OUT(MEMORY_E, exit_dske); 22490 } 22491 22492 /* Perform hash */ 22493 ret = wc_Hash(hashType, ssl->buffers.sig.buffer, 22494 ssl->buffers.sig.length, 22495 ssl->buffers.digest.buffer, 22496 ssl->buffers.digest.length); 22497 if (ret != 0) { 0x401dc9d5 is in DoHandShakeMsgType (/home/balzer/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/wolfssl/src/internal.c:12885). 12880 break; 12881 #endif 12882 12883 case server_key_exchange: 12884 WOLFSSL_MSG("processing server key exchange"); 12885 ret = DoServerKeyExchange(ssl, input, inOutIdx, size); 12886 break; 12887 12888 #ifdef HAVE_SESSION_TICKET 12889 case session_ticket: 0x401ddc9c is in ProcessReply (/home/balzer/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/wolfssl/src/internal.c:13112). 13107 ssl->arrays->pendingMsgOffset = inputLength; 13108 *inOutIdx += inputLength - HANDSHAKE_HEADER_SZ; 13109 return 0; 13110 } 13111 13112 ret = DoHandShakeMsgType(ssl, input, inOutIdx, type, size, totalSz); 13113 } 13114 else { 13115 word32 pendSz = 13116 ssl->arrays->pendingMsgSz - ssl->arrays->pendingMsgOffset; 0x401e0532 is in wolfSSL_connect (/home/balzer/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/wolfssl/src/ssl.c:12506). 12501 while (ssl->options.serverState < neededState) { 12502 #ifdef WOLFSSL_TLS13 12503 if (ssl->options.tls1_3) 12504 return wolfSSL_connect_TLSv13(ssl); 12505 #endif 12506 if ( (ssl->error = ProcessReply(ssl)) < 0) { 12507 WOLFSSL_ERROR(ssl->error); 12508 return WOLFSSL_FATAL_ERROR; 12509 } 12510 /* if resumption failed, reset needed state */ 0x401099d3 is in mg_ssl_if_handshake (/home/balzer/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/mongoose/mongoose/mongoose.c:4534). 4529 int res; 4530 /* If descriptor is not yet set, do it now. */ 4531 if (SSL_get_fd(ctx->ssl) < 0) { 4532 if (SSL_set_fd(ctx->ssl, nc->sock) != 1) return MG_SSL_ERROR; 4533 } 4534 res = server_side ? SSL_accept(ctx->ssl) : SSL_connect(ctx->ssl); 4535 if (res != 1) return mg_ssl_if_ssl_err(nc, res); 4536 return MG_SSL_OK; 4537 } 4538 0x4010b13d is in mg_ssl_begin (/home/balzer/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/mongoose/mongoose/mongoose.c:3765). 3760 } 3761 3762 #if MG_ENABLE_SSL 3763 static void mg_ssl_begin(struct mg_connection *nc) { 3764 int server_side = (nc->listener != NULL); 3765 enum mg_ssl_if_result res = mg_ssl_if_handshake(nc); 3766 DBG(("%p %d res %d", nc, server_side, res)); 3767 3768 if (res == MG_SSL_OK) { 3769 nc->flags |= MG_F_SSL_HANDSHAKE_DONE; 0x4010ca32 is in mg_mgr_handle_conn (/home/balzer/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/mongoose/mongoose/mongoose.c:3820). 3815 */ 3816 err = nc->err; 3817 #endif 3818 #if MG_ENABLE_SSL 3819 if ((nc->flags & MG_F_SSL) && err == 0) { 3820 mg_ssl_begin(nc); 3821 } else { 3822 mg_if_connect_cb(nc, err); 3823 } 3824 #else 0x4010cf86 is in mg_socket_if_poll (/home/balzer/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/mongoose/mongoose/mongoose.c:4042). 4037 fd_flags |= _MG_F_FD_CAN_WRITE; 4038 } 4039 #endif 4040 } 4041 tmp = nc->next; 4042 mg_mgr_handle_conn(nc, fd_flags, now); 4043 } 4044 4045 for (nc = mgr->active_connections; nc != NULL; nc = tmp) { 4046 tmp = nc->next; 0x401091c2 is in mg_mgr_poll (/home/balzer/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/mongoose/mongoose/mongoose.c:2538). 2533 LOG(LL_ERROR, ("cannot poll: no interfaces")); 2534 return 0; 2535 } 2536 2537 for (i = 0; i < m->num_ifaces; i++) { 2538 now = m->ifaces[i]->vtable->poll(m->ifaces[i], timeout_ms); 2539 } 2540 return now; 2541 } 2542 0x400f3427 is in OvmsNetManager::MongooseTask() (/home/balzer/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/main/ovms_netmanager.cpp:751). 746 747 // Main event loop 748 while (m_mongoose_running) 749 { 750 // poll interfaces: 751 if (mg_mgr_poll(&m_mongoose_mgr, 250) == 0) 752 { 753 ESP_LOGD(TAG, "MongooseTask: no interfaces available => exit"); 754 break; 755 } 0x400f34d5 is in MongooseRawTask(void*) (/home/balzer/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/main/ovms_netmanager.cpp:733). 728 #ifdef CONFIG_OVMS_SC_GPL_MONGOOSE 729 730 static void MongooseRawTask(void *pvParameters) 731 { 732 OvmsNetManager* me = (OvmsNetManager*)pvParameters; 733 me->MongooseTask(); 734 } 735 736 void OvmsNetManager::MongooseTask() 737 {