SpringSaLaD: exporting an application with no reactions reports success and writes a 0-byte file
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- Mezza giornata
- Idoneità per principianti
- 80/100
Direzione di ricerca
Start at the catch-all in vcell-core/src/main/java/cbit/vcell/export/SpringSaLaDExporter.java:350-353 that returns null instead of rethrowing, then trace upward to the caller invoking writeStringToFile and downstream to LangevinLngvWriter.writeTimeInformation. Also read MathDescription.isLangevin(), which classifies a reaction-less model by the first ParticleJumpProcess. Done means exporting a reaction-less SpringSaLaD application surfaces a clear error (or an explicit "no reactions to export" message) instead of reporting success and leaving a 0-byte .ssld file; verify with the reproduction steps in the issue.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Found while writing a SpringSaLaD tutorial script. A SpringSaLaD application that has a
complete physiology and geometry but no reaction rules yet cannot be exported to
.ssld — which is reasonable — but the failure is invisible: the client reports
"Export saved as <path>" and leaves an empty file where the model should be.
What happens
Three defects stack up, and each one on its own would have been survivable.
MathDescription.isLangevin()decides from the firstParticleJumpProcess. With no
reactions there is no jump process, so a SpringSaLaD model is classified as not
Langevin.LangevinLngvWriter.writeTimeInformationthen throws"Langevin Math expected.",
andSpringSaLaDExporter.getDocumentAsStringswallows it in a catch-all that
returnsnullrather than rethrowing
(vcell-core/src/main/java/cbit/vcell/export/SpringSaLaDExporter.java:350-353).- The caller passes that
nullon towriteStringToFile, which NPEs — but the export
task still reports success, and the 0-byte file it created stays on disk.
Reproduction
- New BioModel; three structures named
Extracellular/Membrane/Intracellular. - One or more molecules and matching seed species. No reaction rules.
New Application > SpringSaLaD.File > Export..., chooseSpringSaLaD format<Version2.2> (.ssld), pick a path.
The dialog reports the export was saved. The file is 0 bytes.
Suggested fixes, in order of value
- Do not report success when nothing was written. The catch-all returning
nullis the
step that turns an exception into a silent wrong answer; letting it propagate would
surface the real message. isLangevin()on a reaction-less model. Deciding "is this a Langevin math" from the
presence of a jump process means an empty model is indistinguishable from a non-Langevin
one. TheSimulationContext's application type already knows the answer.- A plain "this application has no reactions to export" would be better than either.
- Lingua principale
- Java
- Stelle
- 140
- Fork
- 35
- Merge medio
- 22h 6m
- PR unite (30g)
- 14
Preparare l'ambiente
- Include un Dockerfile o un 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 virtualcell/vcell
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
virtualcell/vcell#2193 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Accessibility Requirement Java-based User Interface
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
virtualcell/vcell#2138 ·
I maintainer di solito rispondono entro 1 giorno
-
Accessibility Requirement Java-based
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
virtualcell/vcell#2137 ·
I maintainer di solito rispondono entro 1 giorno
-
Accessibility Requirement User Interface
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
virtualcell/vcell#2135 ·
I maintainer di solito rispondono entro 1 giorno
-
Accessibility Requirement Java-based User Interface
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
virtualcell/vcell#2134 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di virtualcell/vcell
Issue simili
-
Document and enforce pull request review guidelinesForse già presa @dashorst l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
`Time.at(t, in: nil)` returns UTC instead of the local time (or the time zone of `t`), unlike CRubyAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
hermes-queue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
chrisalunlloyd2-sudo/mindpalace#349 ·
I maintainer di solito rispondono entro 1 giorno
-
Retry-After parser accepts invalid delay-seconds valuesForse già presa @Dhruvraj-Rana l’ha presa oggi. ApertaBug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
open-telemetry/opentelemetry-java#9018 ·
I maintainer di solito rispondono entro 2 giorni
-
dropwizard-testing: DAOTest.inTransaction leaves the transaction open when an Error is thrownAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
dropwizard/dropwizard#11410 ·
I maintainer di solito rispondono entro 1 giorno