Architecture mismatch on macOS self-hosted runner?

Aperta
#3,416 4 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
42/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Tranquilla
Stack tecnologico
github-actions, macos, swift

Direzione di ricerca

Riproduci il problema sul runner macOS self-hosted, iniziando dallo stack trace di macos-run-invoker.js e dal passaggio del plug-in dello strumento di build SwiftLint in xcodebuild. Confronta le architetture coinvolte in CodeQL, sourcekitdInProc.framework e nel runner, quindi verifica che i target Xcode vengano compilati senza richiedere Rosetta.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

I'm trying to integrate CodeQL in a private repo, using a self-hosted runner. My first attempt failed with this error:

node:internal/child_process:420
    throw new ErrnoException(err, 'spawn');
    ^

Error: spawn Unknown system error -86
    at ChildProcess.spawn (node:internal/child_process:420:11)
    at spawn (node:child_process:762:9)
    at Object.<anonymous> (/Users/admin/Code/ActionRunner/bin.2.331.0/macos-run-invoker.js:8:14)
    at Module._compile (node:internal/modules/cjs/loader:1521:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1623:10)
    at Module.load (node:internal/modules/cjs/loader:1266:32)
    at Module._load (node:internal/modules/cjs/loader:1091:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:164:12)
    at node:internal/main/run_main_module:28:49 {
  errno: -86,
  code: 'Unknown system error -86',
  syscall: 'spawn'
}

I've managed to work around this by installed Rosetta on the build machine, but that's a temporary workaround, since Rosetta is going away in the next year or two.

I still hit something that I suspect is an architecture mismatch, though. Most of the targets in the Xcode project use the SwiftLint build tool plug-in, and when xcodebuild gets to that step, it fails with this error:

SourceKittenFramework/library_wrapper.swift:58: Fatal error: Loading sourcekitdInProc.framework/Versions/A/sourcekitdInProc failed

My best guess is that sourcekitdInProc is an arm64 binary, while part of CodeQL still uses an x86 binary.

I've also tried running this on GitHub's shared macOS runners, but they are abysmally slow and I'd need to work out an authentication issue with a dependency in a different private repo. It'd be much nicer to get this working on the self-hosted runner.

Lingua principale
TypeScript
Stelle
1.6k
Fork
493
Merge medio
1g 13h
PR unite (30g)
44

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di github/codeql-action

Tutte le issue di github/codeql-action

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.