vscode-cmake-tools
vscode-cmake-tools copied to clipboard
Broken API usage of latest WSL "No cache object found"
Brief Issue Summary
Fails to configure. Gets stuck loading .jsons from the .cmake folder. WSL remote extension host shows the reason:
2024-05-29 10:32:12.193 [error] Error: Extension 'ms-vscode.cmake-tools' CANNOT use API proposal: extensionRuntime.
Its package.json#enabledApiProposals-property declares: [] but NOT extensionRuntime.
The missing proposal MUST be added and you must start in extension development mode or use the following command line switch: --enable-proposed-api ms-vscode.cmake-tools
at y (/home/mfjordchris/.vscode-server/bin/dc96b837cf6bb4af9cd736aa3af08cf8279f7685/out/vs/workbench/api/node/extensionHostProcess.js:143:51558)
at get extensionRuntime [as extensionRuntime] (/home/mfjordchris/.vscode-server/bin/dc96b837cf6bb4af9cd736aa3af08cf8279f7685/out/vs/workbench/api/node/extensionHostProcess.js:161:12748)
at JSON.stringify (<anonymous>)
at RollbarController.exception (/home/mfjordchris/.vscode-server/extensions/ms-vscode.cmake-tools-1.19.0/dist/main.js:68089:60)
at /home/mfjordchris/.vscode-server/extensions/ms-vscode.cmake-tools-1.19.0/dist/main.js:68133:38
cmake build output:
[cache] Parsing CMake cache string
[cmakefileapi-parser] Read reply folder: /home/mfjordchris/repos/microsar-adaptive/build/gcc7_linux_x86_64/.cmake/api/v1/reply
[cmakefileapi-parser] Found index files: [
.... tons of jsons ....
]
And then nothing
CMake Tools Diagnostics
{
"os": "linux",
"vscodeVersion": "1.89.1",
"cmtVersion": "1.19.0",
"configurations": [
{
"folder": "/home/mfjordchris/repos/microsar-adaptive",
"cmakeVersion": "unknown",
"configured": false,
"generator": "unknown",
"usesPresets": false,
"compilers": {}
}
],
"cpptoolsIntegration": {
"isReady": false,
"hasCodeModel": false,
"activeBuildType": "",
"buildTypesSeen": [],
"requests": [],
"responses": [],
"partialMatches": [],
"targetCount": 0,
"executablesCount": 0,
"librariesCount": 0,
"targets": []
},
"settings": [
{
"communicationMode": "automatic",
"useCMakePresets": "auto",
"configureOnOpen": null
}
]
}
Debug Log
[main] Starting new CMake driver
[main] Starting CMake driver
[cmakefileapi-driver] Creating instance of CMakeFileApiDriver
[driver] Initializing base driver using preset
[driver] CMakeDriver configure preset set to gcc7_linux_x86_64
[driver] CMakeDriver build preset set to __defaultBuildPreset__
[driver] CMakeDriver test preset set to __defaultTestPreset__
[driver] CMakeDriver package preset set to __defaultPackagePreset__
[driver] CMakeDriver workflow preset set to __defaultWorkflowPreset__
[cache] Reading CMake cache file /home/mfjordchris/repos/microsar-adaptive/build/gcc7_linux_x86_64/CMakeCache.txt
[cache] Parsing CMake cache string
[cache] Reading CMake cache file /home/mfjordchris/repos/microsar-adaptive/build/gcc7_linux_x86_64/CMakeCache.txt
[cache] Parsing CMake cache string
[cmakefileapi-parser] Read reply folder: /home/mfjordchris/repos/microsar-adaptive/build/gcc7_linux_x86_64/.cmake/api/v1/reply
[cmakefileapi-parser] Found index files: ["codemodel-v2-9c7b1a5b13e6cd7abb21.json","directory-.-Debug-ef777644173ec83da69e.json", ... and a ton of other jsons that would exceed github character limit ... ]
[extension] [7571] cmake.logDiagnostics finished (returned undefined)
Additional Information
This used to work, I guess one party broke backwards compatibility with the other. WSL:
[2024-05-29 08:32:02.502] Using executable (49) to forward requests from local 54579 to remote 42613
[2024-05-29 08:32:02.502] NodeExecServer run: C:\Windows\System32\wsl.exe -d Ubuntu-22.04 -e /home/mfjordchris/.vscode-server/bin/dc96b837cf6bb4af9cd736aa3af08cf8279f7685/node -e const net = require('net'); process.stdin.pause(); const client = net.createConnection({ host: '127.0.0.1', port: 42613 }, () => { client.pipe(process.stdout); process.stdin.pipe(client); }); client.on('close', function (hadError) { console.error(hadError ? 'Remote close with error' : 'Remote close'); process.exit(hadError ? 1 : 0); }); client.on('error', function (err) { process.stderr.write(err && (err.stack || err.message) || String(err)); });
[2024-05-29 08:32:01.745] Extension version: 0.88.2
[2024-05-29 08:32:01.745] L10N bundle: undefined
[2024-05-29 08:32:01.782] authorityHierarchy: wsl+Ubuntu-22.04
[2024-05-29 08:32:01.782] WSL extension activating for a local WSL instance
[2024-05-29 08:32:01.803] Resolving wsl+Ubuntu-22.04, resolveAttempt: 1
[2024-05-29 08:32:01.804] NodeExecServer run: C:\Windows\System32\wsl.exe --status
[2024-05-29 08:32:01.965] WSL feature installed: true (wsl --status)
[2024-05-29 08:32:01.965] NodeExecServer run: C:\Windows\System32\wsl.exe --list --verbose
[2024-05-29 08:32:02.096] 1 distros found
[2024-05-29 08:32:02.096] Starting VS Code Server inside WSL (wsl2)
[2024-05-29 08:32:02.096] Windows build: 22621. Multi distro support: available. WSL path support: enabled
[2024-05-29 08:32:02.097] Scriptless setup: false
[2024-05-29 08:32:02.098] No shell environment set or found for current distro.
[2024-05-29 08:32:02.239] WSL daemon log file: c:\Users\mfjordchris\AppData\Roaming\Code\logs\20240528T164619\window3\exthost\ms-vscode-remote.remote-wsl\wsl-daemon-20240529T083202.log
[2024-05-29 08:32:02.244] Connecting to daemon started by other WSL window... 5.15.146.1-microsoft-standard-WSL2 Ubuntu-22.04
[2024-05-29 08:32:02.244] WSL resolver response: 127.0.0.1:54579
[2024-05-29 08:32:02.244] To debug connection issues, open a local browser on http://127.0.0.1:54579/version
[2024-05-29 08:32:02.244] No extension host environment set
[2024-05-29 08:32:02.331] Using executable (48) to forward requests from local 54579 to remote 42613
[2024-05-29 08:32:02.332] NodeExecServer run: C:\Windows\System32\wsl.exe -d Ubuntu-22.04 -e /home/mfjordchris/.vscode-server/bin/dc96b837cf6bb4af9cd736aa3af08cf8279f7685/node -e const net = require('net'); process.stdin.pause(); const client = net.createConnection({ host: '127.0.0.1', port: 42613 }, () => { client.pipe(process.stdout); process.stdin.pipe(client); }); client.on('close', function (hadError) { console.error(hadError ? 'Remote close with error' : 'Remote close'); process.exit(hadError ? 1 : 0); }); client.on('error', function (err) { process.stderr.write(err && (err.stack || err.message) || String(err)); });
[2024-05-29 08:32:02.798] Download in background is enabled