MicrosoftDocs / intellicode

Visual Studio IntelliCode - AI-enhanced development tools. 👋Want to submit an issue to MicrosoftDocs/intellicode? If you have a bug or an idea, read the contributing guidelines before opening an issue. For FAQ's see
https://aka.ms/vsicfaq
Creative Commons Attribution 4.0 International
747 stars 68 forks source link

onnxruntime-node is not signed #556

Open scoizzle opened 5 months ago

scoizzle commented 5 months ago

Product and Version [VS/VSCode]: VSCode 1.89.0 OS Version [macOS/Windows]: Windows_NT x64 10.0.22631 IntelliCode Extension Version: v2.1.9 Target Platform or Language [e.g. Node.js]: csharp

Steps to Reproduce / Scenario:

"extensions\ms-dotnettools.vscodeintellicode-csharp-2.1.9-win32-x64\dist\node_modules\onnxruntime-node\bin\napi-v3\win32\x64\onnxruntime.dll" is not signed. My work environment requires all assemblies to be signed to execute.

dozer75 commented 3 months ago

+1 on this..

It has given me a lot of headache the last week, the startup complained that the onnxruntime_binding.node file within the same folder was blocked by Group Policies with the following message:

Activating extension 'ms-dotnettools.vscodeintellicode-csharp' failed: This program is blocked by group policy. For more information, contact your system administrator.
\\?\c:\Users\<USER>\.vscode\extensions\ms-dotnettools.vscodeintellicode-csharp-2.1.11-win32-x64\dist\node_modules\onnxruntime-node\bin\napi-v3\win32\x64\onnxruntime_binding.node.
Error: This program is blocked by group policy. For more information, contact your system administrator.
\\?\c:\Users\<USER>\.vscode\extensions\ms-dotnettools.vscodeintellicode-csharp-2.1.11-win32-x64\dist\node_modules\onnxruntime-node\bin\napi-v3\win32\x64\onnxruntime_binding.node
    at process.func [as dlopen] (node:electron/js2c/node_init:2:2214)
    at Module._extensions..node (node:internal/modules/cjs/loader:1343:18)
    at Object.func [as .node] (node:electron/js2c/node_init:2:2214)
    at Module.load (node:internal/modules/cjs/loader:1098:32)
    at Module._load (node:internal/modules/cjs/loader:945:12)
    at c._load (node:electron/js2c/node_init:2:13672)
    at E._load (c:\Users\<USER>\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:176:5901)
    at n._load (c:\Users\<USER>\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:173:30787)
    at t._load (c:\Users\<USER>\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:138:33074)
    at Module.require (node:internal/modules/cjs/loader:1122:19)
    at h (c:\Users\<USER>\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\loader.js:4:647)
    at Object.<anonymous> (c:\Users\<USER>\.vscode\extensions\ms-dotnettools.vscodeintellicode-csharp-2.1.11-win32-x64\dist\node_modules\onnxruntime-node\dist\binding.js:9:1)
    at o._compile (c:\Users\<USER>\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\loader.js:4:1271)
    at Module._extensions..js (node:internal/modules/cjs/loader:1311:10)
    at Module.load (node:internal/modules/cjs/loader:1098:32)
    at Module._load (node:internal/modules/cjs/loader:945:12)
    at c._load (node:electron/js2c/node_init:2:13672)
    at E._load (c:\Users\<USER>\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:176:5901)
    at n._load (c:\Users\<USER>\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:173:30787)
    at t._load (c:\Users\<USER>\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:138:33074)
    at Module.require (node:internal/modules/cjs/loader:1122:19)
    at h (c:\Users\<USER>\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\loader.js:4:647)
    at Object.<anonymous> (c:\Users\<USER>\.vscode\extensions\ms-dotnettools.vscodeintellicode-csharp-2.1.11-win32-x64\dist\node_modules\onnxruntime-node\dist\backend.js:18:19)
    at o._compile (c:\Users\<USER>\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\loader.js:4:1271)
    at Module._extensions..js (node:internal/modules/cjs/loader:1311:10)
    at Module.load (node:internal/modules/cjs/loader:1098:32)
    at Module._load (node:internal/modules/cjs/loader:945:12)
    at c._load (node:electron/js2c/node_init:2:13672)
    at E._load (c:\Users\<USER>\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:176:5901)
    at n._load (c:\Users\<USER>\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:173:30787)
    at t._load (c:\Users\<USER>\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:138:33074)
    at Module.require (node:internal/modules/cjs/loader:1122:19)
    at h (c:\Users\<USER>\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\loader.js:4:647)
    at Object.<anonymous> (c:\Users\<USER>\.vscode\extensions\ms-dotnettools.vscodeintellicode-csharp-2.1.11-win32-x64\dist\node_modules\onnxruntime-node\dist\index.js:21:17)
    at o._compile (c:\Users\<USER>\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\loader.js:4:1271)
    at Module._extensions..js (node:internal/modules/cjs/loader:1311:10)
    at Module.load (node:internal/modules/cjs/loader:1098:32)
    at Module._load (node:internal/modules/cjs/loader:945:12)
    at c._load (node:electron/js2c/node_init:2:13672)
    at E._load (c:\Users\<USER>\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:176:5901)
    at n._load (c:\Users\<USER>\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:173:30787)
    at t._load (c:\Users\<USER>\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:138:33074)
    at Module.require (node:internal/modules/cjs/loader:1122:19)
    at h (c:\Users\<USER>\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\loader.js:4:647)
    at 90884 (c:\Users\<USER>\.vscode\extensions\ms-dotnettools.vscodeintellicode-csharp-2.1.11-win32-x64\dist\extension.js:2:1529330)
    at __webpack_require__ (c:\Users\<USER>\.vscode\extensions\ms-dotnettools.vscodeintellicode-csharp-2.1.11-win32-x64\dist\extension.js:2:1677810)
    at 67974 (c:\Users\<USER>\.vscode\extensions\ms-dotnettools.vscodeintellicode-csharp-2.1.11-win32-x64\dist\extension.js:2:337999)
    at __webpack_require__ (c:\Users\<USER>\.vscode\extensions\ms-dotnettools.vscodeintellicode-csharp-2.1.11-win32-x64\dist\extension.js:2:1677810)
    at 95175 (c:\Users\<USER>\.vscode\extensions\ms-dotnettools.vscodeintellicode-csharp-2.1.11-win32-x64\dist\extension.js:2:337662)
    at __webpack_require__ (c:\Users\<USER>\.vscode\extensions\ms-dotnettools.vscodeintellicode-csharp-2.1.11-win32-x64\dist\extension.js:2:1677810)
    at 23843 (c:\Users\<USER>\.vscode\extensions\ms-dotnettools.vscodeintellicode-csharp-2.1.11-win32-x64\dist\extension.js:2:370955)
    at __webpack_require__ (c:\Users\<USER>\.vscode\extensions\ms-dotnettools.vscodeintellicode-csharp-2.1.11-win32-x64\dist\extension.js:2:1677810)
    at 84054 (c:\Users\<USER>\.vscode\extensions\ms-dotnettools.vscodeintellicode-csharp-2.1.11-win32-x64\dist\extension.js:2:383169)
    at __webpack_require__ (c:\Users\<USER>\.vscode\extensions\ms-dotnettools.vscodeintellicode-csharp-2.1.11-win32-x64\dist\extension.js:2:1677810)
    at 38746 (c:\Users\<USER>\.vscode\extensions\ms-dotnettools.vscodeintellicode-csharp-2.1.11-win32-x64\dist\extension.js:2:359907)
    at __webpack_require__ (c:\Users\<USER>\.vscode\extensions\ms-dotnettools.vscodeintellicode-csharp-2.1.11-win32-x64\dist\extension.js:2:1677810)
    at 69972 (c:\Users\<USER>\.vscode\extensions\ms-dotnettools.vscodeintellicode-csharp-2.1.11-win32-x64\dist\extension.js:2:1364345)
    at __webpack_require__ (c:\Users\<USER>\.vscode\extensions\ms-dotnettools.vscodeintellicode-csharp-2.1.11-win32-x64\dist\extension.js:2:1677810)
    at 98902 (c:\Users\<USER>\.vscode\extensions\ms-dotnettools.vscodeintellicode-csharp-2.1.11-win32-x64\dist\extension.js:2:1366539)
    at __webpack_require__ (c:\Users\<USER>\.vscode\extensions\ms-dotnettools.vscodeintellicode-csharp-2.1.11-win32-x64\dist\extension.js:2:1677810)
    at c:\Users\<USER>\.vscode\extensions\ms-dotnettools.vscodeintellicode-csharp-2.1.11-win32-x64\dist\extension.js:2:1678646
    at c:\Users\<USER>\.vscode\extensions\ms-dotnettools.vscodeintellicode-csharp-2.1.11-win32-x64\dist\extension.js:2:1681650
    at Object.<anonymous> (c:\Users\<USER>\.vscode\extensions\ms-dotnettools.vscodeintellicode-csharp-2.1.11-win32-x64\dist\extension.js:2:1681689)
    at o._compile (c:\Users\<USER>\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\loader.js:4:1271)
    at Module._extensions..js (node:internal/modules/cjs/loader:1311:10)
    at Module.load (node:internal/modules/cjs/loader:1098:32)
    at Module._load (node:internal/modules/cjs/loader:945:12)
    at c._load (node:electron/js2c/node_init:2:13672)
    at E._load (c:\Users\<USER>\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:176:5901)
    at n._load (c:\Users\<USER>\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:173:30787)
    at t._load (c:\Users\<USER>\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:138:33074)
    at Module.require (node:internal/modules/cjs/loader:1122:19)
    at require (node:internal/modules/helpers:130:18)
    at Function.i [as __$__nodeRequire] (c:\Users\<USER>\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\loader.js:5:98)
    at u.xb (c:\Users\<USER>\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:173:31966)
    at async Promise.all (index 0)

We excluded the .node file (which is signed) in lots of various ways but still got the issue. After seeing this issue I decided to try exclude the DLL and now it works.

What's strange is that the AppLocker event log didn't show anything either about the .node file or the .dll 🤔

So this really needs to be signed.