Repository navigation
fix: a closed console no longer ends a running setup | ERR trap fixes | check VM ID before creating - #219
Merged
Conversation
silent() armed trap error_handler ERR after every call. A script that add-tailscale-lxc or add-netbird-lxc runs through pct exec has no error_handler, so the next failing apt call ended in "error_handler: command not found" and exit 127 instead of apt's error. silent() now restores the trap the caller had, and falls back to error_handler only where it exists.
228 runs in three days logged "The terminal closed" and 145 of them ended as "Installation failed (exit code: 199)". apt kept the terminal as stdin and exited 100 when it went. on_hangup moved the output inside silent()'s own redirection, which bash undid on return, so error_handler and on_exit died writing to the dead terminal before the host got a marker. On the host the hangup killed pct status (17 runs reported a running container as stopped by itself) and the base package pct exec. Tools without catch_errors kept writing to the dead terminal, and a prompt that then read EOF counted as a failure. Shielded commands now get /dev/null instead of a terminal as stdin, silent(), error_handler and on_exit move the output back to the log, the host shields its setup pct calls and asks pct status twice, on_hup_keepalive does what on_hangup does, and a read or select that hits EOF is an abort.
setup_deb822_repo downloaded the key with one curl and no timeout: 53 runs failed on it, 32 of them on www.postgresql.org while apt.postgresql.org answered. The PostgreSQL key now comes from apt.postgresql.org (same key), and every repo key gets four attempts with a connect timeout.
An ID typed with a trailing space reached qm create split and qm disk import quoted, and a mistyped bridge only failed at qm create.
8 UniFi OS Server runs switched to "Unprivileged (recommended)" in the advanced wizard, and the install refused. Where the app defaults to privileged, that choice is now marked as the app default.
Contributor
Try this branchThe engine and the scripts resolve independently, so a production script can COMMUNITY_SCRIPTS_CORE_URL=https://raw.githubusercontent.com/community-scripts/core/fix/telemetry-findings-2026-11-08 \
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/debian.sh)"Swap This PR touches Run a script from a fork as wellcurl -fsSL https://raw.githubusercontent.com/community-scripts/core/fix/telemetry-findings-2026-11-08/tools/run.sh |
bash -s -- https://raw.githubusercontent.com/YOU/DevScripts/your-branch ct/debian.sh \
https://raw.githubusercontent.com/community-scripts/core/fix/telemetry-findings-2026-11-08Note that Useful flags while testing
|
5 of 11 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
✍️ Description
keep the caller's ERR trap in silent()
-> silent() armed trap error_handler ERR after every call. A script that add-tailscale-lxc or add-netbird-lxc runs through pct exec has no error_handler, so the next failing apt call ended in "error_handler: command not found" and exit 127 instead of apt's error. silent() now restores the trap the caller had, and falls back to error_handler only where it exists.
fix: a closed console no longer ends a running setup
fix: fetch repository keys with retries and psql repo to apt.postzgres
fix: check the VM ID and bridge before creating the VM
fix: do not recommend unprivileged for apps that need privileged
🔗 Related Issue
Fixes #
✅ Prerequisites (X in brackets)
API.txtwas updated to match.🛠️ Type of Change (X in brackets)
README,docs/,CONTRIBUTING.md, or other docs.🤖 AI Assistance (X in brackets)