Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

caseworkctl public_jwks test can fail when another test takes its port

Abierto Apto para principiantes
#1,623 0 comentarios 0 reacciones 0 asignados Ver en GitHub

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

area:casework bug criticality:p3 triage:needs-implementation

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

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de registrystack/registry-stack

Todos los issues de registrystack/registry-stack

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.