fresh install leaves uhttpd.main with no listeners — LuCI unbound, procd crash-loops the default uhttpd instance
I maintainer di solito rispondono entro 2 giorni
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- linux, shell
- Ambito
- infrastructure
Direzione di ricerca
Start with the uhttpd surgery in 99-tollgate-setup and the mode-aware writer's main-section handling, to find which step should write the board-mode pair onto uhttpd.main and why it does not. Reproduce with uci show uhttpd | grep listen and logread | grep -c "No sockets bound" on a fresh install. Done means every shipped uhttpd section has a listener, confirmed by a tests/packaging/ assertion, with no crash loop.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
On a fresh stock OpenWrt 25.12.5 x86-64 VM, installing tollgate-wrt (built from main @ b6f7aa7) leaves the uhttpd main section with no listen_http/listen_https options at all. The uhttpd init still starts it as the default procd instance, which exits with No sockets bound, unable to continue and enters a crash loop. Net effect: LuCI is unreachable — nothing listens on the board-mode secondary pair (:8090/:8443) that the entry-port decision assigns to uhttpd.main.
The three TollGate-created instances all serve correctly; this is solely the leftover bare main section.
Where seen
The #838 post-merge verification lane (QEMU/KVM on ai-legion-small, stock OpenWrt 25.12.5 x86-64 generic-ext4-combined, pristine snapshot boot, serial-console driven). Artifact: tollgate-wrt-0.6.0_rc1-r0.apk from scripts/build-sdk-package.sh (x86-64-25.12.0 apk lane, portal bundle staged from the pin), sha256 fa299cbdbf0e9e09423d73d716f11d2bbfcb71429f8ed0b79d2eab546c3fc09c, hash-verified on-guest. Observed identically on two independent fresh installs, and it persists across reboot.
Evidence
uci show uhttpd | grep -E "listen|home" after install (and after reboot):
uhttpd.main.home='/www' ← no listen options
uhttpd.portal.listen_http='0.0.0.0:2051' '[::]:2051'
uhttpd.portal.home='/etc/tollgate/tollgate-captive-portal-site'
uhttpd.trusted.listen_http='0.0.0.0:80' '[::]:80'
uhttpd.trusted.home='/etc/tollgate/router-home'
uhttpd.admin.listen_http='0.0.0.0:8080' '[::]:8080'
uhttpd.admin.listen_https='0.0.0.0:443' '[::]:443'
uhttpd.admin.home='/www/tollgate'
netstat -tln — :8080, :443, :2051, :80 listening; no :8090/:8443. Three uhttpd processes up (portal, trusted, admin — the admin one with the provisioned hostname in argv).
logread:
daemon.err uhttpd[N]: Error: No sockets bound, unable to continue (every ~5 s)
daemon.info procd: Instance uhttpd::instance1 in a crash loop 6 crashes, 0 seconds since last crash
Analysis
The stock image's uhttpd.main listeners (:80/:443) were redistributed by the setup (:80 → the trusted router-home instance, the entry pair → uhttpd.admin in board mode) — but nothing wrote main's board-mode secondary pair (:8090/:8443), leaving the section bare. The uhttpd init's default instance then has nothing to bind and crash-loops. Candidate owners of that write: 99-tollgate-setup's uhttpd surgery, or the mode-aware writer's main-section half.
Caveats and scope
- VM environment: no wifi radios, no
br-private(the install notes "br-private did not appear within 15 s — expected on devices without a private network configured"). A radio/bridge-dependent conditional could explain the missing write; real-router confirmation is pending — a desk unit can check withuci show uhttpd | grep listenandlogread | grep -c "No sockets bound". - Not #838's blast radius: in the same runs the admin gate/order behaved exactly as designed (credential created before the gate;
uhttpd.adminlisteners intact; board serving).
Suggested fix shape
Either write the board-mode secondary pair onto uhttpd.main (LuCI reachable per the entry-port decision), or disable/omit the bare default instance so procd does not crash-loop it. A tests/packaging/ assertion that every shipped uhttpd section carries at least one listener would fence the class.
- Lingua principale
- Go
- Stelle
- 12
- Fork
- 14
- Merge medio
- 4g 19h
- PR unite (30g)
- 213
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 OpenTollGate/tollgate-module-basic-go
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
OpenTollGate/tollgate-module-basic-go#1159 ·
I maintainer di solito rispondono entro 2 giorni
-
Degraded-mode hygiene follow-ups: dead walletNotInitializedError() + main.go's startup log still over-promises mint recoveryForse già presa @Amperstrand l’ha presa 5 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
OpenTollGate/tollgate-module-basic-go#1135 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
setup_uhttpd_portal hardcodes the GUEST portal docroot to the TollGate path — the brand token cannot select a re-brand guest portalForse già presa @Amperstrand l’ha presa 5 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
OpenTollGate/tollgate-module-basic-go#1122 ·
I maintainer di solito rispondono entro 2 giorni
-
changelog: dependency-security sweep missing from [Unreleased] [Amperstrand fork #105 review debt]Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
OpenTollGate/tollgate-module-basic-go#1055 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
OpenTollGate/tollgate-module-basic-go#1027 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di OpenTollGate/tollgate-module-basic-go
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 69/100
open-telemetry/opentelemetry-go-compile-instrumentation#1713 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
JakeChampion/lang#14392 ·
I maintainer di solito rispondono entro 1 giorno
-
agent-butler-finding bug
Difficoltà 1/5 1-3 ore Idoneità per principianti 84/100
jordansmall/spindrift#6557 ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug] Custom tool truncation leaves unused stream copies openForse già presa @OUAO-FRANK l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno