statechart: a relative TLA2TOOLS or JAVA path fails, because TLC runs in the snapshot folder
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
- 78/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- node.js, typescript
- Área
- tooling
Línea de trabajo
Lee pstack/skills/statechart/scripts/tlc-tools.mjs y pstack/skills/statechart/scripts/statechart.mjs, centrándote en cómo findTlc resuelve TLA2TOOLS y JAVA, y en cómo tlc() establece su directorio de trabajo. Reproduce el problema con las rutas relativas y absolutas del issue. Se considera terminado cuando las rutas aceptadas desde el directorio del llamador también funcionan desde la carpeta del snapshot y from-spec puede ejecutar TLC.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What happens
findTlc in pstack/skills/statechart/scripts/tlc-tools.mjs checks that TLA2TOOLS and JAVA exist from the caller's working directory, then returns them as given. tlc() in statechart.mjs starts java with cwd set to the folder of the spec's snapshot copy under $TMPDIR/statechart-inputs-*/. Java resolves a relative -cp against that folder, so it cannot find the jar, and from-spec exits with cannot run TLC. A relative JAVA with a slash, such as ./jdk/bin/java, starts from the same folder.
Reproduce
Tested at 9e88dad on macOS with Node 25.8.0. The stand-in java prints the folder it runs in and whether it can see the -cp jar.
mkdir repro && cd repro && mkdir tools && touch tools/tla2tools.jar
cat > fake-java <<'EOF'
#!/bin/sh
cp=""; prev=""; for a in "$@"; do [ "$prev" = "-cp" ] && cp="$a"; prev="$a"; done
echo "java runs in: $PWD" >&2
if [ -e "$cp" ]; then echo "jar $cp: found" >&2; else echo "jar $cp: not found" >&2; fi
exit 1
EOF
chmod +x fake-java
printf -- '---- MODULE Spec ----\nEXTENDS Naturals\nVARIABLE x\nInit == x = 0\nNext == x'"'"' = x\n====\n' > Spec.tla
printf 'INIT Init\nNEXT Next\n' > Spec.cfg
S=/path/to/pstack/skills/statechart/scripts/statechart.mjs
export JAVA=$PWD/fake-java
TLA2TOOLS=tools/tla2tools.jar node $S from-spec Spec.tla # writes Spec.map.mjs
TLA2TOOLS=tools/tla2tools.jar node $S from-spec Spec.tla
TLA2TOOLS=$PWD/tools/tla2tools.jar node $S from-spec Spec.tla
With the relative path:
cannot run TLC with .../fake-java -cp tools/tla2tools.jar: java exited 1:
java runs in: $TMPDIR/statechart-inputs-B8EIpr/<absolute path of repro>
jar tools/tla2tools.jar: not found
With the absolute path, java runs in the same snapshot folder and prints jar <absolute path>: found.
Expected
A TLA2TOOLS or JAVA path that exists from the caller's directory, which findTlc already checks, also works when TLC runs.
- Lenguaje dominante
- TypeScript
- Estrellas
- 13.9k
- Forks
- 1.4k
- Merge medio
- 7 h 5 min
- PR fusionados (30 d)
- 150
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
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 cursor/plugins
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
cursor/plugins#762 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
cursor/plugins#726 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Poteto Mode Claude CodeAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
cursor/plugins#701 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
create-plugin README documents a /create-plugin command that does not existPosiblemente ocupada @deanrie la tomó hace 5 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
cursor/plugins#475 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de cursor/plugins
Issues similares
-
Add: ON Phim Viet SDAbiertocheck:passed streams:add
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
Los mantenedores suelen responder en 1 día
-
Subagent progress token count ignores usage.iterations and swings on multi-iteration responsesAbiertoarea:agents area:cost bug platform:macos
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
anthropics/claude-code#105375 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
galaxyproject/loom#616 ·
Los mantenedores suelen responder en 1 día
-
e2e-failure ready-to-code
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
redhat-developer/rhdh-plugin-export-overlays#4580 · 1 comentario ·
Los mantenedores suelen responder en 1 día