espressif / esp-now

A connectionless Wi-Fi communication protocol
Apache License 2.0
477 stars 90 forks source link

Heap overflow in ESP-IDF's `wifi/espnow` example (AEGHB-604) #116

Closed 0xjmux closed 1 week ago

0xjmux commented 3 months ago

EDIT: this post was originally titled "Minor modifications to esp-idf espnow example causes intermittent crashes (AEGHB-604)"

Hi all, I'm trying to ingest messages from the Wizmote (which uses ESP-IDF to send messages) into an esp-idf program as part of a larger project. Something similar has been done before in the WLED project, albeit using arduino.

I modified the espnow example to remove the sending code and to parse the data in the wizmote format, and it works - some of the time. For unknown reasons, after receiving a few (it's not usually the same amount) packets, the program will panic. I've seen a few errors, but the most common has been a stack overflow, which makes me think it's likely a memory issue. I've been trying to use JTAG with an ESP32-S3 to debug it, but because of FreeRTOS's threading having a useful backtrace on a crash is a bit of a coin toss. Where I've been able to locate a crash back to in my code, I've left a comment indicating so.

I've gone about as far as I can, but I'm tearing my hair out trying to figure out what's causing the crash, and none of the heap tracing or core dump features of the SDK have been working for

If you'd be able to take a quick look at my test program and see if you can spot any obvious errors, I'd greatly appreciate it.

Thanks!

Code

Expand here for code! To duplicate my project structure, create an instance of the `espnow` example program in ESP-IDF, add the two files to the directory, and comment out `app_main()` from the original `espnow_example_main.c`. espnow_remote_test.c ```c /** * Test code for ingesting messages from the Wizmote ESP-NOW remote * espnow_remote_test.c */ // this include block copied from espnow_example_main.c #include #include #include #include #include "freertos/FreeRTOS.h" #include "freertos/semphr.h" #include "freertos/timers.h" #include "nvs_flash.h" #include "esp_random.h" #include "esp_event.h" #include "esp_netif.h" #include "esp_wifi.h" #include "esp_log.h" #include "esp_mac.h" #include "esp_now.h" #include "esp_crc.h" #include "esp_app_trace.h" #include "espnow_remote_test.h" //////////////////////////////////////// // TEMPORARY DEFS #define ESPNOW_WIFI_MODE WIFI_MODE_STA static uint8_t s_example_broadcast_mac[ESP_NOW_ETH_ALEN] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; // static uint16_t s_example_espnow_seq[EXAMPLE_ESPNOW_DATA_MAX] = { 0, 0 }; //////////////////////////////////////// static const char *TAG = "espnow_wizmote_example"; static uint32_t last_msg_seq = 0; // seq number of last message // static espnow_msg_structure incoming; // holds incoming message data static QueueHandle_t s_example_espnow_queue; // semaphore for espnow handling /* WiFi should start before using ESPNOW */ static void example_wifi_init(void) { ESP_ERROR_CHECK(esp_netif_init()); ESP_ERROR_CHECK(esp_event_loop_create_default()); wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT(); ESP_ERROR_CHECK( esp_wifi_init(&cfg) ); ESP_ERROR_CHECK( esp_wifi_set_storage(WIFI_STORAGE_RAM) ); ESP_ERROR_CHECK( esp_wifi_set_mode(ESPNOW_WIFI_MODE) ); ESP_ERROR_CHECK( esp_wifi_start()); ESP_ERROR_CHECK( esp_wifi_set_channel(CONFIG_ESPNOW_CHANNEL, WIFI_SECOND_CHAN_NONE)); #if CONFIG_ESPNOW_ENABLE_LONG_RANGE ESP_ERROR_CHECK( esp_wifi_set_protocol(ESPNOW_WIFI_IF, WIFI_PROTOCOL_11B|WIFI_PROTOCOL_11G|WIFI_PROTOCOL_11N|WIFI_PROTOCOL_LR) ); #endif } // FROM EXAMPLE static void example_espnow_recv_cb(const esp_now_recv_info_t *recv_info, const uint8_t *data, int len) { // example_espnow_event_t evt; example_espnow_event_recv_cb_t recv_cb; uint8_t *mac_addr = recv_info->src_addr; // check for invalid packet if (mac_addr == NULL || data == NULL || len <= 0) { ESP_LOGE(TAG, "Receive cb arg error"); // return; // these functions arent't ever supposed to return } // set id to indicate recv packet // copy MAC addr and copy data for recv_cb // recv_cb.id = EXAMPLE_ESPNOW_RECV_CB; // not used memcpy(recv_cb.mac_addr, mac_addr, ESP_NOW_ETH_ALEN); // this line causes fault???? recv_cb.data = malloc(len); if (recv_cb.data == NULL) { ESP_LOGE(TAG, "Malloc receive data fail"); // return; // these functions aren't ever supposed to return } memcpy(recv_cb.data, data, len); // add packet to queue to be processed recv_cb.data_len = len; if (xQueueSend(s_example_espnow_queue, &recv_cb, ESPNOW_MAXDELAY) != pdTRUE) { ESP_LOGW(TAG, "Send receive queue fail"); free(recv_cb.data); } } // FROM EXAMPLE /* Parse received ESPNOW data. */ uint8_t example_espnow_data_parse(uint8_t *data, uint16_t data_len, uint8_t *program, \ uint32_t *seq, uint8_t *button) { espnow_msg_structure *buf = (espnow_msg_structure *)data; // uint16_t crc, crc_cal = 0; if (data_len < sizeof(espnow_msg_structure)) { // if (data_len < DEBUG_LEN_ESPNOW_MESSGE) { ESP_LOGE(TAG, "Receive ESPNOW data too short, len:%d ; expected=%d", data_len, sizeof(espnow_msg_structure)); panic_stat_led_on(); return DATA_PARSE_ERR; // return -1; } // possible null dereference here?? *program = buf->program; *seq = buf->seq; *button = buf->button; // if we've already seen this msg before if (*seq <= last_msg_seq) { return DATA_PARSE_STALE; } last_msg_seq = *seq; ESP_LOGI(TAG, "completed espnow_data_parse()"); return DATA_PARSE_OK; } /** * FreeRTOS task to handle data reception */ static void espnow_recv_task(void *pvParameter) { example_espnow_event_recv_cb_t recv_cb; uint8_t program = 0; // uint8_t seq[4] = { 0 }; uint32_t seq = 0; uint8_t button = 0; int ret; vTaskDelay(1000 / portTICK_PERIOD_MS); while (xQueueReceive(s_example_espnow_queue, &recv_cb, portMAX_DELAY) == pdTRUE) { // example_espnow_event_recv_cb_t *recv_cb = &evt.info.recv_cb; // ret = example_espnow_data_parse(recv_cb.data, recv_cb.data_len, &recv_state, &recv_seq, &recv_magic); // SEQ MIGHT NOT NEED & ret = example_espnow_data_parse(recv_cb.data, recv_cb.data_len, &program, &seq, &button); // original data not needed since we've parsed out the parts we want free(recv_cb.data); if (ret == DATA_PARSE_OK) { ESP_LOGI(TAG, "Receive seq=%ld data from: "MACSTR", len: %d\n", \ seq, MAC2STR(recv_cb.mac_addr), recv_cb.data_len); /* If MAC address does not exist in peer list, add it to peer list. */ // CRASH HAPPENED HERE WITH IF STATEMENT if (esp_now_is_peer_exist(recv_cb.mac_addr) == false) { ESP_LOGI(TAG, "peer not already present in peer list, adding now"); esp_now_peer_info_t *peer = malloc(sizeof(esp_now_peer_info_t)); if (peer == NULL) { ESP_LOGE(TAG, "Malloc peer information fail"); panic_stat_led_on(); espnow_remote_recv_deinit(); vTaskDelete(NULL); } memset(peer, 0, sizeof(esp_now_peer_info_t)); peer->channel = CONFIG_ESPNOW_CHANNEL; peer->ifidx = ESPNOW_WIFI_IF; peer->encrypt = false; memcpy(peer->lmk, CONFIG_ESPNOW_LMK, ESP_NOW_KEY_LEN); // SAME PTR THING HERE WITH & memcpy(peer->peer_addr, &recv_cb.mac_addr, ESP_NOW_ETH_ALEN); ESP_LOGI(TAG, "attempting to add peer: %p", peer); // PANIC THROWN HERE ESP_ERROR_CHECK( esp_now_add_peer(peer) ); ESP_LOGI(TAG, "Peer added successfully"); free(peer); } ESP_LOGI(TAG, "Incoming ESP-NOW Packet [SEQ=%ld, button=%d] \n", seq, button); } else if (ret == DATA_PARSE_STALE) { ESP_LOGI(TAG, "Received stale packet from "MACSTR" [SEQ=%ld, button=%d], last_seq=%ld \n", \ MAC2STR(recv_cb.mac_addr), seq, button, last_msg_seq); } else { ESP_LOGI(TAG, "Receive error data from: "MACSTR"", MAC2STR(recv_cb.mac_addr)); } // break; } } // a lot of this copied from espnow_example_main.c static esp_err_t espnow_remote_recv_init(void) { s_example_espnow_queue = xQueueCreate(ESPNOW_QUEUE_SIZE, sizeof(example_espnow_event_recv_cb_t)); if (s_example_espnow_queue == NULL) { ESP_LOGE(TAG, "Create mutex fail"); return ESP_FAIL; } ESP_ERROR_CHECK(esp_now_init()); // must be called to set up ESP-NOW, but after wifi ESP_ERROR_CHECK( esp_now_register_recv_cb(example_espnow_recv_cb) ); // ESP_ERROR_CHECK( esp_now_register_recv_cb(on_data_recv) ); /* Set primary master key. (not used in my sketch )*/ ESP_ERROR_CHECK( esp_now_set_pmk((uint8_t *)CONFIG_ESPNOW_PMK) ); /* Add broadcast peer information to peer list. */ esp_now_peer_info_t *peer = malloc(sizeof(esp_now_peer_info_t)); if (peer == NULL) { ESP_LOGE(TAG, "Malloc peer information fail"); panic_stat_led_on(); vSemaphoreDelete(s_example_espnow_queue); esp_now_deinit(); return ESP_FAIL; } memset(peer, 0, sizeof(esp_now_peer_info_t)); peer->channel = CONFIG_ESPNOW_CHANNEL; peer->ifidx = ESPNOW_WIFI_IF; peer->encrypt = false; memcpy(peer->peer_addr, s_example_broadcast_mac, ESP_NOW_ETH_ALEN); ESP_ERROR_CHECK( esp_now_add_peer(peer) ); free(peer); // task params aren't used rn uint8_t *recv_task_params = 0; TaskHandle_t recv_task_handle = NULL; xTaskCreate(espnow_recv_task, "espnow_recv_task",2048, recv_task_params, 4, &recv_task_handle); ESP_LOGI(TAG, "Successfully finished remote_recv_init()"); return ESP_OK; } void espnow_remote_recv_deinit(void) { vSemaphoreDelete(s_example_espnow_queue); esp_now_deinit(); } void app_main(void) { ESP_LOGI(TAG, "Starting main"); // Initialize NVS esp_err_t ret = nvs_flash_init(); if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) { ESP_ERROR_CHECK( nvs_flash_erase() ); ret = nvs_flash_init(); } ESP_ERROR_CHECK( ret ); example_wifi_init(); // set up esp-now functionality ESP_LOGI(TAG, "Starting remote: prior vals last_seq=%ld", last_msg_seq); espnow_remote_recv_init(); } ``` espnow_remote_test.h ```c #ifndef ESPNOW_REMOTE_H #define ESPNOW_REMOTE_H #include // temporary constants (bc there has to be defaults in esp-idf, right?) #define STR_MAX_LEN 256 #define ESPNOW_MAXDELAY 512 // important global variables char linked_remote[13] = ""; char last_signal_src[13] = ""; /* ESPNOW can work in both station and softap mode. It is configured in menuconfig. */ #if CONFIG_ESPNOW_WIFI_MODE_STATION #define ESPNOW_WIFI_MODE WIFI_MODE_STA #define ESPNOW_WIFI_IF ESP_IF_WIFI_STA #else #define ESPNOW_WIFI_MODE WIFI_MODE_AP #define ESPNOW_WIFI_IF ESP_IF_WIFI_AP #endif #define ESPNOW_QUEUE_SIZE 6 #define WIZMOTE_BUTTON_ON 1 #define WIZMOTE_BUTTON_OFF 2 #define WIZMOTE_BUTTON_NIGHT 3 #define WIZMOTE_BUTTON_ONE 16 #define WIZMOTE_BUTTON_TWO 17 #define WIZMOTE_BUTTON_THREE 18 #define WIZMOTE_BUTTON_FOUR 19 #define WIZMOTE_BUTTON_BRIGHT_UP 9 #define WIZMOTE_BUTTON_BRIGHT_DOWN 8 // data parsing return function enum enum {DATA_PARSE_OK, DATA_PARSE_STALE, DATA_PARSE_ERR}; #define DEBUG_LEN_ESPNOW_MESSGE 13 // wizmote data structure (thanks wled) typedef struct espnow_msg_structure { uint8_t program; // 0x91 for ON button, 0x81 for all others // uint8_t seq[4]; // Incremental sequence number 32 bit unsigned integer LSB first uint32_t seq; // Incremental sequence number 32 bit unsigned integer LSB first uint8_t byte5; // Unknown uint8_t button; // Identifies which button is being pressed uint8_t byte8; // Unknown, but always 0x01 uint8_t byte9; // Unknown, but always 0x64 uint8_t byte10; // Unknown, maybe checksum uint8_t byte11; // Unknown, maybe checksum // received packet has len 13 instead of 16 - gonan try commenting these uint8_t byte12; // Unknown, maybe checksum uint8_t byte13; // Unknown, maybe checksum } __attribute__((packed)) espnow_msg_structure; const espnow_msg_structure DEFAULT_MSG = { // .program // .seq[4], .byte5 = 32, // .button, .byte8 = 1, .byte9 = 100, .byte10 = 0, .byte11 = 0, .byte12 = 0, .byte13 = 0, }; typedef enum { EXAMPLE_ESPNOW_SEND_CB, EXAMPLE_ESPNOW_RECV_CB, } example_espnow_event_id_t; /** * @param uint8_t mac_addr[ESP_NOW_ETH_ALEN]; * @param uint8_t *data; * @param int data_len; * @param example_espnow_event_id_t id; * */ typedef struct example_espnow_event_recv_cb_t { uint8_t mac_addr[ESP_NOW_ETH_ALEN]; uint8_t *data; int data_len; example_espnow_event_id_t id; } example_espnow_event_recv_cb_t; enum { EXAMPLE_ESPNOW_DATA_BROADCAST, EXAMPLE_ESPNOW_DATA_UNICAST, EXAMPLE_ESPNOW_DATA_MAX, }; // FUNCTIONS static void example_wifi_init(void); uint8_t example_espnow_data_parse(uint8_t *data, uint16_t data_len, uint8_t *program, \ uint32_t *seq, uint8_t *button); static void espnow_recv_task(void *pvParameter); static esp_err_t espnow_remote_recv_init(void); void espnow_remote_recv_deinit(void); #endif ```
0xjmux commented 3 months ago

I forgot to include an example of a stack trace, so here's one of the more helpful ones I got: image

I really want to see the internals of esp_now_is_peer_exist(), but I can't seem to find it anywhere - I doubt that the issue is there and not in my code, but it'd still be helpful to have increased visibility into what its doing.

I've attempted to use the "Start Heap Trace" feature in ESP-IDF - the button in the vscode extension doesn't give me any result under "Application Trace Archives", and as far as I can see no files are created in the repository directory. When I run it manually, (with heap_trace_start() as the first line of example_espnow_recv_cb() and heap_trace_stop() and dump at the end of espnow_recv_task(), this is the result I get:

After enabling comprehensive heap debugging in SDKCONFIG like so: image

I no longer get the messages about crashes - I just get a stack overflow crash. After a lot of trying I was finally able to extract an .elf core dump that can be opened with idf.py coredump-debug -c crash-coredump.elf. In the interest of speeding up the debugging process, I've attached it to this comment. If someone would be able to help me with taking a look at it, I'd greatly appreciate it. Thanks!

crash-coredump.elf.zip

0xjmux commented 3 months ago

After many more hours of attempted debugging, not much progress has been made. I've spent nearly 6 hours at this point trying to get the App and heap debugging features in ESP-IDF to work as intended, have read all the docs I can find, and have tried everything i can think of. My attempts to use SystemView have completely failed, and no matter what I do (including attaching an ESP-Prog to get an additional UART for just the core dump) nothing works. The ESP crashes and just stops printing data, and GDB gives me not super helpful backtraces like those seen above.

Whenever I run the App/heap traces the log files end up empty; I have the libraries included in my code and have tried manually init'ing the functionality. I've tried both through the CLI and through the VScode extension - neither work.

This is becoming extremely frustrating - If I can't even get minor modifications to the provided example to work without causing disastrous overflows, how am I supposed to be confident about using it in production?

Here's an info_coredump I was able to extract. This is about all the information I've been able to extract from the chip since the debugging tools refuse to work properly ``` Executing action: coredump-info =============================================================== ==================== ESP32 CORE DUMP START ==================== Crashed task handle: 0x3fcb2048, name: 'espnow_recv_tas', GDB name: 'process 1070276680' Panic reason: ***ERROR*** A stack overflow in task espnow_recv_tas has been detected. ================== CURRENT THREAD REGISTERS =================== exccause 0x1d (StoreProhibitedCause) excvaddr 0x0 epc1 0x4037b2a3 epc2 0x0 epc3 0x0 epc4 0x0 epc5 0x0 epc6 0x0 eps2 0x0 eps3 0x0 eps4 0x0 eps5 0x0 eps6 0x0 pc 0x40375759 0x40375759 lbeg 0x400570e8 1074098408 lend 0x400570f3 1074098419 lcount 0x0 0 sar 0x9 9 ps 0x60f23 397091 threadptr br scompare1 acclo acchi m0 m1 m2 m3 expstate f64r_lo f64r_hi f64s fcr fsr a0 0x8037c97c -2143827588 a1 0x3fcb1760 1070274400 a2 0x3fcb17ac 1070274476 a3 0x3fcb17f3 1070274547 a4 0x3fc99118 1070174488 a5 0x3fcb1860 1070274656 a6 0x3fca5a44 1070225988 a7 0xffffffff -1 a8 0x0 0 a9 0x3fcb1720 1070274336 a10 0x0 0 a11 0x0 0 a12 0x4037b0f8 1077391608 a13 0x0 0 a14 0xff 255 a15 0x60021 393249 ==================== CURRENT THREAD STACK ===================== #0 0x40375759 in panic_abort (details=0x3fcb17ac "***ERROR*** A stack overflow in task espnow_recv_tas has been detected.") at /home/jmux/Documents/esp/esp-idf/components/esp_system/panic.c:452 #1 0x4037c97c in esp_system_abort (details=0x3fcb17ac "***ERROR*** A stack overflow in task espnow_recv_tas has been detected.") at /home/jmux/Documents/esp/esp-idf/components/esp_system/port/esp_system_chip.c:84 #2 0x4037efbd in vApplicationStackOverflowHook (xTask=, pcTaskName=0x3fcb207c "espnow_recv_tas") at /home/jmux/Documents/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:581 #3 0x4037e2b7 in vTaskSwitchContext () at /home/jmux/Documents/esp/esp-idf/components/xtensa/include/xt_utils.h:40 #4 0x4037f0cb in _frxt_dispatch () at /home/jmux/Documents/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/portasm.S:450 Backtrace stopped: Cannot access memory at address 0xa5a5a599 ======================== THREADS INFO ========================= Id Target Id Frame * 1 process 1070276680 0x40375759 in panic_abort (details=0x3fcb17ac "***ERROR*** A stack overflow in task espnow_recv_tas has been detected.") at /home/jmux/Documents/esp/esp-idf/components/esp_system/panic.c:452 2 process 1070246436 0x4037d48e in xQueueReceive (xQueue=0x3fca8900, pvBuffer=0x3fcaa870, xTicksToWait=) at /home/jmux/Documents/esp/esp-idf/components/xtensa/include/xt_utils.h:40 3 process 1070225552 0x4037b282 in esp_cpu_wait_for_intr () at /home/jmux/Documents/esp/esp-idf/components/esp_hw_support/cpu.c:121 4 process 1070232004 0x4037d48e in xQueueReceive (xQueue=0x3fca62c8, pvBuffer=0x3fca7010, xTicksToWait=) at /home/jmux/Documents/esp/esp-idf/components/xtensa/include/xt_utils.h:40 5 process 1070236068 0x4037d48e in xQueueReceive (xQueue=0x3fca73c0, pvBuffer=0x3fca7fc0, xTicksToWait=) at /home/jmux/Documents/esp/esp-idf/components/xtensa/include/xt_utils.h:40 6 process 1070217288 0x400559e0 in ?? () TCB NAME PRIO C/B STACK USED/FREE ---------- ---------------- -------- ---------------- 0x3fcb2048 espnow_recv_tas 4/4 2032/12 0x3fcaaa24 wifi 23/23 688/5952 0x3fca5890 IDLE 0/0 640/2164 0x3fca71c4 tiT 18/18 736/2832 0x3fca81a4 sys_evt 20/20 704/2096 0x3fca3848 esp_timer 22/22 656/3436 ==================== THREAD 1 (TCB: 0x3fcb2048, name: 'espnow_recv_tas') ===================== #0 0x40375759 in panic_abort (details=0x3fcb17ac "***ERROR*** A stack overflow in task espnow_recv_tas has been detected.") at /home/jmux/Documents/esp/esp-idf/components/esp_system/panic.c:452 #1 0x4037c97c in esp_system_abort (details=0x3fcb17ac "***ERROR*** A stack overflow in task espnow_recv_tas has been detected.") at /home/jmux/Documents/esp/esp-idf/components/esp_system/port/esp_system_chip.c:84 #2 0x4037efbd in vApplicationStackOverflowHook (xTask=, pcTaskName=0x3fcb207c "espnow_recv_tas") at /home/jmux/Documents/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:581 #3 0x4037e2b7 in vTaskSwitchContext () at /home/jmux/Documents/esp/esp-idf/components/xtensa/include/xt_utils.h:40 #4 0x4037f0cb in _frxt_dispatch () at /home/jmux/Documents/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/portasm.S:450 Backtrace stopped: Cannot access memory at address 0xa5a5a599 ==================== THREAD 2 (TCB: 0x3fcaaa24, name: 'wifi') ===================== #0 0x4037d48e in xQueueReceive (xQueue=0x3fca8900, pvBuffer=0x3fcaa870, xTicksToWait=) at /home/jmux/Documents/esp/esp-idf/components/xtensa/include/xt_utils.h:40 #1 0x4207c98c in queue_recv_wrapper (queue=0x3fca8900, item=0x3fcaa870, block_time_tick=4294967295) at /home/jmux/Documents/esp/esp-idf/components/esp_wifi/esp32s3/esp_adapter.c:281 #2 0x40383760 in ppTask () #3 0x4037ee1c in vPortTaskWrapper (pxCode=0x40383734 , pvParameters=0x0) at /home/jmux/Documents/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:162 ==================== THREAD 3 (TCB: 0x3fca5890, name: 'IDLE') ===================== #0 0x4037b282 in esp_cpu_wait_for_intr () at /home/jmux/Documents/esp/esp-idf/components/esp_hw_support/cpu.c:121 #1 0x4200e435 in esp_vApplicationIdleHook () at /home/jmux/Documents/esp/esp-idf/components/esp_system/freertos_hooks.c:59 #2 0x4037dbb0 in prvIdleTask (pvParameters=0x0) at /home/jmux/Documents/esp/esp-idf/components/freertos/FreeRTOS-Kernel/tasks.c:4327 #3 0x4037ee1c in vPortTaskWrapper (pxCode=0x4037dba4 , pvParameters=0x0) at /home/jmux/Documents/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:162 ==================== THREAD 4 (TCB: 0x3fca71c4, name: 'tiT') ===================== #0 0x4037d48e in xQueueReceive (xQueue=0x3fca62c8, pvBuffer=0x3fca7010, xTicksToWait=) at /home/jmux/Documents/esp/esp-idf/components/xtensa/include/xt_utils.h:40 #1 0x4204caaa in sys_arch_mbox_fetch (mbox=, msg=0x3fca7010, timeout=) at /home/jmux/Documents/esp/esp-idf/components/lwip/port/freertos/sys_arch.c:317 #2 0x4203e70b in tcpip_timeouts_mbox_fetch (mbox=0x3fca0d28 , msg=0x3fca7010) at /home/jmux/Documents/esp/esp-idf/components/lwip/lwip/src/api/tcpip.c:104 #3 0x4203e7cd in tcpip_thread (arg=0x0) at /home/jmux/Documents/esp/esp-idf/components/lwip/lwip/src/api/tcpip.c:142 #4 0x4037ee1c in vPortTaskWrapper (pxCode=0x4203e7ac , pvParameters=0x0) at /home/jmux/Documents/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:162 ==================== THREAD 5 (TCB: 0x3fca81a4, name: 'sys_evt') ===================== #0 0x4037d48e in xQueueReceive (xQueue=0x3fca73c0, pvBuffer=0x3fca7fc0, xTicksToWait=) at /home/jmux/Documents/esp/esp-idf/components/xtensa/include/xt_utils.h:40 #1 0x4207bcf8 in esp_event_loop_run (event_loop=0x3fca7394, ticks_to_run=4294967295) at /home/jmux/Documents/esp/esp-idf/components/esp_event/esp_event.c:569 #2 0x4207bd10 in esp_event_loop_run_task (args=0x3fca7394) at /home/jmux/Documents/esp/esp-idf/components/esp_event/esp_event.c:107 #3 0x4037ee1c in vPortTaskWrapper (pxCode=0x4207bd04 , pvParameters=0x3fca7394) at /home/jmux/Documents/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:162 ==================== THREAD 6 (TCB: 0x3fca3848, name: 'esp_timer') ===================== #0 0x400559e0 in ?? () #1 0x4037ef7e in vPortClearInterruptMaskFromISR (prev_level=) at /home/jmux/Documents/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos/portmacro.h:568 #2 vPortExitCritical (mux=0x3fc97194 ) at /home/jmux/Documents/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:532 #3 0x4037eb61 in ulTaskGenericNotifyTake (uxIndexToWait=0, xClearCountOnExit=1, xTicksToWait=) at /home/jmux/Documents/esp/esp-idf/components/freertos/FreeRTOS-Kernel/tasks.c:5820 #4 0x42006ff7 in timer_task (arg=0x0) at /home/jmux/Documents/esp/esp-idf/components/esp_timer/src/esp_timer.c:475 #5 0x4037ee1c in vPortTaskWrapper (pxCode=0x42006fe8 , pvParameters=0x0) at /home/jmux/Documents/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:162 ======================= ALL MEMORY REGIONS ======================== Name Address Size Attrs .rtc.force_fast 0x600fe010 0x0 RW .rtc_noinit 0x50000000 0x0 RW .rtc.force_slow 0x50000000 0x0 RW .iram0.vectors 0x40374000 0x403 R XA .iram0.text 0x40374404 0x12c43 R XA .dram0.data 0x3fc97100 0x5864 RW A .flash.text 0x42000020 0x7d533 R XA .flash.appdesc 0x3c080020 0x100 R A .flash.rodata 0x3c080120 0x1fa78 RW A .ext_ram.bss 0x3c0a0000 0x0 RW .iram0.data 0x40387100 0x0 RW .iram0.bss 0x40387100 0x0 RW .dram0.heap_start 0x3fca1a58 0x0 RW .coredump.tasks.data 0x3fcaaa24 0x154 RW .coredump.tasks.data 0x3fcaa750 0x2b0 RW .coredump.tasks.data 0x3fcb2048 0x154 RW .coredump.tasks.data 0x3fcb16a0 0x990 RW .coredump.tasks.data 0x3fca5890 0x154 RW .coredump.tasks.data 0x3fca55f0 0x280 RW .coredump.tasks.data 0x3fca71c4 0x154 RW .coredump.tasks.data 0x3fca6ec0 0x2e0 RW .coredump.tasks.data 0x3fca81a4 0x154 RW .coredump.tasks.data 0x3fca7ec0 0x2c0 RW .coredump.tasks.data 0x3fca3848 0x154 RW .coredump.tasks.data 0x3fca35a0 0x290 RW ===================== ESP32 CORE DUMP END ===================== =============================================================== Done! ```

Any help I can get resolving this issue as soon as possible would be greatly appreciated. Thanks.

lhespress commented 3 months ago

@0xjmux Could you add your application code based on get-started example and check again? BTW, esp-now component as an application-level ESP-NOW which provides some high-level functionalities. In short, espnow_xxx adds some application processing based on esp_now_xxx. The detailed introduction, please see the link as follows: https://github.com/espressif/esp-now/blob/master/User_Guide.md#introduction

0xjmux commented 3 months ago

@lhespress I had tried to get the get-started example working previously - no matter what I do, it refuses to compile. I've followed those instructions before, but just did so again after freshly cloning the repository again.

When I run idf.py menuconfig or idf.py set-target esp32s3, I get:

-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building ESP-IDF components for target esp32s3
Target changed from esp32 to esp32s3, solving dependencies.
Using component placed at /home/jmux/Github/Neopixel-Matrix-Tetris-Project/libs-examples/esp-now-main-repo for dependency esp-now(2.*), specified in /home/jmux/Github/Neopixel-Matrix-Tetris-Project/libs-examples/esp-now-main-repo/examples/get-started/main/idf_component.yml
....Updating lock file at /home/jmux/Github/Neopixel-Matrix-Tetris-Project/libs-examples/esp-now-main-repo/examples/get-started/dependencies.lock
Processing 3 dependencies:
[1/3] esp-now (2.5.0)
[2/3] espressif/cmake_utilities (0.5.3)
[3/3] idf (5.1.2)
CMake Error at /home/jmux/Documents/esp/esp-idf/tools/cmake/build.cmake:266 (message):
  Failed to resolve component 'esp-now'.
Call Stack (most recent call first):
  /home/jmux/Documents/esp/esp-idf/tools/cmake/build.cmake:308 (__build_resolve_and_add_req)
  /home/jmux/Documents/esp/esp-idf/tools/cmake/build.cmake:595 (__build_expand_requirements)
  /home/jmux/Documents/esp/esp-idf/tools/cmake/project.cmake:547 (idf_build_process)
  CMakeLists.txt:14 (project)

When I run idf.py build, I get the same error. Trying to configure the project or compile in VSCode gives the same result. This is on a fresh clone of the repo with idf.py --version == ESP-IDF v5.1.2

lhespress commented 3 months ago

@0xjmux It seems don't find esp-now components. Which environment do you used? Linux, Mac or Windows? BTW, the attachment is the firmware on my Mac environment. get-start.zip

0xjmux commented 3 months ago

I'm on Ubuntu 22.04LTS and ESP-IDF v5.1.2

It seems to find it fine in the example built in to ESP-IDF, and when I import esp_now.h into my program - but none of the examples in the esp-now examples folder will compile.

0xjmux commented 3 months ago

Using the "IDF Component Registry" in the VSCode extension, I tried to install the esp-now component directly. The installation fails with the following error:

CMake Error at /home/jmux/Documents/esp/esp-idf/tools/cmake/build.cmake:266 (message):
  Failed to resolve component 'esp-now'.
Call Stack (most recent call first):
  /home/jmux/Documents/esp/esp-idf/tools/cmake/build.cmake:308 (__build_resolve_and_add_req)
  /home/jmux/Documents/esp/esp-idf/tools/cmake/build.cmake:595 (__build_expand_requirements)
  /home/jmux/Documents/esp/esp-idf/tools/cmake/project.cmake:547 (idf_build_process)
  CMakeLists.txt:14 (project)

Clicking on CMakeOutput.log gives the following log:

CMakeOutput.log ``` GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: a19b05a690648f14c80488203643bd5a COLLECT_GCC_OPTIONS='-mlongcalls' '-Wno-frame-address' '-v' '-o' 'CMakeFiles/cmTC_84417.dir/CMakeCCompilerABI.c.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_84417.dir/' /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/as --traditional-format --longcalls -o CMakeFiles/cmTC_84417.dir/CMakeCCompilerABI.c.obj /tmp/ccsFid6g.s COMPILER_PATH=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ LIBRARY_PATH=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/lib/ COLLECT_GCC_OPTIONS='-mlongcalls' '-Wno-frame-address' '-v' '-o' 'CMakeFiles/cmTC_84417.dir/CMakeCCompilerABI.c.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_84417.dir/CMakeCCompilerABI.c.' [2/2] Linking C executable cmTC_84417 Using built-in specs. COLLECT_GCC=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc COLLECT_LTO_WRAPPER=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/lto-wrapper Target: xtensa-esp32-elf Configured with: /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=x86_64-build_pc-linux-gnu --target=xtensa-esp32-elf --prefix=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf --exec_prefix=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf --with-headers=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf/include --with-newlib --enable-threads=no --disable-shared --with-pkgversion='crosstool-NG esp-12.2.0_20230208' --disable-__cxa_atexit --enable-cxx-flags=-ffunction-sections --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-mpfr=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-mpc=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-isl=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --enable-lto --enable-target-optspace --without-long-double-128 --disable-nls --enable-multiarch --enable-languages=c,c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-gcov-custom-rtio --enable-libstdcxx-time=yes Thread model: posix Supported LTO compression algorithms: zlib gcc version 12.2.0 (crosstool-NG esp-12.2.0_20230208) COMPILER_PATH=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ LIBRARY_PATH=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/lib/ COLLECT_GCC_OPTIONS='-mlongcalls' '-Wno-frame-address' '-v' '-o' 'cmTC_84417' '-dumpdir' 'cmTC_84417.' /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/collect2 -plugin /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/liblto_plugin.so -plugin-opt=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccPJt6ih.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lnosys -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -o cmTC_84417 /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/lib/crt0.o /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crti.o /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtbegin.o -L/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0 -L/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc -L/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/lib CMakeFiles/cmTC_84417.dir/CMakeCCompilerABI.c.obj -lgcc -lc -lnosys -lc -lgcc /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtend.o /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtn.o COLLECT_GCC_OPTIONS='-mlongcalls' '-Wno-frame-address' '-v' '-o' 'cmTC_84417' '-dumpdir' 'cmTC_84417.' Parsed C implicit include dir info from above output: rv=done found start of include info found start of implicit include info add: [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/include] add: [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/include-fixed] add: [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/sys-include] add: [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/include] end of search list found collapse include dir [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/include] ==> [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc/xtensa-esp32-elf/12.2.0/include] collapse include dir [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/include-fixed] ==> [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc/xtensa-esp32-elf/12.2.0/include-fixed] collapse include dir [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/sys-include] ==> [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/xtensa-esp32-elf/sys-include] collapse include dir [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/include] ==> [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/xtensa-esp32-elf/include] implicit include dirs: [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc/xtensa-esp32-elf/12.2.0/include;/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc/xtensa-esp32-elf/12.2.0/include-fixed;/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/xtensa-esp32-elf/sys-include;/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/xtensa-esp32-elf/include] Parsed C implicit link information from above output: link line regex: [^( *|.*[/\])(xtensa-esp32-elf-ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] ignore line: [Change Dir: /home/jmux/Github/Neopixel-Matrix-Tetris-Project/libs-examples/esp-now-main-repo/examples/get-started/build/CMakeFiles/CMakeScratch/TryCompile-lmjvFF] ignore line: [] ignore line: [Run Build Command(s):/usr/bin/ninja cmTC_84417 && [1/2] Building C object CMakeFiles/cmTC_84417.dir/CMakeCCompilerABI.c.obj] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc] ignore line: [Target: xtensa-esp32-elf] ignore line: [Configured with: /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=x86_64-build_pc-linux-gnu --target=xtensa-esp32-elf --prefix=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf --exec_prefix=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf --with-headers=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf/include --with-newlib --enable-threads=no --disable-shared --with-pkgversion='crosstool-NG esp-12.2.0_20230208' --disable-__cxa_atexit --enable-cxx-flags=-ffunction-sections --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-mpfr=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-mpc=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-isl=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --enable-lto --enable-target-optspace --without-long-double-128 --disable-nls --enable-multiarch --enable-languages=c c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-gcov-custom-rtio --enable-libstdcxx-time=yes] ignore line: [Thread model: posix] ignore line: [Supported LTO compression algorithms: zlib] ignore line: [gcc version 12.2.0 (crosstool-NG esp-12.2.0_20230208) ] ignore line: [COLLECT_GCC_OPTIONS='-mlongcalls' '-Wno-frame-address' '-v' '-o' 'CMakeFiles/cmTC_84417.dir/CMakeCCompilerABI.c.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_84417.dir/'] ignore line: [ /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/cc1 -quiet -v -iprefix /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/ /usr/share/cmake-3.25/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_84417.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mlongcalls -Wno-frame-address -version -o /tmp/ccsFid6g.s] ignore line: [GNU C17 (crosstool-NG esp-12.2.0_20230208) version 12.2.0 (xtensa-esp32-elf)] ignore line: [ compiled by GNU C version 4.9.2 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP] ignore line: [] ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] ignore line: [ignoring duplicate directory "/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/../../lib/gcc/xtensa-esp32-elf/12.2.0/include"] ignore line: [ignoring duplicate directory "/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/../../lib/gcc/xtensa-esp32-elf/12.2.0/include-fixed"] ignore line: [ignoring duplicate directory "/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/../../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/sys-include"] ignore line: [ignoring duplicate directory "/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/../../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/include"] ignore line: [#include "..." search starts here:] ignore line: [#include <...> search starts here:] ignore line: [ /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/include] ignore line: [ /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/include-fixed] ignore line: [ /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/sys-include] ignore line: [ /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/include] ignore line: [End of search list.] ignore line: [GNU C17 (crosstool-NG esp-12.2.0_20230208) version 12.2.0 (xtensa-esp32-elf)] ignore line: [ compiled by GNU C version 4.9.2 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP] ignore line: [] ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] ignore line: [Compiler executable checksum: a19b05a690648f14c80488203643bd5a] ignore line: [COLLECT_GCC_OPTIONS='-mlongcalls' '-Wno-frame-address' '-v' '-o' 'CMakeFiles/cmTC_84417.dir/CMakeCCompilerABI.c.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_84417.dir/'] ignore line: [ /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/as --traditional-format --longcalls -o CMakeFiles/cmTC_84417.dir/CMakeCCompilerABI.c.obj /tmp/ccsFid6g.s] ignore line: [COMPILER_PATH=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/] ignore line: [LIBRARY_PATH=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/lib/] ignore line: [COLLECT_GCC_OPTIONS='-mlongcalls' '-Wno-frame-address' '-v' '-o' 'CMakeFiles/cmTC_84417.dir/CMakeCCompilerABI.c.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_84417.dir/CMakeCCompilerABI.c.'] ignore line: [[2/2] Linking C executable cmTC_84417] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc] ignore line: [COLLECT_LTO_WRAPPER=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/lto-wrapper] ignore line: [Target: xtensa-esp32-elf] ignore line: [Configured with: /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=x86_64-build_pc-linux-gnu --target=xtensa-esp32-elf --prefix=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf --exec_prefix=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf --with-headers=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf/include --with-newlib --enable-threads=no --disable-shared --with-pkgversion='crosstool-NG esp-12.2.0_20230208' --disable-__cxa_atexit --enable-cxx-flags=-ffunction-sections --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-mpfr=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-mpc=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-isl=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --enable-lto --enable-target-optspace --without-long-double-128 --disable-nls --enable-multiarch --enable-languages=c c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-gcov-custom-rtio --enable-libstdcxx-time=yes] ignore line: [Thread model: posix] ignore line: [Supported LTO compression algorithms: zlib] ignore line: [gcc version 12.2.0 (crosstool-NG esp-12.2.0_20230208) ] ignore line: [COMPILER_PATH=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/] ignore line: [LIBRARY_PATH=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/lib/] ignore line: [COLLECT_GCC_OPTIONS='-mlongcalls' '-Wno-frame-address' '-v' '-o' 'cmTC_84417' '-dumpdir' 'cmTC_84417.'] link line: [ /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/collect2 -plugin /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/liblto_plugin.so -plugin-opt=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccPJt6ih.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lnosys -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -o cmTC_84417 /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/lib/crt0.o /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crti.o /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtbegin.o -L/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0 -L/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc -L/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/lib CMakeFiles/cmTC_84417.dir/CMakeCCompilerABI.c.obj -lgcc -lc -lnosys -lc -lgcc /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtend.o /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtn.o] arg [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/collect2] ==> ignore arg [-plugin] ==> ignore arg [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/liblto_plugin.so] ==> ignore arg [-plugin-opt=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/lto-wrapper] ==> ignore arg [-plugin-opt=-fresolution=/tmp/ccPJt6ih.res] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore arg [-plugin-opt=-pass-through=-lnosys] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-o] ==> ignore arg [cmTC_84417] ==> ignore arg [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/lib/crt0.o] ==> obj [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/lib/crt0.o] arg [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crti.o] ==> obj [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crti.o] arg [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtbegin.o] ==> obj [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtbegin.o] arg [-L/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0] ==> dir [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0] arg [-L/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc] ==> dir [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc] arg [-L/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/lib] ==> dir [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/lib] arg [CMakeFiles/cmTC_84417.dir/CMakeCCompilerABI.c.obj] ==> ignore arg [-lgcc] ==> lib [gcc] arg [-lc] ==> lib [c] arg [-lnosys] ==> lib [nosys] arg [-lc] ==> lib [c] arg [-lgcc] ==> lib [gcc] arg [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtend.o] ==> obj [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtend.o] arg [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtn.o] ==> obj [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtn.o] collapse obj [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/lib/crt0.o] ==> [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/xtensa-esp32-elf/lib/crt0.o] collapse obj [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crti.o] ==> [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc/xtensa-esp32-elf/12.2.0/crti.o] collapse obj [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtbegin.o] ==> [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc/xtensa-esp32-elf/12.2.0/crtbegin.o] collapse obj [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtend.o] ==> [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc/xtensa-esp32-elf/12.2.0/crtend.o] collapse obj [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtn.o] ==> [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc/xtensa-esp32-elf/12.2.0/crtn.o] collapse library dir [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0] ==> [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc/xtensa-esp32-elf/12.2.0] collapse library dir [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc] ==> [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc] collapse library dir [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/lib] ==> [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/xtensa-esp32-elf/lib] implicit libs: [gcc;c;nosys;c;gcc] implicit objs: [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/xtensa-esp32-elf/lib/crt0.o;/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc/xtensa-esp32-elf/12.2.0/crti.o;/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc/xtensa-esp32-elf/12.2.0/crtbegin.o;/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc/xtensa-esp32-elf/12.2.0/crtend.o;/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc/xtensa-esp32-elf/12.2.0/crtn.o] implicit dirs: [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc/xtensa-esp32-elf/12.2.0;/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc;/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/xtensa-esp32-elf/lib] implicit fwks: [] Detecting CXX compiler ABI info compiled with the following output: Change Dir: /home/jmux/Github/Neopixel-Matrix-Tetris-Project/libs-examples/esp-now-main-repo/examples/get-started/build/CMakeFiles/CMakeScratch/TryCompile-5du8VA Run Build Command(s):/usr/bin/ninja cmTC_d8143 && [1/2] Building CXX object CMakeFiles/cmTC_d8143.dir/CMakeCXXCompilerABI.cpp.obj Using built-in specs. COLLECT_GCC=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++ Target: xtensa-esp32-elf Configured with: /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=x86_64-build_pc-linux-gnu --target=xtensa-esp32-elf --prefix=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf --exec_prefix=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf --with-headers=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf/include --with-newlib --enable-threads=no --disable-shared --with-pkgversion='crosstool-NG esp-12.2.0_20230208' --disable-__cxa_atexit --enable-cxx-flags=-ffunction-sections --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-mpfr=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-mpc=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-isl=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --enable-lto --enable-target-optspace --without-long-double-128 --disable-nls --enable-multiarch --enable-languages=c,c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-gcov-custom-rtio --enable-libstdcxx-time=yes Thread model: posix Supported LTO compression algorithms: zlib gcc version 12.2.0 (crosstool-NG esp-12.2.0_20230208) COLLECT_GCC_OPTIONS='-mlongcalls' '-Wno-frame-address' '-v' '-o' 'CMakeFiles/cmTC_d8143.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_d8143.dir/' /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/cc1plus -quiet -v -iprefix /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/ /usr/share/cmake-3.25/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_d8143.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mlongcalls -Wno-frame-address -version -o /tmp/ccWCoLQ0.s GNU C++17 (crosstool-NG esp-12.2.0_20230208) version 12.2.0 (xtensa-esp32-elf) compiled by GNU C version 4.9.2, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 ignoring duplicate directory "/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/../../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/include/c++/12.2.0" ignoring duplicate directory "/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/../../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/include/c++/12.2.0/xtensa-esp32-elf" ignoring duplicate directory "/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/../../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/include/c++/12.2.0/backward" ignoring duplicate directory "/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/../../lib/gcc/xtensa-esp32-elf/12.2.0/include" ignoring duplicate directory "/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/../../lib/gcc/xtensa-esp32-elf/12.2.0/include-fixed" ignoring duplicate directory "/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/../../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/sys-include" ignoring duplicate directory "/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/../../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/include" #include "..." search starts here: #include <...> search starts here: /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/include/c++/12.2.0 /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/include/c++/12.2.0/xtensa-esp32-elf /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/include/c++/12.2.0/backward /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/include /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/include-fixed /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/sys-include /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/include End of search list. GNU C++17 (crosstool-NG esp-12.2.0_20230208) version 12.2.0 (xtensa-esp32-elf) compiled by GNU C version 4.9.2, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 14c3d3463b249927e358e8af6e36a201 COLLECT_GCC_OPTIONS='-mlongcalls' '-Wno-frame-address' '-v' '-o' 'CMakeFiles/cmTC_d8143.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_d8143.dir/' /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/as --traditional-format --longcalls -o CMakeFiles/cmTC_d8143.dir/CMakeCXXCompilerABI.cpp.obj /tmp/ccWCoLQ0.s COMPILER_PATH=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ LIBRARY_PATH=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/lib/ COLLECT_GCC_OPTIONS='-mlongcalls' '-Wno-frame-address' '-v' '-o' 'CMakeFiles/cmTC_d8143.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_d8143.dir/CMakeCXXCompilerABI.cpp.' [2/2] Linking CXX executable cmTC_d8143 Using built-in specs. COLLECT_GCC=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++ COLLECT_LTO_WRAPPER=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/lto-wrapper Target: xtensa-esp32-elf Configured with: /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=x86_64-build_pc-linux-gnu --target=xtensa-esp32-elf --prefix=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf --exec_prefix=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf --with-headers=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf/include --with-newlib --enable-threads=no --disable-shared --with-pkgversion='crosstool-NG esp-12.2.0_20230208' --disable-__cxa_atexit --enable-cxx-flags=-ffunction-sections --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-mpfr=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-mpc=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-isl=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --enable-lto --enable-target-optspace --without-long-double-128 --disable-nls --enable-multiarch --enable-languages=c,c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-gcov-custom-rtio --enable-libstdcxx-time=yes Thread model: posix Supported LTO compression algorithms: zlib gcc version 12.2.0 (crosstool-NG esp-12.2.0_20230208) COMPILER_PATH=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ LIBRARY_PATH=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/lib/ COLLECT_GCC_OPTIONS='-mlongcalls' '-Wno-frame-address' '-v' '-o' 'cmTC_d8143' '-dumpdir' 'cmTC_d8143.' /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/collect2 -plugin /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/liblto_plugin.so -plugin-opt=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccy6DVEt.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lnosys -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -o cmTC_d8143 /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/lib/crt0.o /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crti.o /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtbegin.o -L/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0 -L/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc -L/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/lib CMakeFiles/cmTC_d8143.dir/CMakeCXXCompilerABI.cpp.obj -lstdc++ -lm -lgcc -lc -lnosys -lc -lgcc /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtend.o /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtn.o COLLECT_GCC_OPTIONS='-mlongcalls' '-Wno-frame-address' '-v' '-o' 'cmTC_d8143' '-dumpdir' 'cmTC_d8143.' Parsed CXX implicit include dir info from above output: rv=done found start of include info found start of implicit include info add: [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/include/c++/12.2.0] add: [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/include/c++/12.2.0/xtensa-esp32-elf] add: [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/include/c++/12.2.0/backward] add: [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/include] add: [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/include-fixed] add: [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/sys-include] add: [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/include] end of search list found collapse include dir [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/include/c++/12.2.0] ==> [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/12.2.0] collapse include dir [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/include/c++/12.2.0/xtensa-esp32-elf] ==> [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/12.2.0/xtensa-esp32-elf] collapse include dir [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/include/c++/12.2.0/backward] ==> [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/12.2.0/backward] collapse include dir [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/include] ==> [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc/xtensa-esp32-elf/12.2.0/include] collapse include dir [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/include-fixed] ==> [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc/xtensa-esp32-elf/12.2.0/include-fixed] collapse include dir [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/sys-include] ==> [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/xtensa-esp32-elf/sys-include] collapse include dir [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/include] ==> [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/xtensa-esp32-elf/include] implicit include dirs: [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/12.2.0;/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/12.2.0/xtensa-esp32-elf;/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/12.2.0/backward;/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc/xtensa-esp32-elf/12.2.0/include;/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc/xtensa-esp32-elf/12.2.0/include-fixed;/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/xtensa-esp32-elf/sys-include;/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/xtensa-esp32-elf/include] Parsed CXX implicit link information from above output: link line regex: [^( *|.*[/\])(xtensa-esp32-elf-ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] ignore line: [Change Dir: /home/jmux/Github/Neopixel-Matrix-Tetris-Project/libs-examples/esp-now-main-repo/examples/get-started/build/CMakeFiles/CMakeScratch/TryCompile-5du8VA] ignore line: [] ignore line: [Run Build Command(s):/usr/bin/ninja cmTC_d8143 && [1/2] Building CXX object CMakeFiles/cmTC_d8143.dir/CMakeCXXCompilerABI.cpp.obj] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++] ignore line: [Target: xtensa-esp32-elf] ignore line: [Configured with: /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=x86_64-build_pc-linux-gnu --target=xtensa-esp32-elf --prefix=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf --exec_prefix=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf --with-headers=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf/include --with-newlib --enable-threads=no --disable-shared --with-pkgversion='crosstool-NG esp-12.2.0_20230208' --disable-__cxa_atexit --enable-cxx-flags=-ffunction-sections --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-mpfr=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-mpc=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-isl=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --enable-lto --enable-target-optspace --without-long-double-128 --disable-nls --enable-multiarch --enable-languages=c c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-gcov-custom-rtio --enable-libstdcxx-time=yes] ignore line: [Thread model: posix] ignore line: [Supported LTO compression algorithms: zlib] ignore line: [gcc version 12.2.0 (crosstool-NG esp-12.2.0_20230208) ] ignore line: [COLLECT_GCC_OPTIONS='-mlongcalls' '-Wno-frame-address' '-v' '-o' 'CMakeFiles/cmTC_d8143.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_d8143.dir/'] ignore line: [ /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/cc1plus -quiet -v -iprefix /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/ /usr/share/cmake-3.25/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_d8143.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mlongcalls -Wno-frame-address -version -o /tmp/ccWCoLQ0.s] ignore line: [GNU C++17 (crosstool-NG esp-12.2.0_20230208) version 12.2.0 (xtensa-esp32-elf)] ignore line: [ compiled by GNU C version 4.9.2 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP] ignore line: [] ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] ignore line: [ignoring duplicate directory "/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/../../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/include/c++/12.2.0"] ignore line: [ignoring duplicate directory "/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/../../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/include/c++/12.2.0/xtensa-esp32-elf"] ignore line: [ignoring duplicate directory "/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/../../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/include/c++/12.2.0/backward"] ignore line: [ignoring duplicate directory "/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/../../lib/gcc/xtensa-esp32-elf/12.2.0/include"] ignore line: [ignoring duplicate directory "/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/../../lib/gcc/xtensa-esp32-elf/12.2.0/include-fixed"] ignore line: [ignoring duplicate directory "/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/../../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/sys-include"] ignore line: [ignoring duplicate directory "/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/../../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/include"] ignore line: [#include "..." search starts here:] ignore line: [#include <...> search starts here:] ignore line: [ /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/include/c++/12.2.0] ignore line: [ /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/include/c++/12.2.0/xtensa-esp32-elf] ignore line: [ /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/include/c++/12.2.0/backward] ignore line: [ /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/include] ignore line: [ /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/include-fixed] ignore line: [ /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/sys-include] ignore line: [ /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/include] ignore line: [End of search list.] ignore line: [GNU C++17 (crosstool-NG esp-12.2.0_20230208) version 12.2.0 (xtensa-esp32-elf)] ignore line: [ compiled by GNU C version 4.9.2 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP] ignore line: [] ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] ignore line: [Compiler executable checksum: 14c3d3463b249927e358e8af6e36a201] ignore line: [COLLECT_GCC_OPTIONS='-mlongcalls' '-Wno-frame-address' '-v' '-o' 'CMakeFiles/cmTC_d8143.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_d8143.dir/'] ignore line: [ /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/as --traditional-format --longcalls -o CMakeFiles/cmTC_d8143.dir/CMakeCXXCompilerABI.cpp.obj /tmp/ccWCoLQ0.s] ignore line: [COMPILER_PATH=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/] ignore line: [LIBRARY_PATH=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/lib/] ignore line: [COLLECT_GCC_OPTIONS='-mlongcalls' '-Wno-frame-address' '-v' '-o' 'CMakeFiles/cmTC_d8143.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_d8143.dir/CMakeCXXCompilerABI.cpp.'] ignore line: [[2/2] Linking CXX executable cmTC_d8143] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++] ignore line: [COLLECT_LTO_WRAPPER=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/lto-wrapper] ignore line: [Target: xtensa-esp32-elf] ignore line: [Configured with: /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=x86_64-build_pc-linux-gnu --target=xtensa-esp32-elf --prefix=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf --exec_prefix=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf --with-headers=/builds/idf/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf/include --with-newlib --enable-threads=no --disable-shared --with-pkgversion='crosstool-NG esp-12.2.0_20230208' --disable-__cxa_atexit --enable-cxx-flags=-ffunction-sections --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-mpfr=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-mpc=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-isl=/builds/idf/crosstool-NG/.build/xtensa-esp32-elf/buildtools --enable-lto --enable-target-optspace --without-long-double-128 --disable-nls --enable-multiarch --enable-languages=c c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-gcov-custom-rtio --enable-libstdcxx-time=yes] ignore line: [Thread model: posix] ignore line: [Supported LTO compression algorithms: zlib] ignore line: [gcc version 12.2.0 (crosstool-NG esp-12.2.0_20230208) ] ignore line: [COMPILER_PATH=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/] ignore line: [LIBRARY_PATH=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/:/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/lib/] ignore line: [COLLECT_GCC_OPTIONS='-mlongcalls' '-Wno-frame-address' '-v' '-o' 'cmTC_d8143' '-dumpdir' 'cmTC_d8143.'] link line: [ /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/collect2 -plugin /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/liblto_plugin.so -plugin-opt=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccy6DVEt.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lnosys -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -o cmTC_d8143 /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/lib/crt0.o /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crti.o /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtbegin.o -L/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0 -L/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc -L/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/lib CMakeFiles/cmTC_d8143.dir/CMakeCXXCompilerABI.cpp.obj -lstdc++ -lm -lgcc -lc -lnosys -lc -lgcc /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtend.o /home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtn.o] arg [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/collect2] ==> ignore arg [-plugin] ==> ignore arg [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/liblto_plugin.so] ==> ignore arg [-plugin-opt=/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/12.2.0/lto-wrapper] ==> ignore arg [-plugin-opt=-fresolution=/tmp/ccy6DVEt.res] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore arg [-plugin-opt=-pass-through=-lnosys] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-o] ==> ignore arg [cmTC_d8143] ==> ignore arg [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/lib/crt0.o] ==> obj [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/lib/crt0.o] arg [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crti.o] ==> obj [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crti.o] arg [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtbegin.o] ==> obj [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtbegin.o] arg [-L/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0] ==> dir [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0] arg [-L/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc] ==> dir [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc] arg [-L/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/lib] ==> dir [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/lib] arg [CMakeFiles/cmTC_d8143.dir/CMakeCXXCompilerABI.cpp.obj] ==> ignore arg [-lstdc++] ==> lib [stdc++] arg [-lm] ==> lib [m] arg [-lgcc] ==> lib [gcc] arg [-lc] ==> lib [c] arg [-lnosys] ==> lib [nosys] arg [-lc] ==> lib [c] arg [-lgcc] ==> lib [gcc] arg [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtend.o] ==> obj [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtend.o] arg [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtn.o] ==> obj [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtn.o] collapse obj [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/lib/crt0.o] ==> [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/xtensa-esp32-elf/lib/crt0.o] collapse obj [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crti.o] ==> [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc/xtensa-esp32-elf/12.2.0/crti.o] collapse obj [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtbegin.o] ==> [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc/xtensa-esp32-elf/12.2.0/crtbegin.o] collapse obj [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtend.o] ==> [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc/xtensa-esp32-elf/12.2.0/crtend.o] collapse obj [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/crtn.o] ==> [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc/xtensa-esp32-elf/12.2.0/crtn.o] collapse library dir [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0] ==> [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc/xtensa-esp32-elf/12.2.0] collapse library dir [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc] ==> [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc] collapse library dir [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/lib] ==> [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/xtensa-esp32-elf/lib] implicit libs: [stdc++;m;gcc;c;nosys;c;gcc] implicit objs: [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/xtensa-esp32-elf/lib/crt0.o;/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc/xtensa-esp32-elf/12.2.0/crti.o;/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc/xtensa-esp32-elf/12.2.0/crtbegin.o;/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc/xtensa-esp32-elf/12.2.0/crtend.o;/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc/xtensa-esp32-elf/12.2.0/crtn.o] implicit dirs: [/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc/xtensa-esp32-elf/12.2.0;/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/lib/gcc;/home/jmux/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/xtensa-esp32-elf/lib] implicit fwks: [] ```

This is nonetheless somewhat off-topic from the original question - As far as I can tell, there's not much guarantee that using the higher abstraction layer would avoid a similar memory leak, since what I'm trying to do is already so simple. Would you be able to take a look at identifying the possible culprit in the example code I posted above?

Thanks.

0xjmux commented 3 months ago

I just attempted to upgrade my ESP-IDF to v5.2.1, and was quickly reminded why I had been avoiding doing that. The SDK still refuses to work with intellisense out of the box, and getting the bare minimum functional is quite the frustrating ordeal. If this is something you guys somehow aren't aware of, you should add testing the installation of ESP-IDF through VSCode to the list - fresh install, open any example, and you get a sea of red. I've lost count of how many hours I've spent just trying to get the SDK working - not being able to tell it to use a pyenv virtualenv during installation is another annoyance.

It also didn't help, building the get-started example through the IDE or via idf.py build still fails with the same error.

0xjmux commented 3 months ago

I've been losing my mind as to what I've been doing wrong, so as a sanity check I enabled comprehensive heap detection and tracing in the default wifi/espnow example, compiled it and ran it.

It seems that I'm not going insane - it detects a stack overflow in the example that comes with ESP-IDF.

idf.py openocd

Info : [esp32s3.cpu0] Target halted, PC=0x40375A81, debug_reason=00000001
Info : [esp32s3.cpu0] Halt cause (***ERROR*** A stack overflow in task example_espnow_ has been detected.)

idf.py monitor:

I (18574) espnow_example: send data to ff:ff:ff:ff:ff:ff
I (18574) espnow_example: Receive error data from: [MAC OF MY OTHER ESPNOW DEVICE]
[at this point, it crashes and nothing else shows up]

idf.py gdbtui

[esp32s3.cpu0] Target halted, PC=0x40375A81, debug_reason=00000001
[esp32s3.cpu0] Halt cause (***ERROR*** A stack overflow in task example_espnow_ has been detected.)
[New Thread 1070275316]
[New Thread 1070245204]
[New Thread 1070230808]
[New Thread 1070234848]

Thread 8 "example_espnow_" received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread 1070275316]
0x40375a81 in panic_abort (details=0x3fcb12ac "***ERROR*** A stack overflow in task example_espnow_ has been detected.") at /home/jmux/Documents/esp/v5.2.1/
esp-idf/components/esp_system/panic.c:472
(gdb) bt
#0  0x40375a81 in panic_abort (details=0x3fcb12ac "***ERROR*** A stack overflow in task example_espnow_ has been detected.")
    at /home/jmux/Documents/esp/v5.2.1/esp-idf/components/esp_system/panic.c:472
#1  0x4037c6f4 in esp_system_abort (details=0x3fcb12ac "***ERROR*** A stack overflow in task example_espnow_ has been detected.")
    at /home/jmux/Documents/esp/v5.2.1/esp-idf/components/esp_system/port/esp_system_chip.c:93
#2  0x4037d5c1 in vApplicationStackOverflowHook (xTask=0x3fcb1af4, pcTaskName=0x3fcb1b28 "example_espnow_")
    at /home/jmux/Documents/esp/v5.2.1/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:553
#3  0x4037e9f2 in vTaskSwitchContext () at /home/jmux/Documents/esp/v5.2.1/esp-idf/components/freertos/FreeRTOS-Kernel/tasks.c:3630
#4  0x4037d687 in _frxt_dispatch () at /home/jmux/Documents/esp/v5.2.1/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/portasm.S:451
#5  0x4037d67d in _frxt_int_exit () at /home/jmux/Documents/esp/v5.2.1/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/portasm.S:24

I created a brand new project from the wifi/espnow example, and haven't made any modifications other than enabling heap debugging features in menuconfig.

I should mention that this is on the latest stable release of ESP-IDF, since I bit the bullet and spent 4 hours reconfiguring the extension to work again after updating it.

$ idf.py --version
ESP-IDF v5.2.1

Since this bug is not in my modified code but rather in the example code that ships with ESP-IDF, it should be easier to triage from your guy's end. If someone could take a look at resolving that, I'd greatly appreciate it.

zhangyanjiaoesp commented 3 months ago

@0xjmux I have tested the wifi/espnow example on the IDF v5.2.1 on my side, when the comprehensive heap detection option is enabled, it does generate a task watchdog. When the comprehensive heap detection option is enabled, it will consume more memory, so you need to increase the stack size of the example_espnow_task. After I increase the stack size to 4096, the example can work well.

xTaskCreate(example_espnow_task, "example_espnow_task", 4096, send_param, 4, NULL);

For your original code, you can also increase the stack size of the watchdog task, and then enable comprehensive heap detection option to debug.

lhespress commented 1 week ago

@0xjmux Closing this issue since there has been no update on this. Please feel free to reopen if required.