virtualcell / vcell

Virtual Cell Framework
http://vcell.org/
Other
66 stars 20 forks source link

Error message on trying to run sim #816

Closed lesloew closed 1 year ago

lesloew commented 1 year ago

RuntimeException-RPC method SimReqQueue:getSimulationStatus() failed: response status: 500 reason: internal error invoking SimReqQueue:getSimulationStatus(): simulation status for simkey 7581109 not found

This happens frequently. Usually pressing the green run again does work.

11:27am email march, 1, 2023

jcschaff commented 1 year ago

Ann's most recent report of this problem specified a simulation status failure with simid of 2121787425. After looking at the logs (again), I noticed that simid being run is 254670818

lets compare these numbers: '2121787425' (couldn't find this simid) ' 254670818' (recently run simid) ' 254679162' (result of recent SQL query : select vcell.NEWSEQ.nextval from DUAL)

2121787425 seemed to be randomly generated, or the result of overflow, or something because it is much larger than any key in the database!!!!

Ah-Ha !!

finally tracked down the problem - side effect of a previous commit.

In commit on 10/8/22 with message "Added temp fieldSimulationVersion to Simulation constructors missing field assignment" in #445, there was a side-effect that a random KeyValue was assigned to every new Simulation.

Background:

any time a simulation (or any other 'Versionable' object) has a KeyValue (inside the version object), VCell client-server communication will assume that the key came from the database

Assigning a random key will cause VCell to ask the server for status with a bogus key, and also it will fool the incremental save logic in ServerDocumentManager resulting in SQL Constraint errors.

The SimulationVersion.createTempSimulationVersion() was intended for offline use only (e.g. VirtualFRAP or local solvers)

jcschaff commented 1 year ago

@ACowan0105 @lesloew @pmendes this will fix the vcell server weirdness I think.