install.sh: `exec 9>&- 2>/dev/null` in `release_install_lock` silences every later warning
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- Meno di un'ora
- Idoneità per principianti
- 82/100
Direzione di ricerca
Il bug si trova in release_install_lock in install.sh, dove exec 9>&- 2>/dev/null reindirizza stderr per il resto dello script. Esegui la riproduzione descritta nella issue (un codex gestito da npm fittizio nel PATH con CODEX_NON_INTERACTIVE=1) e verifica con bash -x che la funzione di lock sia il punto in cui stderr scompare. È completato quando l'avviso 'Leaving the existing npm-managed Codex installed' compare sia con bash sia con sh, senza modificare il modo in cui fd 9 viene chiuso.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What happens
After release_install_lock runs, the rest of install.sh writes nothing to stderr. The cause is this line:
release_install_lock() {
...
elif [ "$lock_kind" = "flock" ] || [ "$lock_kind" = "lockf" ]; then
exec 9>&- 2>/dev/null || true
In bash, exec with redirections and no command applies all of them to the shell itself, so 2>/dev/null stays in
force for the rest of the script, not only for closing fd 9. Every warn after that point goes to /dev/null. The
same happens under sh (dash on Ubuntu), which the documented curl -fsSL https://chatgpt.com/codex/install.sh | sh
uses.
What a user misses
handle_conflicting_install runs after release_install_lock. With another Codex on the PATH (an npm copy) and the
uninstall question answered No (or CODEX_NON_INTERACTIVE=1), the user never sees:
WARNING: Leaving the existing npm-managed Codex installed. PATH order will determine which codex runs.
The "Failed to uninstall the existing … Codex" warning after a Yes would be hidden the same way.
How to reproduce (Ubuntu 24.04 in Docker, Codex 0.166.0, install.sh sha256
44ac252c1b9a68c02bdf0de8e1c6cbfde36fc1afa8684624962eae7d4c461e70)
docker run --rm -it ubuntu:24.04 bash
apt-get update && apt-get install -y curl ca-certificates
useradd -m tester && su - tester
mkdir -p ~/.npm-global/bin
printf '#!/usr/bin/env node\n' > ~/.npm-global/bin/codex && chmod +x ~/.npm-global/bin/codex
curl -fsSL https://chatgpt.com/codex/install.sh -o install.sh
CODEX_NON_INTERACTIVE=1 PATH="$HOME/.npm-global/bin:$HOME/.local/bin:$PATH" bash install.sh
The output shows "Detected existing npm-managed Codex at /home/tester/.npm-global/bin/codex" and "installed
successfully", but no "Leaving the existing npm-managed Codex installed" line. bash -x install.sh shows
release_install_lock running exec 9>&- 2>/dev/null, and nothing more traced after it.
Run as written above on a clean ubuntu:24.04 container on 2026-11-02 (the same sha256): exit 0, no "Leaving …" line.
A possible fix
Close the descriptor without touching stderr, for example exec 9>&- alone, or { exec 9>&-; } 2>/dev/null. Both
keep stderr working afterwards in bash (checked); exec 9>&- 2>/dev/null silences it in bash and in dash.
- Lingua principale
- Rust
- Stelle
- 133k
- Fork
- 21.1k
- Merge medio
- 1m
- PR unite (30g)
- 997
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di openai/codex
-
CI blob-size checker skips symlink-to-regular-file changes above its size limitForse già presa @akhil9tiet l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
openai/codex#59650 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
bug CLI enhancement TUI
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
I maintainer di solito rispondono entro 1 giorno
-
bug memory windows-os
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
Skill Creator quick validator rejects standard compatibility frontmatterForse già presa @akhil9tiet l’ha presa 6 giorni fa. Apertabug skills
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
openai/codex#58538 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di openai/codex
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
higress-group/HiRoute#405 ·
I maintainer di solito rispondono entro 1 giorno
-
rust_analyzer flycheck: no CLI way to enable clippy from `check.overrideCommand`Forse già presa @TrapsterDK l’ha presa oggi. Apertaneeds-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
bazelbuild/rules_rust#4392 ·
I maintainer di solito rispondono entro 2 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
🐞 bug 🧩 bevy_gantz_egui
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
nannou-org/gantz#500 ·
I maintainer di solito rispondono entro 1 giorno