Files
orca/src
NeilandOrca 4f6ca34f45 fix(startup): use non-interactive login shell for PATH probe (#5657)
The startup PATH probe spawned the user's login shell with -ilc. The
interactive (-i) flag forces sourcing of interactive rc init (compinit,
oh-my-zsh, completion generators, nvm/sdkman) that forks many nested
execs. On managed macOS machines with Endpoint Security agents (Jamf
Protect / CrowdStrike), each nested exec awaits an ES_EVENT_TYPE_AUTH_EXEC
verdict; a stalled verdict wedges the spawn in uninterruptible kernel
sleep (U state) that SIGKILL cannot reap, hanging Orca startup with no
window until reboot.

Switch to login-but-non-interactive (-lc). PATH lives in login profiles
and unguarded rc exports, both still sourced under -lc, so the captured
PATH stays complete while the subprocess-spawning interactive init that
triggers the AUTH_EXEC wedge is skipped. The 5s timeout + SIGKILL is kept
as defense-in-depth (it cannot reap a U-state process, so avoiding the
wedge via -lc is the real fix).

Co-authored-by: Orca <help@stably.ai>
2026-06-27 22:59:17 -07:00
..