espressif / vscode-esp-idf-extension

Visual Studio Code extension for ESP-IDF projects
Apache License 2.0
1.02k stars 299 forks source link

"Select Port To Use" throws error "spawn udevadm ENOENT" #1296

Open Stubbs opened 2 weeks ago

Stubbs commented 2 weeks ago

OS

MacOS

Operating System version

OSX Sonoma 14.5

Visual Studio Code version

1.92.2

ESP-IDF version

ESP-IDF v5.4-dev-2306-gdbce23f8a4

Python version

Python 3.12.4

Doctor command output

---------------------------------------------- ESP-IDF Extension for Visual Studio Code report --------------------------------------------- OS linux x64 6.6.31-linuxkit System environment variable IDF_PYTHON_ENV_PATH /opt/esp/python_env/idf5.4_py3.12_env System environment variable PATH /opt/esp/idf/components/espcoredump:/opt/esp/idf/components/partition_table:/opt/esp/idf/components/app_update:/opt/esp/tools/xtensa-esp-elf-gdb/14.2_20240403/xtensa-esp-elf-gdb/bin:/opt/esp/tools/riscv32-esp-elf-gdb/14.2_20240403/riscv32-esp-elf-gdb/bin:/opt/esp/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin:/opt/esp/tools/riscv32-esp-elf/esp-13.2.0_20240530/riscv32-esp-elf/bin:/opt/esp/tools/esp32ulp-elf/2.38_20240113/esp32ulp-elf/bin:/opt/esp/tools/cmake/3.24.0/bin:/opt/esp/tools/openocd-esp32/v0.12.0-esp32-20240726/openocd-esp32/bin:/opt/esp/tools/qemu-xtensa/esp_develop_9.0.0_20240606/qemu/bin:/opt/esp/tools/qemu-riscv32/esp_develop_9.0.0_20240606/qemu/bin:/opt/esp/tools/xtensa-esp-elf-gdb/14.2_20240403/xtensa-esp-elf-gdb/bin:/opt/esp/tools/riscv32-esp-elf-gdb/14.2_20240403/riscv32-esp-elf-gdb/bin:/opt/esp/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/bin:/opt/esp/tools/riscv32-esp-elf/esp-13.2.0_20240530/riscv32-esp-elf/bin:/opt/esp/tools/esp32ulp-elf/2.38_20240113/esp32ulp-elf/bin:/opt/esp/tools/cmake/3.24.0/bin:/opt/esp/tools/openocd-esp32/v0.12.0-esp32-20240726/openocd-esp32/bin:/opt/esp/tools/qemu-xtensa/esp_develop_9.0.0_20240606/qemu/bin:/opt/esp/tools/qemu-riscv32/esp_develop_9.0.0_20240606/qemu/bin:/opt/esp/python_env/idf5.4_py3.12_env/bin:/opt/esp/idf/tools:/opt/qemu/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin System environment variable PYTHON undefined Visual Studio Code version 1.92.2 Visual Studio Code language en Visual Studio Code shell /usr/bin/bash ESP-IDF Extension version 1.8.1 Workspace folder /workspaces/blink ---------------------------------------------------- Extension configuration settings ------------------------------------------------------ ESP-ADF Path (idf.espAdfPath) ${env:ADF_PATH} ESP-IDF Path (idf.espIdfPath) /opt/esp/idf ESP-MDF Path (idf.espMdfPath) ${env:MDF_PATH} ESP-Matter Path (idf.espMatterPath) ${env:ESP_MATTER_PATH} ESP-HomeKit-SDK Path (idf.espHomeKitSdkPath) ${env:HOMEKIT_PATH} Custom extra paths (idf.customExtraPaths) Custom extra vars (idf.customExtraVars) OPENOCD_SCRIPTS: /Users/stuart/.espressif/tools/openocd-esp32/v0.12.0-esp32-20240726/openocd-esp32/share/openocd/scripts ESP_ROM_ELF_DIR: /Users/stuart/.espressif/tools/esp-rom-elfs/20240305/ Virtual env Python Path (idf.pythonBinPath) /opt/esp/python_env/idf5.4_py3.12_env/bin/python Serial port (idf.port) /dev/ttyUSB1 OpenOCD Configs (idf.openOcdConfigs) board/esp32c3-ftdi.cfg ESP-IDF Tools Path (idf.toolsPath) /opt/esp Git Path (idf.gitPath) /usr/bin/git Notification Mode (idf.notificationMode) All -------------------------------------------------------- Configurations access ------------------------------------------------------------- Access to ESP-ADF Path (idf.espAdfPath) false Access to ESP-IDF Path (idf.espIdfPath) true Access to ESP-MDF Path (idf.espMdfPath) false Access to ESP-Matter Path (idf.espMatterPath) false Access to ESP-HomeKit Path (idf.espHomeKitSdkPath) false Access to ESP-IDF Custom extra paths Access to Virtual env Python Path (idf.pythonBinPath) true Access to CMake in environment PATH true Access to Ninja in environment PATH true Access to ESP-IDF Tools Path (idf.toolsPath) true -------------------------------------------------------- Configurations has spaces ------------------------------------------------------------- Spaces in system environment Path false Spaces in ESP-ADF Path (idf.espAdfPath) false Spaces in ESP-IDF Path (idf.espIdfPath) false Spaces in ESP-MDF Path (idf.espMdfPath) false Spaces in ESP-Matter Path (idf.espMatterPath) false Spaces in ESP-HomeKit-SDK Path (idf.espHomeKitSdkPath) false Spaces in ESP-IDF Custom extra paths Spaces in Virtual env Python Path (idf.pythonBinPath) false Spaces in ESP-IDF Tools Path (idf.toolsPath) false ----------------------------------------------------------- Executables Versions ----------------------------------------------------------- Git version 2.43.0 ESP-IDF version 5.4.0 Python version 3.12.3 Python's pip version 24.2 -------------------------------------------------- Project configuration settings ---------------------------------------------------------- -------------------------------------------------- Python packages in idf.pythonBinPath ---------------------------------------------------- annotated-types version: 0.7.0 argcomplete version: 3.5.0 bitarray version: 2.9.2 bitstring version: 4.2.3 certifi version: 2024.7.4 cffi version: 1.17.0 charset-normalizer version: 3.3.2 click version: 8.1.7 colorama version: 0.4.6 construct version: 2.10.70 cryptography version: 43.0.0 ecdsa version: 0.19.0 esp-coredump version: 1.11.0 esp-idf-kconfig version: 2.3.0 esp-idf-monitor version: 1.4.0 esp_idf_nvs_partition_gen version: 0.1.2 esp-idf-panic-decoder version: 1.1.0 esp-idf-size version: 1.5.0 esptool version: 4.8.dev5 freertos-gdb version: 1.0.3 idf-component-manager version: 2.0.3 idna version: 3.8 intelhex version: 2.3.0 jsonref version: 1.1.0 markdown-it-py version: 3.0.0 mdurl version: 0.1.2 packaging version: 24.1 pip version: 24.2 pyclang version: 0.4.2 pycparser version: 2.22 pydantic version: 2.8.2 pydantic_core version: 2.20.1 pydantic-settings version: 2.4.0 pyelftools version: 0.31 pygdbmi version: 0.11.0.0 Pygments version: 2.18.0 pyparsing version: 3.1.4 pyserial version: 3.5 python-dotenv version: 1.0.1 PyYAML version: 6.0.2 reedsolo version: 1.7.0 requests version: 2.32.3 requests-file version: 2.1.0 requests-toolbelt version: 1.0.0 rich version: 13.8.0 setuptools version: 71.0.0 six version: 1.16.0 tqdm version: 4.66.5 typing_extensions version: 4.12.2 urllib3 version: 2.2.2 ---------------------------------------------------- Check ESP-IDF python requirements.txt ------------------------------------------------- Check ESP-IDF Python packages Python requirements are satisfied. ---------------------------------------------------- Check ESP-IDF debug adapter requirements.txt ------------------------------------------ Check Debug AdapterPython packages Error ---------------------------------------------------- Visual Studio Code launch.json -------------------------------------------------------- { "version": "0.2.0", "configurations": [ { "type": "gdbtarget", "request": "attach", "name": "Eclipse CDT GDB Adapter" }, { "type": "espidf", "name": "Launch", "request": "launch" } ] } ---------------------------------------------------- Visual Studio Code c_cpp_properties.json ---------------------------------------------- { "configurations": [ { "name": "ESP-IDF", "compilerPath": "${config:idf.toolsPath}/tools/riscv32-esp-elf/esp-13.2.0_20240530/riscv32-esp-elf/bin/riscv32-esp-elf-gcc", "compileCommands": "${config:idf.buildPath}/compile_commands.json", "includePath": [ "${config:idf.espIdfPath}/components/", "${config:idf.espIdfPathWin}/components/", "${workspaceFolder}/**" ], "browse": { "path": [ "${config:idf.espIdfPath}/components", "${config:idf.espIdfPathWin}/components", "${workspaceFolder}" ], "limitSymbolsToIncludedHeaders": true } } ], "version": 4 }

----------------------------------------------------------- Latest error ----------------------------------------------------------------- { "code": 1, "killed": false, "signal": null, "cmd": "/opt/esp/python_env/idf5.4_py3.12_env/bin/python /opt/esp/idf/tools/check_python_dependencies.py -r /.vscode-server/extensions/espressif.esp-idf-extension-1.8.1/esp_debug_adapter/requirements.txt" }

----------------------------------------------------------- Logfile ----------------------------------------------------------------- {"message":"Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:19)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n","stack":"Error: Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:19)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n\n at /dist/extension.js:2:1424988\n at ChildProcess.exithandler (node:child_process:414:7)\n at ChildProcess.emit (node:events:519:28)\n at maybeClose (node:internal/child_process:1105:16)\n at Socket. (node:internal/child_process:457:11)\n at Socket.emit (node:events:519:28)\n at Pipe. (node:net:338:12)","level":"error","timestamp":"2024-08-28T20:46:06.648Z"} {"message":"ENOENT: no such file or directory, open '/Users/stuart/.espressif/tools/openocd-esp32/v0.12.0-esp32-20240726/openocd-esp32/share/openocd/scripts/esp-config.json'","stack":"Error: ENOENT: no such file or directory, open '/Users/stuart/.espressif/tools/openocd-esp32/v0.12.0-esp32-20240726/openocd-esp32/share/openocd/scripts/esp-config.json'","level":"error","timestamp":"2024-08-28T21:06:51.406Z"} {"message":"fatal: detected dubious ownership in repository at '/opt/esp/idf/components/openthread/openthread'\nTo add an exception for this directory, call:\n\n\tgit config --global --add safe.directory /opt/esp/idf/components/openthread/openthread\n","stack":"Error: fatal: detected dubious ownership in repository at '/opt/esp/idf/components/openthread/openthread'\nTo add an exception for this directory, call:\n\n\tgit config --global --add safe.directory /opt/esp/idf/components/openthread/openthread\n\n at yt.printError (/dist/extension.js:2:1449149)\n at Socket. (/dist/extension.js:2:1448625)\n at Socket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:559:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:510:3)\n at Socket.Readable.push (node:internal/streams/readable:390:5)\n at Pipe.onStreamRead (node:internal/stream_base_commons:191:23)","level":"error","timestamp":"2024-08-28T21:08:14.075Z"} {"user":true,"message":"spawn udevadm ENOENT","stack":"Error: spawn udevadm ENOENT\n at Process.ChildProcess._handle.onexit (node:internal/child_process:286:19)\n at onErrorNT (node:internal/child_process:484:16)\n at processTicksAndRejections (node:internal/process/task_queues:82:21)","level":"error","timestamp":"2024-08-28T22:25:17.803Z"} {"user":true,"message":"spawn udevadm ENOENT","stack":"Error: spawn udevadm ENOENT\n at Process.ChildProcess._handle.onexit (node:internal/child_process:286:19)\n at onErrorNT (node:internal/child_process:484:16)\n at processTicksAndRejections (node:internal/process/task_queues:82:21)","level":"error","timestamp":"2024-08-29T08:14:32.327Z"} {"message":"Cannot access filePath: /opt/esp/idf/tools/idf.py","stack":"Error: EACCES: permission denied, access '/opt/esp/idf/tools/idf.py'\n at Object.accessSync (node:fs:244:11)\n at Se (/dist/extension.js:2:1421806)\n at i.value (/dist/extension.js:2:1615589)\n at n.B (/out/vs/workbench/api/node/extensionHostProcess.js:83:737)\n at n.fire (/out/vs/workbench/api/node/extensionHostProcess.js:83:954)\n at w.$onMessage (/out/vs/workbench/api/node/extensionHostProcess.js:146:19363)\n at y.S (/out/vs/workbench/api/node/extensionHostProcess.js:151:5980)\n at y.Q (/out/vs/workbench/api/node/extensionHostProcess.js:151:5746)\n at y.M (/out/vs/workbench/api/node/extensionHostProcess.js:151:4778)\n at y.L (/out/vs/workbench/api/node/extensionHostProcess.js:151:3830)\n at i.value (/out/vs/workbench/api/node/extensionHostProcess.js:151:2297)\n at n.B (/out/vs/workbench/api/node/extensionHostProcess.js:83:737)\n at n.fire (/out/vs/workbench/api/node/extensionHostProcess.js:83:954)\n at s.fire (/out/vs/workbench/api/node/extensionHostProcess.js:97:14453)\n at i.value (/out/vs/workbench/api/node/extensionHostProcess.js:177:8655)\n at n.B (/out/vs/workbench/api/node/extensionHostProcess.js:83:737)\n at n.fire (/out/vs/workbench/api/node/extensionHostProcess.js:83:954)\n at s.fire (/out/vs/workbench/api/node/extensionHostProcess.js:97:14453)\n at d.A (/out/vs/workbench/api/node/extensionHostProcess.js:97:17612)\n at i.value (/out/vs/workbench/api/node/extensionHostProcess.js:97:16986)\n at n.B (/out/vs/workbench/api/node/extensionHostProcess.js:83:737)\n at n.fire (/out/vs/workbench/api/node/extensionHostProcess.js:83:954)\n at m.acceptChunk (/out/vs/workbench/api/node/extensionHostProcess.js:97:12199)\n at i.value (/out/vs/workbench/api/node/extensionHostProcess.js:97:11469)\n at n.B (/out/vs/workbench/api/node/extensionHostProcess.js:83:737)\n at n.fire (/out/vs/workbench/api/node/extensionHostProcess.js:83:954)\n at s.z (/out/vs/workbench/api/node/extensionHostProcess.js:174:21458)\n at s.acceptFrame (/out/vs/workbench/api/node/extensionHostProcess.js:174:21264)\n at i.n (/out/vs/workbench/api/node/extensionHostProcess.js:174:19709)\n at /out/vs/workbench/api/node/extensionHostProcess.js:174:16636\n at Socket.v (/out/vs/workbench/api/node/extensionHostProcess.js:174:14266)\n at Socket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:559:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:510:3)\n at Socket.Readable.push (node:internal/streams/readable:390:5)\n at TCP.onStreamRead (node:internal/stream_base_commons:191:23)","level":"error","timestamp":"2024-08-29T08:24:12.731Z"} {"message":"Cannot access filePath: ${env:ADF_PATH}","stack":"Error: ENOENT: no such file or directory, access '${env:ADF_PATH}'\n at Object.accessSync (node:fs:244:11)\n at Se (/dist/extension.js:2:1421806)\n at /dist/extension.js:2:1650824\n at ua (/dist/extension.js:2:1651892)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at /dist/extension.js:2:1868405","level":"error","timestamp":"2024-08-29T08:28:00.931Z"} {"message":"Cannot access filePath: ${env:MDF_PATH}","stack":"Error: ENOENT: no such file or directory, access '${env:MDF_PATH}'\n at Object.accessSync (node:fs:244:11)\n at Se (/dist/extension.js:2:1421806)\n at /dist/extension.js:2:1651002\n at ua (/dist/extension.js:2:1651892)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at /dist/extension.js:2:1868405","level":"error","timestamp":"2024-08-29T08:28:00.932Z"} {"message":"Cannot access filePath: ${env:ESP_MATTER_PATH}","stack":"Error: ENOENT: no such file or directory, access '${env:ESP_MATTER_PATH}'\n at Object.accessSync (node:fs:244:11)\n at Se (/dist/extension.js:2:1421806)\n at /dist/extension.js:2:1651094\n at ua (/dist/extension.js:2:1651892)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at /dist/extension.js:2:1868405","level":"error","timestamp":"2024-08-29T08:28:00.932Z"} {"message":"Cannot access filePath: ${env:HOMEKIT_PATH}","stack":"Error: ENOENT: no such file or directory, access '${env:HOMEKIT_PATH}'\n at Object.accessSync (node:fs:244:11)\n at Se (/dist/extension.js:2:1421806)\n at /dist/extension.js:2:1651190\n at ua (/dist/extension.js:2:1651892)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at /dist/extension.js:2:1868405","level":"error","timestamp":"2024-08-29T08:28:00.933Z"} {"user":true,"message":"spawn udevadm ENOENT","stack":"Error: spawn udevadm ENOENT\n at Process.ChildProcess._handle.onexit (node:internal/child_process:286:19)\n at onErrorNT (node:internal/child_process:484:16)\n at processTicksAndRejections (node:internal/process/task_queues:82:21)","level":"error","timestamp":"2024-08-29T08:29:50.788Z"} {"message":"Cannot access filePath: ${env:ADF_PATH}","stack":"Error: ENOENT: no such file or directory, access '${env:ADF_PATH}'\n at Object.accessSync (node:fs:244:11)\n at Se (/dist/extension.js:2:1421806)\n at /dist/extension.js:2:1650824\n at ua (/dist/extension.js:2:1651892)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at /dist/extension.js:2:1868405","level":"error","timestamp":"2024-08-29T08:29:56.566Z"} {"message":"Cannot access filePath: ${env:MDF_PATH}","stack":"Error: ENOENT: no such file or directory, access '${env:MDF_PATH}'\n at Object.accessSync (node:fs:244:11)\n at Se (/dist/extension.js:2:1421806)\n at /dist/extension.js:2:1651002\n at ua (/dist/extension.js:2:1651892)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at /dist/extension.js:2:1868405","level":"error","timestamp":"2024-08-29T08:29:56.568Z"} {"message":"Cannot access filePath: ${env:ESP_MATTER_PATH}","stack":"Error: ENOENT: no such file or directory, access '${env:ESP_MATTER_PATH}'\n at Object.accessSync (node:fs:244:11)\n at Se (/dist/extension.js:2:1421806)\n at /dist/extension.js:2:1651094\n at ua (/dist/extension.js:2:1651892)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at /dist/extension.js:2:1868405","level":"error","timestamp":"2024-08-29T08:29:56.569Z"} {"message":"Cannot access filePath: ${env:HOMEKIT_PATH}","stack":"Error: ENOENT: no such file or directory, access '${env:HOMEKIT_PATH}'\n at Object.accessSync (node:fs:244:11)\n at Se (/dist/extension.js:2:1421806)\n at /dist/extension.js:2:1651190\n at ua (/dist/extension.js:2:1651892)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at /dist/extension.js:2:1868405","level":"error","timestamp":"2024-08-29T08:29:56.570Z"}


Extension

{"message":"Cannot access filePath: /Users/stuart/esp/esp-idf/tools/idf.py","stack":"Error: ENOENT: no such file or directory, access '/Users/stuart/esp/esp-idf/tools/idf.py'\n at Object.accessSync (node:fs:246:11)\n at Object.t.accessSync (node:electron/js2c/node_init:2:9017)\n at Se (/dist/extension.js:2:1421806)\n at i.value (/dist/extension.js:2:1615589)\n at n.B (/out/vs/workbench/api/node/extensionHostProcess.js:83:737)\n at n.fire (/out/vs/workbench/api/node/extensionHostProcess.js:83:954)\n at w.$onMessage (/out/vs/workbench/api/node/extensionHostProcess.js:146:19363)\n at E.S (/out/vs/workbench/api/node/extensionHostProcess.js:151:5980)\n at E.Q (/out/vs/workbench/api/node/extensionHostProcess.js:151:5746)\n at E.M (/out/vs/workbench/api/node/extensionHostProcess.js:151:4778)\n at E.L (/out/vs/workbench/api/node/extensionHostProcess.js:151:3830)\n at i.value (/out/vs/workbench/api/node/extensionHostProcess.js:151:2297)\n at n.B (/out/vs/workbench/api/node/extensionHostProcess.js:83:737)\n at n.fire (/out/vs/workbench/api/node/extensionHostProcess.js:83:954)\n at s.fire (/out/vs/workbench/api/node/extensionHostProcess.js:97:14453)\n at i.value (/out/vs/workbench/api/node/extensionHostProcess.js:177:8655)\n at n.B (/out/vs/workbench/api/node/extensionHostProcess.js:83:737)\n at n.fire (/out/vs/workbench/api/node/extensionHostProcess.js:83:954)\n at s.fire (/out/vs/workbench/api/node/extensionHostProcess.js:97:14453)\n at MessagePortMain. (/out/vs/workbench/api/node/extensionHostProcess.js:177:6781)\n at MessagePortMain.emit (node:events:519:28)\n at Object.MessagePortMain._internalPort.emit (node:electron/js2c/utility_init:2:2285)","level":"error","timestamp":"2024-08-26T21:27:34.510Z"} {"message":"Command failed: /Users/stuart/.pyenv/shims/python --version\npyenv: python: command not found\n\nThe python' command exists in these Python versions:\n 3.11.0\n 3.11.0/envs/tph_bots\n tph_bots\n\nNote: See 'pyenv help global' for tips on allowing both\n python2 and python3 to be found.\n","stack":"Error: Command failed: /Users/stuart/.pyenv/shims/python --version\npyenv: python: command not found\n\nThepython' command exists in these Python versions:\n 3.11.0\n 3.11.0/envs/tph_bots\n tph_bots\n\nNote: See 'pyenv help global' for tips on allowing both\n python2 and python3 to be found.\n\n at genericNodeError (node:internal/errors:984:15)\n at wrappedFn (node:internal/errors:538:14)\n at ChildProcess.exithandler (node:child_process:423:12)\n at ChildProcess.emit (node:events:519:28)\n at maybeClose (node:internal/child_process:1105:16)\n at Socket. (node:internal/child_process:457:11)\n at Socket.emit (node:events:519:28)\n at Pipe. (node:net:338:12)","level":"error","timestamp":"2024-08-26T21:29:09.609Z"} {"user":true,"message":"Command failed: /Users/stuart/.pyenv/shims/python --version\npyenv: python: command not found\n\nThe python' command exists in these Python versions:\n 3.11.0\n 3.11.0/envs/tph_bots\n tph_bots\n\nNote: See 'pyenv help global' for tips on allowing both\n python2 and python3 to be found.\n","stack":"Error: Command failed: /Users/stuart/.pyenv/shims/python --version\npyenv: python: command not found\n\nThepython' command exists in these Python versions:\n 3.11.0\n 3.11.0/envs/tph_bots\n tph_bots\n\nNote: See 'pyenv help global' for tips on allowing both\n python2 and python3 to be found.\n\n at genericNodeError (node:internal/errors:984:15)\n at wrappedFn (node:internal/errors:538:14)\n at ChildProcess.exithandler (node:child_process:423:12)\n at ChildProcess.emit (node:events:519:28)\n at maybeClose (node:internal/child_process:1105:16)\n at Socket. (node:internal/child_process:457:11)\n at Socket.emit (node:events:519:28)\n at Pipe. (node:net:338:12)","level":"error","timestamp":"2024-08-26T21:29:09.612Z"} {"user":true,"message":"/Users/stuart/.pyenv/shims/python is not valid. (ERROR_INVALID_PYTHON)","stack":"Error: /Users/stuart/.pyenv/shims/python is not valid. (ERROR_INVALID_PYTHON)\n at Uo (/dist/extension.js:2:1607221)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at /dist/extension.js:2:1617614","level":"error","timestamp":"2024-08-26T21:29:09.621Z"} {"message":"Cannot access filePath: /Users/stuart/esp/esp-idf/tools/idf.py","stack":"Error: ENOENT: no such file or directory, access '/Users/stuart/esp/esp-idf/tools/idf.py'\n at Object.accessSync (node:fs:246:11)\n at Object.t.accessSync (node:electron/js2c/node_init:2:9017)\n at Se (/dist/extension.js:2:1421806)\n at i.value (/dist/extension.js:2:1615589)\n at n.B (/out/vs/workbench/api/node/extensionHostProcess.js:83:737)\n at n.fire (/out/vs/workbench/api/node/extensionHostProcess.js:83:954)\n at w.$onMessage (/out/vs/workbench/api/node/extensionHostProcess.js:146:19363)\n at E.S (/out/vs/workbench/api/node/extensionHostProcess.js:151:5980)\n at E.Q (/out/vs/workbench/api/node/extensionHostProcess.js:151:5746)\n at E.M (/out/vs/workbench/api/node/extensionHostProcess.js:151:4778)\n at E.L (/out/vs/workbench/api/node/extensionHostProcess.js:151:3830)\n at i.value (/out/vs/workbench/api/node/extensionHostProcess.js:151:2297)\n at n.B (/out/vs/workbench/api/node/extensionHostProcess.js:83:737)\n at n.fire (/out/vs/workbench/api/node/extensionHostProcess.js:83:954)\n at s.fire (/out/vs/workbench/api/node/extensionHostProcess.js:97:14453)\n at i.value (/out/vs/workbench/api/node/extensionHostProcess.js:177:8655)\n at n.B (/out/vs/workbench/api/node/extensionHostProcess.js:83:737)\n at n.fire (/out/vs/workbench/api/node/extensionHostProcess.js:83:954)\n at s.fire (/out/vs/workbench/api/node/extensionHostProcess.js:97:14453)\n at MessagePortMain. (/out/vs/workbench/api/node/extensionHostProcess.js:177:6781)\n at MessagePortMain.emit (node:events:519:28)\n at Object.MessagePortMain._internalPort.emit (node:electron/js2c/utility_init:2:2285)","level":"error","timestamp":"2024-08-28T19:57:09.292Z"} {"message":"Command failed: /Users/stuart/.pyenv/shims/python --version\npyenv: python: command not found\n\nThe python' command exists in these Python versions:\n 3.11.0\n 3.11.0/envs/tph_bots\n tph_bots\n\nNote: See 'pyenv help global' for tips on allowing both\n python2 and python3 to be found.\n","stack":"Error: Command failed: /Users/stuart/.pyenv/shims/python --version\npyenv: python: command not found\n\nThepython' command exists in these Python versions:\n 3.11.0\n 3.11.0/envs/tph_bots\n tph_bots\n\nNote: See 'pyenv help global' for tips on allowing both\n python2 and python3 to be found.\n\n at genericNodeError (node:internal/errors:984:15)\n at wrappedFn (node:internal/errors:538:14)\n at ChildProcess.exithandler (node:child_process:423:12)\n at ChildProcess.emit (node:events:519:28)\n at maybeClose (node:internal/child_process:1105:16)\n at Socket. (node:internal/child_process:457:11)\n at Socket.emit (node:events:519:28)\n at Pipe. (node:net:338:12)","level":"error","timestamp":"2024-08-28T19:58:06.137Z"} {"user":true,"message":"Command failed: /Users/stuart/.pyenv/shims/python --version\npyenv: python: command not found\n\nThe python' command exists in these Python versions:\n 3.11.0\n 3.11.0/envs/tph_bots\n tph_bots\n\nNote: See 'pyenv help global' for tips on allowing both\n python2 and python3 to be found.\n","stack":"Error: Command failed: /Users/stuart/.pyenv/shims/python --version\npyenv: python: command not found\n\nThepython' command exists in these Python versions:\n 3.11.0\n 3.11.0/envs/tph_bots\n tph_bots\n\nNote: See 'pyenv help global' for tips on allowing both\n python2 and python3 to be found.\n\n at genericNodeError (node:internal/errors:984:15)\n at wrappedFn (node:internal/errors:538:14)\n at ChildProcess.exithandler (node:child_process:423:12)\n at ChildProcess.emit (node:events:519:28)\n at maybeClose (node:internal/child_process:1105:16)\n at Socket. (node:internal/child_process:457:11)\n at Socket.emit (node:events:519:28)\n at Pipe. (node:net:338:12)","level":"error","timestamp":"2024-08-28T19:58:06.138Z"} {"user":true,"message":"/Users/stuart/.pyenv/shims/python is not valid. (ERROR_INVALID_PYTHON)","stack":"Error: /Users/stuart/.pyenv/shims/python is not valid. (ERROR_INVALID_PYTHON)\n at Uo (/dist/extension.js:2:1607221)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at /dist/extension.js:2:1617614","level":"error","timestamp":"2024-08-28T19:58:06.139Z"} {"message":"Cannot access filePath: /Users/stuart/esp/esp-idf/tools/idf.py","stack":"Error: ENOENT: no such file or directory, access '/Users/stuart/esp/esp-idf/tools/idf.py'\n at Object.accessSync (node:fs:246:11)\n at Object.t.accessSync (node:electron/js2c/node_init:2:9017)\n at Se (/dist/extension.js:2:1421806)\n at i.value (/dist/extension.js:2:1615589)\n at n.B (/out/vs/workbench/api/node/extensionHostProcess.js:83:737)\n at n.fire (/out/vs/workbench/api/node/extensionHostProcess.js:83:954)\n at w.$onMessage (/out/vs/workbench/api/node/extensionHostProcess.js:146:19363)\n at E.S (/out/vs/workbench/api/node/extensionHostProcess.js:151:5980)\n at E.Q (/out/vs/workbench/api/node/extensionHostProcess.js:151:5746)\n at E.M (/out/vs/workbench/api/node/extensionHostProcess.js:151:4778)\n at E.L (/out/vs/workbench/api/node/extensionHostProcess.js:151:3830)\n at i.value (/out/vs/workbench/api/node/extensionHostProcess.js:151:2297)\n at n.B (/out/vs/workbench/api/node/extensionHostProcess.js:83:737)\n at n.fire (/out/vs/workbench/api/node/extensionHostProcess.js:83:954)\n at s.fire (/out/vs/workbench/api/node/extensionHostProcess.js:97:14453)\n at i.value (/out/vs/workbench/api/node/extensionHostProcess.js:177:8655)\n at n.B (/out/vs/workbench/api/node/extensionHostProcess.js:83:737)\n at n.fire (/out/vs/workbench/api/node/extensionHostProcess.js:83:954)\n at s.fire (/out/vs/workbench/api/node/extensionHostProcess.js:97:14453)\n at MessagePortMain. (/out/vs/workbench/api/node/extensionHostProcess.js:177:6781)\n at MessagePortMain.emit (node:events:519:28)\n at Object.MessagePortMain._internalPort.emit (node:electron/js2c/utility_init:2:2285)","level":"error","timestamp":"2024-08-28T19:58:06.344Z"} {"message":"Cannot access filePath: /Users/stuart/esp/esp-idf/tools/idf.py","stack":"Error: ENOENT: no such file or directory, access '/Users/stuart/esp/esp-idf/tools/idf.py'\n at Object.accessSync (node:fs:246:11)\n at Object.t.accessSync (node:electron/js2c/node_init:2:9017)\n at Se (/dist/extension.js:2:1421806)\n at i.value (/dist/extension.js:2:1615589)\n at n.B (/out/vs/workbench/api/node/extensionHostProcess.js:83:737)\n at n.fire (/out/vs/workbench/api/node/extensionHostProcess.js:83:954)\n at w.$onMessage (/out/vs/workbench/api/node/extensionHostProcess.js:146:19363)\n at E.S (/out/vs/workbench/api/node/extensionHostProcess.js:151:5980)\n at E.Q (/out/vs/workbench/api/node/extensionHostProcess.js:151:5746)\n at E.M (/out/vs/workbench/api/node/extensionHostProcess.js:151:4778)\n at E.L (/out/vs/workbench/api/node/extensionHostProcess.js:151:3830)\n at i.value (/out/vs/workbench/api/node/extensionHostProcess.js:151:2297)\n at n.B (/out/vs/workbench/api/node/extensionHostProcess.js:83:737)\n at n.fire (/out/vs/workbench/api/node/extensionHostProcess.js:83:954)\n at s.fire (/out/vs/workbench/api/node/extensionHostProcess.js:97:14453)\n at i.value (/out/vs/workbench/api/node/extensionHostProcess.js:177:8655)\n at n.B (/out/vs/workbench/api/node/extensionHostProcess.js:83:737)\n at n.fire (/out/vs/workbench/api/node/extensionHostProcess.js:83:954)\n at s.fire (/out/vs/workbench/api/node/extensionHostProcess.js:97:14453)\n at MessagePortMain. (/out/vs/workbench/api/node/extensionHostProcess.js:177:6781)\n at MessagePortMain.emit (node:events:519:28)\n at Object.MessagePortMain._internalPort.emit (node:electron/js2c/utility_init:2:2285)","level":"error","timestamp":"2024-08-28T20:01:35.961Z"} {"message":"Command failed: /Users/stuart/.pyenv/shims/python --version\npyenv: python: command not found\n\nThe python' command exists in these Python versions:\n 3.11.0\n 3.11.0/envs/tph_bots\n tph_bots\n\nNote: See 'pyenv help global' for tips on allowing both\n python2 and python3 to be found.\n","stack":"Error: Command failed: /Users/stuart/.pyenv/shims/python --version\npyenv: python: command not found\n\nThepython' command exists in these Python versions:\n 3.11.0\n 3.11.0/envs/tph_bots\n tph_bots\n\nNote: See 'pyenv help global' for tips on allowing both\n python2 and python3 to be found.\n\n at genericNodeError (node:internal/errors:984:15)\n at wrappedFn (node:internal/errors:538:14)\n at ChildProcess.exithandler (node:child_process:423:12)\n at ChildProcess.emit (node:events:519:28)\n at maybeClose (node:internal/child_process:1105:16)\n at Socket. (node:internal/child_process:457:11)\n at Socket.emit (node:events:519:28)\n at Pipe. (node:net:338:12)","level":"error","timestamp":"2024-08-28T20:01:50.927Z"} {"user":true,"message":"Command failed: /Users/stuart/.pyenv/shims/python --version\npyenv: python: command not found\n\nThe python' command exists in these Python versions:\n 3.11.0\n 3.11.0/envs/tph_bots\n tph_bots\n\nNote: See 'pyenv help global' for tips on allowing both\n python2 and python3 to be found.\n","stack":"Error: Command failed: /Users/stuart/.pyenv/shims/python --version\npyenv: python: command not found\n\nThepython' command exists in these Python versions:\n 3.11.0\n 3.11.0/envs/tph_bots\n tph_bots\n\nNote: See 'pyenv help global' for tips on allowing both\n python2 and python3 to be found.\n\n at genericNodeError (node:internal/errors:984:15)\n at wrappedFn (node:internal/errors:538:14)\n at ChildProcess.exithandler (node:child_process:423:12)\n at ChildProcess.emit (node:events:519:28)\n at maybeClose (node:internal/child_process:1105:16)\n at Socket. (node:internal/child_process:457:11)\n at Socket.emit (node:events:519:28)\n at Pipe. (node:net:338:12)","level":"error","timestamp":"2024-08-28T20:01:50.928Z"} {"user":true,"message":"/Users/stuart/.pyenv/shims/python is not valid. (ERROR_INVALID_PYTHON)","stack":"Error: /Users/stuart/.pyenv/shims/python is not valid. (ERROR_INVALID_PYTHON)\n at Uo (/dist/extension.js:2:1607221)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at /dist/extension.js:2:1617614","level":"error","timestamp":"2024-08-28T20:01:50.929Z"} {"message":"Cannot access filePath: /Users/stuart/esp/esp-idf/tools/idf.py","stack":"Error: ENOENT: no such file or directory, access '/Users/stuart/esp/esp-idf/tools/idf.py'\n at Object.accessSync (node:fs:246:11)\n at Object.t.accessSync (node:electron/js2c/node_init:2:9017)\n at Se (/dist/extension.js:2:1421806)\n at i.value (/dist/extension.js:2:1615589)\n at n.B (/out/vs/workbench/api/node/extensionHostProcess.js:83:737)\n at n.fire (/out/vs/workbench/api/node/extensionHostProcess.js:83:954)\n at w.$onMessage (/out/vs/workbench/api/node/extensionHostProcess.js:146:19363)\n at E.S (/out/vs/workbench/api/node/extensionHostProcess.js:151:5980)\n at E.Q (/out/vs/workbench/api/node/extensionHostProcess.js:151:5746)\n at E.M (/out/vs/workbench/api/node/extensionHostProcess.js:151:4778)\n at E.L (/out/vs/workbench/api/node/extensionHostProcess.js:151:3830)\n at i.value (/out/vs/workbench/api/node/extensionHostProcess.js:151:2297)\n at n.B (/out/vs/workbench/api/node/extensionHostProcess.js:83:737)\n at n.fire (/out/vs/workbench/api/node/extensionHostProcess.js:83:954)\n at s.fire (/out/vs/workbench/api/node/extensionHostProcess.js:97:14453)\n at i.value (/out/vs/workbench/api/node/extensionHostProcess.js:177:8655)\n at n.B (/out/vs/workbench/api/node/extensionHostProcess.js:83:737)\n at n.fire (/out/vs/workbench/api/node/extensionHostProcess.js:83:954)\n at s.fire (/out/vs/workbench/api/node/extensionHostProcess.js:97:14453)\n at MessagePortMain. (/out/vs/workbench/api/node/extensionHostProcess.js:177:6781)\n at MessagePortMain.emit (node:events:519:28)\n at Object.MessagePortMain._internalPort.emit (node:electron/js2c/utility_init:2:2285)","level":"error","timestamp":"2024-08-28T20:01:51.173Z"} {"message":"Cannot access filePath: /Users/stuart/esp/esp-idf/tools/idf.py","stack":"Error: ENOENT: no such file or directory, access '/Users/stuart/esp/esp-idf/tools/idf.py'\n at Object.accessSync (node:fs:246:11)\n at Object.t.accessSync (node:electron/js2c/node_init:2:9017)\n at Se (/dist/extension.js:2:1421806)\n at i.value (/dist/extension.js:2:1615589)\n at n.B (/out/vs/workbench/api/node/extensionHostProcess.js:83:737)\n at n.fire (/out/vs/workbench/api/node/extensionHostProcess.js:83:954)\n at w.$onMessage (/out/vs/workbench/api/node/extensionHostProcess.js:146:19363)\n at E.S (/out/vs/workbench/api/node/extensionHostProcess.js:151:5980)\n at E.Q (/out/vs/workbench/api/node/extensionHostProcess.js:151:5746)\n at E.M (/out/vs/workbench/api/node/extensionHostProcess.js:151:4778)\n at E.L (/out/vs/workbench/api/node/extensionHostProcess.js:151:3830)\n at i.value (/out/vs/workbench/api/node/extensionHostProcess.js:151:2297)\n at n.B (/out/vs/workbench/api/node/extensionHostProcess.js:83:737)\n at n.fire (/out/vs/workbench/api/node/extensionHostProcess.js:83:954)\n at s.fire (/out/vs/workbench/api/node/extensionHostProcess.js:97:14453)\n at i.value (/out/vs/workbench/api/node/extensionHostProcess.js:177:8655)\n at n.B (/out/vs/workbench/api/node/extensionHostProcess.js:83:737)\n at n.fire (/out/vs/workbench/api/node/extensionHostProcess.js:83:954)\n at s.fire (/out/vs/workbench/api/node/extensionHostProcess.js:97:14453)\n at MessagePortMain. (/out/vs/workbench/api/node/extensionHostProcess.js:177:6781)\n at MessagePortMain.emit (node:events:519:28)\n at Object.MessagePortMain._internalPort.emit (node:electron/js2c/utility_init:2:2285)","level":"error","timestamp":"2024-08-28T20:27:19.565Z"} {"message":"Cannot access filePath: /Users/stuart/esp/esp-idf/tools/idf.py","stack":"Error: ENOENT: no such file or directory, access '/Users/stuart/esp/esp-idf/tools/idf.py'\n at Object.accessSync (node:fs:246:11)\n at Object.t.accessSync (node:electron/js2c/node_init:2:9017)\n at Se (/dist/extension.js:2:1421806)\n at i.value (/dist/extension.js:2:1615589)\n at n.B (/out/vs/workbench/api/node/extensionHostProcess.js:83:737)\n at n.fire (/out/vs/workbench/api/node/extensionHostProcess.js:83:954)\n at w.$onMessage (/out/vs/workbench/api/node/extensionHostProcess.js:146:19363)\n at E.S (/out/vs/workbench/api/node/extensionHostProcess.js:151:5980)\n at E.Q (/out/vs/workbench/api/node/extensionHostProcess.js:151:5746)\n at E.M (/out/vs/workbench/api/node/extensionHostProcess.js:151:4778)\n at E.L (/out/vs/workbench/api/node/extensionHostProcess.js:151:3830)\n at i.value (/out/vs/workbench/api/node/extensionHostProcess.js:151:2297)\n at n.B (/out/vs/workbench/api/node/extensionHostProcess.js:83:737)\n at n.fire (/out/vs/workbench/api/node/extensionHostProcess.js:83:954)\n at s.fire (/out/vs/workbench/api/node/extensionHostProcess.js:97:14453)\n at i.value (/out/vs/workbench/api/node/extensionHostProcess.js:177:8655)\n at n.B (/out/vs/workbench/api/node/extensionHostProcess.js:83:737)\n at n.fire (/out/vs/workbench/api/node/extensionHostProcess.js:83:954)\n at s.fire (/out/vs/workbench/api/node/extensionHostProcess.js:97:14453)\n at MessagePortMain. (/out/vs/workbench/api/node/extensionHostProcess.js:177:6781)\n at MessagePortMain.emit (node:events:519:28)\n at Object.MessagePortMain._internalPort.emit (node:electron/js2c/utility_init:2:2285)","level":"error","timestamp":"2024-08-28T20:27:26.002Z"} {"message":"Command failed: /Users/stuart/.pyenv/shims/python --version\npyenv: python: command not found\n\nThe python' command exists in these Python versions:\n 3.11.0\n 3.11.0/envs/tph_bots\n tph_bots\n\nNote: See 'pyenv help global' for tips on allowing both\n python2 and python3 to be found.\n","stack":"Error: Command failed: /Users/stuart/.pyenv/shims/python --version\npyenv: python: command not found\n\nThepython' command exists in these Python versions:\n 3.11.0\n 3.11.0/envs/tph_bots\n tph_bots\n\nNote: See 'pyenv help global' for tips on allowing both\n python2 and python3 to be found.\n\n at genericNodeError (node:internal/errors:984:15)\n at wrappedFn (node:internal/errors:538:14)\n at ChildProcess.exithandler (node:child_process:423:12)\n at ChildProcess.emit (node:events:519:28)\n at maybeClose (node:internal/child_process:1105:16)\n at Socket. (node:internal/child_process:457:11)\n at Socket.emit (node:events:519:28)\n at Pipe. (node:net:338:12)","level":"error","timestamp":"2024-08-28T20:27:37.683Z"} {"user":true,"message":"Command failed: /Users/stuart/.pyenv/shims/python --version\npyenv: python: command not found\n\nThe python' command exists in these Python versions:\n 3.11.0\n 3.11.0/envs/tph_bots\n tph_bots\n\nNote: See 'pyenv help global' for tips on allowing both\n python2 and python3 to be found.\n","stack":"Error: Command failed: /Users/stuart/.pyenv/shims/python --version\npyenv: python: command not found\n\nThepython' command exists in these Python versions:\n 3.11.0\n 3.11.0/envs/tph_bots\n tph_bots\n\nNote: See 'pyenv help global' for tips on allowing both\n python2 and python3 to be found.\n\n at genericNodeError (node:internal/errors:984:15)\n at wrappedFn (node:internal/errors:538:14)\n at ChildProcess.exithandler (node:child_process:423:12)\n at ChildProcess.emit (node:events:519:28)\n at maybeClose (node:internal/child_process:1105:16)\n at Socket. (node:internal/child_process:457:11)\n at Socket.emit (node:events:519:28)\n at Pipe. (node:net:338:12)","level":"error","timestamp":"2024-08-28T20:27:37.683Z"} {"user":true,"message":"/Users/stuart/.pyenv/shims/python is not valid. (ERROR_INVALID_PYTHON)","stack":"Error: /Users/stuart/.pyenv/shims/python is not valid. (ERROR_INVALID_PYTHON)\n at Uo (/dist/extension.js:2:1607221)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at /dist/extension.js:2:1617614","level":"error","timestamp":"2024-08-28T20:27:37.684Z"} {"message":"Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n","stack":"Error: Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n\n at /dist/extension.js:2:1424988\n at ChildProcess.exithandler (node:child_process:415:7)\n at ChildProcess.emit (node:events:519:28)\n at maybeClose (node:internal/child_process:1105:16)\n at Socket. (node:internal/child_process:457:11)\n at Socket.emit (node:events:519:28)\n at Pipe. (node:net:338:12)","level":"error","timestamp":"2024-08-28T20:28:47.429Z"} {"message":"Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n","stack":"Error: Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n\n at /dist/extension.js:2:1424988\n at ChildProcess.exithandler (node:child_process:415:7)\n at ChildProcess.emit (node:events:519:28)\n at maybeClose (node:internal/child_process:1105:16)\n at Socket. (node:internal/child_process:457:11)\n at Socket.emit (node:events:519:28)\n at Pipe. (node:net:338:12)","level":"error","timestamp":"2024-08-28T20:28:48.482Z"} {"message":"Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n","stack":"Error: Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n\n at /dist/extension.js:2:1424988\n at ChildProcess.exithandler (node:child_process:415:7)\n at ChildProcess.emit (node:events:519:28)\n at maybeClose (node:internal/child_process:1105:16)\n at Socket. (node:internal/child_process:457:11)\n at Socket.emit (node:events:519:28)\n at Pipe. (node:net:338:12)","level":"error","timestamp":"2024-08-28T20:28:49.075Z"} {"message":"Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n","stack":"Error: Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n\n\tat /dist/extension.js:2:1424988\n\tat ChildProcess.exithandler (node:child_process:415:7)\n\tat ChildProcess.emit (node:events:519:28)\n\tat maybeClose (node:internal/child_process:1105:16)\n\tat Socket. (node:internal/child_process:457:11)\n\tat Socket.emit (node:events:519:28)\n\tat Pipe. (node:net:338:12)","level":"error","timestamp":"2024-08-28T20:32:31.230Z"} {"message":"Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n","stack":"Error: Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n\n\tat /dist/extension.js:2:1424988\n\tat ChildProcess.exithandler (node:child_process:415:7)\n\tat ChildProcess.emit (node:events:519:28)\n\tat maybeClose (node:internal/child_process:1105:16)\n\tat Socket. (node:internal/child_process:457:11)\n\tat Socket.emit (node:events:519:28)\n\tat Pipe. (node:net:338:12)","level":"error","timestamp":"2024-08-28T20:32:32.316Z"} {"message":"Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n","stack":"Error: Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n\n\tat /dist/extension.js:2:1424988\n\tat ChildProcess.exithandler (node:child_process:415:7)\n\tat ChildProcess.emit (node:events:519:28)\n\tat maybeClose (node:internal/child_process:1105:16)\n\tat Socket. (node:internal/child_process:457:11)\n\tat Socket.emit (node:events:519:28)\n\tat Pipe. (node:net:338:12)","level":"error","timestamp":"2024-08-28T20:32:37.338Z"} {"message":"Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n","stack":"Error: Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n\n\tat /dist/extension.js:2:1424988\n\tat ChildProcess.exithandler (node:child_process:415:7)\n\tat ChildProcess.emit (node:events:519:28)\n\tat maybeClose (node:internal/child_process:1105:16)\n\tat Socket. (node:internal/child_process:457:11)\n\tat Socket.emit (node:events:519:28)\n\tat Pipe. (node:net:338:12)","level":"error","timestamp":"2024-08-28T20:32:37.928Z"} {"message":"Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n","stack":"Error: Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n\n at /dist/extension.js:2:1424988\n at ChildProcess.exithandler (node:child_process:415:7)\n at ChildProcess.emit (node:events:519:28)\n at maybeClose (node:internal/child_process:1105:16)\n at Socket. (node:internal/child_process:457:11)\n at Socket.emit (node:events:519:28)\n at Pipe. (node:net:338:12)","level":"error","timestamp":"2024-08-28T20:33:34.789Z"} {"message":"Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n","stack":"Error: Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n\n at /dist/extension.js:2:1424988\n at ChildProcess.exithandler (node:child_process:415:7)\n at ChildProcess.emit (node:events:519:28)\n at maybeClose (node:internal/child_process:1105:16)\n at Socket. (node:internal/child_process:457:11)\n at Socket.emit (node:events:519:28)\n at Pipe. (node:net:338:12)","level":"error","timestamp":"2024-08-28T20:33:35.441Z"} {"message":"non zero exit code 127\n\npyenv: python: command not found\n\nThe python' command exists in these Python versions:\n 3.11.0\n 3.11.0/envs/tph_bots\n tph_bots\n\nNote: See 'pyenv help global' for tips on allowing both\n python2 and python3 to be found.\n","stack":"Error: non zero exit code 127\n\npyenv: python: command not found\n\nThepython' command exists in these Python versions:\n 3.11.0\n 3.11.0/envs/tph_bots\n tph_bots\n\nNote: See 'pyenv help global' for tips on allowing both\n python2 and python3 to be found.\n\n at ChildProcess. (/dist/extension.js:2:1421636)\n at ChildProcess.emit (node:events:519:28)\n at Process.ChildProcess._handle.onexit (node:internal/child_process:294:12)","level":"error","timestamp":"2024-08-28T20:34:48.349Z"} {"errorMessage":"[Telemetry]: Failed to sendException","stack":"TypeError: i.replace is not a function\n at ui.anonymizeFilePaths (/Users/stuart/.vscode/extensions/espressif.esp-idf-extension-1.8.1/dist/extension.js:2:383171)\n at /Users/stuart/.vscode/extensions/espressif.esp-idf-extension-1.8.1/dist/extension.js:2:384822\n at ui.cloneAndChange (/Users/stuart/.vscode/extensions/espressif.esp-idf-extension-1.8.1/dist/extension.js:2:381377)\n at ui.sendTelemetryException (/Users/stuart/.vscode/extensions/espressif.esp-idf-extension-1.8.1/dist/extension.js:2:384792)\n at Function.sendException (/Users/stuart/.vscode/extensions/espressif.esp-idf-extension-1.8.1/dist/extension.js:2:1376460)\n at Function.error (/Users/stuart/.vscode/extensions/espressif.esp-idf-extension-1.8.1/dist/extension.js:2:1377398)\n at Function.errorNotify (/Users/stuart/.vscode/extensions/espressif.esp-idf-extension-1.8.1/dist/extension.js:2:1377342)\n at /Users/stuart/.vscode/extensions/espressif.esp-idf-extension-1.8.1/dist/extension.js:2:1853767\n at processTicksAndRejections (node:internal/process/task_queues:95:5)","level":"error","message":"Failed to sendException","timestamp":"2024-08-28T20:34:48.350Z"} {"user":true,"message":"Error: non zero exit code 127\n\npyenv: python: command not found\n\nThe python' command exists in these Python versions:\n 3.11.0\n 3.11.0/envs/tph_bots\n tph_bots\n\nNote: See 'pyenv help global' for tips on allowing both\n python2 and python3 to be found.\n\n at ChildProcess.<anonymous> (/dist/extension.js:2:1421636)\n at ChildProcess.emit (node:events:519:28)\n at Process.ChildProcess._handle.onexit (node:internal/child_process:294:12) {\n vslsStack: [ CallSite {}, CallSite {}, CallSite {} ]\n}","stack":"Error: non zero exit code 127\n\npyenv: python: command not found\n\nThepython' command exists in these Python versions:\n 3.11.0\n 3.11.0/envs/tph_bots\n tph_bots\n\nNote: See 'pyenv help global' for tips on allowing both\n python2 and python3 to be found.\n\n at ChildProcess. (/dist/extension.js:2:1421636)\n at ChildProcess.emit (node:events:519:28)\n at Process.ChildProcess._handle.onexit (node:internal/child_process:294:12)","level":"error","timestamp":"2024-08-28T20:34:48.351Z"} {"message":"Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n","stack":"Error: Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n\n\tat /dist/extension.js:2:1424988\n\tat ChildProcess.exithandler (node:child_process:415:7)\n\tat ChildProcess.emit (node:events:519:28)\n\tat maybeClose (node:internal/child_process:1105:16)\n\tat Socket. (node:internal/child_process:457:11)\n\tat Socket.emit (node:events:519:28)\n\tat Pipe. (node:net:338:12)","level":"error","timestamp":"2024-08-28T20:35:27.808Z"} {"message":"Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n","stack":"Error: Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n\n\tat /dist/extension.js:2:1424988\n\tat ChildProcess.exithandler (node:child_process:415:7)\n\tat ChildProcess.emit (node:events:519:28)\n\tat maybeClose (node:internal/child_process:1105:16)\n\tat Socket. (node:internal/child_process:457:11)\n\tat Socket.emit (node:events:519:28)\n\tat Pipe. (node:net:338:12)","level":"error","timestamp":"2024-08-28T20:35:28.837Z"} {"message":"Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n","stack":"Error: Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n\n\tat /dist/extension.js:2:1424988\n\tat ChildProcess.exithandler (node:child_process:415:7)\n\tat ChildProcess.emit (node:events:519:28)\n\tat maybeClose (node:internal/child_process:1105:16)\n\tat Socket. (node:internal/child_process:457:11)\n\tat Socket.emit (node:events:519:28)\n\tat Pipe. (node:net:338:12)","level":"error","timestamp":"2024-08-28T20:35:33.851Z"} {"message":"Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n","stack":"Error: Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n\n\tat /dist/extension.js:2:1424988\n\tat ChildProcess.exithandler (node:child_process:415:7)\n\tat ChildProcess.emit (node:events:519:28)\n\tat maybeClose (node:internal/child_process:1105:16)\n\tat Socket. (node:internal/child_process:457:11)\n\tat Socket.emit (node:events:519:28)\n\tat Pipe. (node:net:338:12)","level":"error","timestamp":"2024-08-28T20:35:34.444Z"} {"message":"Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n","stack":"Error: Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n\n at /dist/extension.js:2:1424988\n at ChildProcess.exithandler (node:child_process:415:7)\n at ChildProcess.emit (node:events:519:28)\n at maybeClose (node:internal/child_process:1105:16)\n at Socket. (node:internal/child_process:457:11)\n at Socket.emit (node:events:519:28)\n at Pipe. (node:net:338:12)","level":"error","timestamp":"2024-08-28T20:35:38.723Z"} {"message":"Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n","stack":"Error: Open On-Chip Debugger v0.12.0-esp32-20240726 (2024-07-26-15:23)\nLicensed under GNU GPL v2\nFor bug reports, read\n\thttp://openocd.org/doc/doxygen/bugs.html\n\n at /dist/extension.js:2:1424988\n at ChildProcess.exithandler (node:child_process:415:7)\n at ChildProcess.emit (node:events:519:28)\n at maybeClose (node:internal/child_process:1105:16)\n at Process.ChildProcess._handle.onexit (node:internal/child_process:305:5)","level":"error","timestamp":"2024-08-28T20:35:39.608Z"}

Description

Following the tutorial in basic_use.md I get as far as flashing the device, but get the following error when I choose ESP-IDF Select Port to Use (COM, tty, usbserial) I get an error spawn udevadm ENOENT

Debug Message

{"errno":-2,"code":"ENOENT","syscall":"spawn udevadm","path":"udevadm","spawnargs":["info","-e"]}

Other Steps to Reproduce

N/A

I have checked existing issues, online documentation and the Troubleshooting Guide

brianignacio5 commented 2 weeks ago

Are you working inside a Docker container ?

You are missing udev system packages (apt-get install dev -y). There is an open PR with docker file fixes https://github.com/espressif/vscode-esp-idf-extension/pull/1282

embarriet commented 2 weeks ago

I'm getting the same error after a new install of IDF v5.3.0 and 5.2.2 on VSCodium and VSCode on Linux Mint. Both IDEs installed as flatpaks, with syscalls and access to all system files allowed in flatpak config. I'm not using Docker. udev package is installed, systemd-udevd is running, and responding to "udevadm info -e" on the command line as expected. User is in the dialout group.

Also tried it on my Chromebook with linux enabled - same issue. I can't get past this step to flash anything.

Stubbs commented 1 week ago

I'd assumed it was something to do with these 2 errors right at the top of the stack?

{"message":"ENOENT: no such file or directory, open '/Users/stuart/.espressif/tools/openocd-esp32/v0.12.0-esp32-20240726/openocd-esp32/share/openocd/scripts/esp-config.json'","stack":"Error: ENOENT: no such file or directory, open '/Users/stuart/.espressif/tools/openocd-esp32/v0.12.0-esp32-20240726/openocd-esp32/share/openocd/scripts/esp-config.json'","level":"error","timestamp":"2024-08-28T21:06:51.406Z"}
{"message":"fatal: detected dubious ownership in repository at '/opt/esp/idf/components/openthread/openthread'\nTo add an exception for this directory, call:\n\n\tgit config --global --add safe.directory
brianignacio5 commented 6 days ago

@embarriet I'm not sure why, If udevadm info -e command works on CLI then Serialport should work.

We rely on npm package serialport for debug and getting the serial ports. Serialport does have some c bindings for each platform which might need some work: https://serialport.io/docs/api-bindings-cpp

Please take a look at https://github.com/serialport/node-serialport/issues/2306 when using Serialport inside flatpack udevadm doesn't seem to be available. You can check if it is a permission issue doing flatpak override --filesystem=/etc/udev:ro com.visualsutdio.code.oss

@Stubbs It happens to me when using vscode within a docker container that udev must be installed for the command to work. We need to update this in the dev container docs.