{"record":{"id":"3dddf15f7f2bf71c","repo":"dotnet/runtime","slug":"invalid-os-for-x64","errorCode":null,"errorMessage":"Invalid OS for x64.","messagePattern":"Invalid OS for x64\\.","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"src/coreclr/scripts/superpmi_aspnet.py","lineNumber":106,"sourceCode":"#\ndef determine_benchmark_machine(coreclr_args):\n    \"\"\" Determine the name of the benchmark machine to use\n\n    Args:\n        coreclr_args (CoreclrArguments): parsed args\n\n    Return:\n        (str) : name of the benchmnark machine\n    \"\"\"\n\n    if coreclr_args.arch == \"x64\":\n        if coreclr_args.host_os == \"windows\":\n            return \"aspnet-perf-win\"\n#            return \"aspnet-citrine-win\"\n        elif coreclr_args.host_os == \"linux\":\n            return \"aspnet-perf-lin\"\n        else:\n            raise RuntimeError(\"Invalid OS for x64.\")\n    elif coreclr_args.arch == \"arm64\":\n        if coreclr_args.host_os == \"linux\":\n            return \"aspnet-citrine-arm\"\n        else:\n            raise RuntimeError(\"Invalid OS for arm64.\")\n    else:\n        raise RuntimeError(\"Invalid arch.\")\n\ndef build_and_run(coreclr_args):\n    \"\"\"Run perf scenarios under crank and collect data with SPMI\"\n\n    Args:\n        coreclr_args (CoreClrArguments): Arguments use to drive\n        output_mch_name (string): Name of output mch file name\n    \"\"\"\n    source_directory = coreclr_args.source_directory\n    target_arch = coreclr_args.arch\n    target_os = coreclr_args.host_os","sourceCodeStart":88,"sourceCodeEnd":124,"githubUrl":"https://github.com/dotnet/runtime/blob/60108ba66eb7d1d12f595480091b4ad80a24b172/src/coreclr/scripts/superpmi_aspnet.py#L88-L124","documentation":"Raised by determine_benchmark_machine() at src/coreclr/scripts/superpmi_aspnet.py:106 when arch is 'x64' but host_os is neither 'windows' nor 'linux'. The crank/TechEmpower benchmark machines (aspnet-perf-win, aspnet-perf-lin) only exist for x64 Windows and x64 Linux.","triggerScenarios":"Invoking superpmi_aspnet.py with -arch x64 on macOS or another unsupported OS.","commonSituations":"Attempting to run the aspnet crank benchmark collection from a macOS developer machine.","solutions":["Run the x64 aspnet collection on Windows or Linux.","Use a remote Windows/Linux Helix crank target instead of a local macOS run."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"if coreclr_args.arch == 'x64' and coreclr_args.host_os not in ('windows', 'linux'):\n    raise SystemExit('x64 aspnet benchmark collection requires Windows or Linux host')","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Check coreclr_args.host_os is windows or linux before calling determine_benchmark_machine() for x64 builds."],"tags":["dotnet","coreclr","superpmi","benchmarks","os-detection"],"backgroundTag":null,"analyzedSha":"60108ba66eb7d1d12f595480091b4ad80a24b172","analyzedAt":"2026-08-10T18:54:11.478Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}