caseworkctl public_jwks test can fail when another test takes its port
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 84/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- rust
- Área
- testing-qa
Línea de trabajo
Comienza en crates/registry-caseworkctl/src/dev/public_jwks.rs, en dev::public_jwks::tests::serves_only_public_keys_and_releases_its_listener, e inspecciona cómo se gestionan el puerto efímero y la comprobación de liberación. Ejecuta el test indicado con parallel cargo test. Se considera hecho cuando la aserción de liberación deja de fallar porque otro test ocupa temporalmente el puerto seleccionado, y se sigue verificando que el servidor libera su listener.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
dev::public_jwks::tests::serves_only_public_keys_and_releases_its_listener in crates/registry-caseworkctl/src/dev/public_jwks.rs failed once in the Rust workspace job on 2026-09-27, on a PR that changed no Rust code:
panicked at crates/registry-caseworkctl/src/dev/public_jwks.rs:159:21:
`Result::unwrap()` on an `Err` value: the explicit public JWKS port is occupied
caused by: Address already in use (os error 98)
A re-run passed.
Suspected cause (not reproduced; about 70% confident)
The test picks a port by binding 127.0.0.1:0 and dropping that listener, starts the server on the port, then after drop(server) calls probe(port) to prove the listener was released. Under parallel cargo test, another test can bind the same ephemeral port in either gap, so the release check fails even though the server did release it.
Fix direction
Test-only. Make the release assertion independent of other processes on the machine, for example by retrying the probe briefly, or by asserting on the server's own socket rather than on the port being free. The production code path is not implicated.
- Lenguaje dominante
- Rust
- Estrellas
- 2
- Forks
- 0
- Merge medio
- 5 h 13 min
- PR fusionados (30 d)
- 176
Preparar el entorno
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de registrystack/registry-stack
-
area:evidence criticality:p3 triage:needs-implementation
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
registrystack/registry-stack#1620 ·
Los mantenedores suelen responder en 1 día
-
area:docs area:render bug criticality:p3 triage:needs-implementation
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
registrystack/registry-stack#1618 ·
Los mantenedores suelen responder en 1 día
-
Registry Scheduling: startup logging goes to stdout, colliding with a stdout audit destinationAbiertoagent-ready area:platform bug criticality:p3 rust triage:needs-implementation
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
registrystack/registry-stack#1583 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
docs(breg): configure/breg.mdx lists stages for a request_lifecycle when, which bregctl refusesAbiertoagent-ready area:breg area:docs criticality:p3 documentation triage:needs-implementation
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
registrystack/registry-stack#1574 ·
Los mantenedores suelen responder en 1 día
-
area:docs area:release criticality:p2 documentation triage:needs-implementation
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
registrystack/registry-stack#1474 ·
Los mantenedores suelen responder en 1 día
Todos los issues de registrystack/registry-stack
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
DioxusLabs/anyrender#98 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
leptos-rs/leptos#4885 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
longbridge/gpui-kit#3276 ·
Los mantenedores suelen responder en 1 día
-
A-Migration Guides D-Straightforward S-Ready-For-Implementation X-Uncontroversial
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
bevyengine/bevy-website#2607 ·
Los mantenedores suelen responder en 1 día