github / codeql

CodeQL: the libraries and queries that power security researchers around the world, as well as code scanning in GitHub Advanced Security
https://codeql.github.com
MIT License
7.61k stars 1.52k forks source link

Unable to create database on windows 11 ARM machine #15417

Open jacob-ronstadt opened 9 months ago

jacob-ronstadt commented 9 months ago

Description of the issue

I am unable to create a codeql database when using ARM hardware running windows 11 with CodeQL version 2.16.0

C:\codeql-home>codeql version CodeQL command-line toolchain release 2.16.0. Copyright (C) 2019-2024 GitHub, Inc. Unpacked in: C:\codeql-home\codeql Analysis results depend critically on separately distributed query and extractor modules. To list modules that are visible to the toolchain, use 'codeql resolve qlpacks' and 'codeql resolve languages'.

C:\codeql-home>codeql database create ./testdb -s=KMDF_Driver1 --language=cpp -c="msbuild /t:rebuild -p:configuration=Release -p:platform=x64 C:\codeql-home\KMDF_Driver1\KMDF_Driver1.sln" Initializing database at C:\codeql-home\testdb. Running build command: [msbuild, /t:rebuild, -p:configuration=Release, -p:platform=x64, C:\codeql-home\KMDF_Driver1\KMDF_Driver1.sln] [2024-01-23 15:30:57] [ERROR] Spawned process exited abnormally (code -1073741701; tried to run: [C:\codeql-home\codeql\tools\win64\tracer.exe, C:\codeql-home\codeql\tools\win64\runner.exe, cmd.exe, /C, type, NUL, &&, msbuild, /t:rebuild, -p:configuration=Release, -p:platform=x64, C:\codeql-home\KMDF_Driver1\KMDF_Driver1.sln]) A fatal error occurred: Exit status -1073741701 from command: [C:\codeql-home\codeql\tools\win64\runner.exe, cmd.exe, /C, type, NUL, &&, msbuild, /t:rebuild, -p:configuration=Release, -p:platform=x64, C:\codeql-home\KMDF_Driver1\KMDF_Driver1.sln]

ginsbach commented 9 months ago

Can you confirm that the build command

msbuild /t:rebuild -p:configuration=Release -p:platform=x64 C:\codeql-home\KMDF_Driver1\KMDF_Driver1.sln

succeeds when executed on its own (without invoking the codeql extractor)?

If so, can you please share the log files inside the testdb/log directory?

jacob-ronstadt commented 9 months ago

Yes the build command works on its own.

build-tracer.log database-create-20240124.090759.956.log

ginsbach commented 9 months ago

I have checked back with the C++ team. Unfortunately, arm64 is currently only supported on macOS, but not on any version of Windows: https://codeql.github.com/docs/codeql-overview/system-requirements/ Therefore, we won't be able to investigate this in detail, apologies.

jacob-ronstadt commented 9 months ago

@ginsbach Thanks for looking into this. Are there plans to eventually support arm64 with windows? Is there a place I can put in a feature request for this?

ginsbach commented 9 months ago

We are internally thinking about ARM support (which we currently have only for Apple Silicon) on Linux and Windows, but it is not an immediate priority until we see wider demand from customers. I have made relevant people aware of this issue as an additional data point for that decision making.