Closed jonrkarr closed 2 years ago
@jonrkarr @bilalshaikh42 I cannot reproduce this error; see below running on exact same node same file from scratch (pulling and converting docker image to singularity) as unprivileged user
[moraru@xanadu-55 Thu Oct 14 01:53:12 ~] $ [moraru@xanadu-55 Thu Oct 14 01:53:13 ~] $ id uid=10000(moraru) gid=10000(domain users) groups=10000(domain users),10028(ccam faculty),10034(nanomedicine),10040(vpnusers),10045(linuxadmins),10047(bioinfsudoers),10069(wolanskylab),11000(developers) [moraru@xanadu-55 Thu Oct 14 01:53:16 ~] $ mkdir /tmp/bs [moraru@xanadu-55 Thu Oct 14 01:53:24 ~] $ wget https://github.com/biosimulators/Biosimulators_test_suite/raw/deploy/examples/sbml-core/Ciliberto-J-Cell-Biol-2003-morphogenesis-checkpoint-continuous.omex -O /tmp/bs/test.omex > /dev/null 2>&1 [moraru@xanadu-55 Thu Oct 14 01:53:31 ~] $ singularity build /tmp/bs/test.sif docker://ghcr.io/virtualcell/biosimulators_vcell:latest INFO: Starting build... Getting image source signatures Copying blob f3ef4ff62e0d skipped: already exists Copying blob db6520416b5b skipped: already exists Copying blob 2b1cf43f1aca skipped: already exists Copying blob a7a19cefd2da skipped: already exists Copying blob b2be7d7597bd skipped: already exists Copying blob 57a84e7d9de6 skipped: already exists Copying blob bd6065641e85 skipped: already exists Copying blob bb7dc101a8eb [--------------------------------------] 0.0b / 0.0b Copying config 493ad142c4 done Writing manifest to image destination Storing signatures 2021/10/14 01:53:49 info unpack layer: sha256:f3ef4ff62e0da0ef761ec1c8a578f3035bef51043e53ae1b13a20b3e03726d17 2021/10/14 01:53:50 info unpack layer: sha256:db6520416b5be84bcb9fb875a4a4930dea0630c468782bc2c6a822ef02dbf65b 2021/10/14 01:54:00 info unpack layer: sha256:2b1cf43f1aca1204c8f2f9ea1d9dc6ba3de9535e6c98613122a97f70d4470035 2021/10/14 01:54:01 info unpack layer: sha256:a7a19cefd2da2239e178851824b08cc6ad403c0d19e426474e47005afe9a54f1 2021/10/14 01:54:01 info unpack layer: sha256:b2be7d7597bd44e48dbe666941711b23b2fc1f3a483aff8e39413ee9af42c980 2021/10/14 01:54:08 info unpack layer: sha256:57a84e7d9de6ff14d5fa7d33e7a90b67cabffd735d3806d75f657fb9f5cf5887 2021/10/14 01:54:08 info unpack layer: sha256:bd6065641e85ecc6c61cbb3ad5c085bb76224543cdfd6b0adb5c6b2a7b4437ae 2021/10/14 01:54:09 info unpack layer: sha256:bb7dc101a8ebe8c3ea62d9b1af3d8cd103029c898168fea405b62823633c2b14 INFO: Creating SIF file... INFO: Build complete: /tmp/bs/test.sif [moraru@xanadu-55 Thu Oct 14 01:54:18 ~] $ singularity run /tmp/bs/test.sif -i /tmp/bs/test.omex -o /tmp/bs > /dev/null 2>&1 [moraru@xanadu-55 Thu Oct 14 01:55:06 ~] $ ls -al /tmp/bs total 670480 drwxr-xr-x 3 moraru domain users 150 Oct 14 01:55 . drwxrwxrwt 112 root root 8192 Oct 14 01:55 .. -rw-r--r-- 1 moraru domain users 7994 Oct 14 01:55 log.json -rw-r--r-- 1 moraru domain users 2895 Oct 14 01:55 log.yml -rw-r--r-- 1 moraru domain users 43550 Oct 14 01:55 plots.zip -rw-r--r-- 1 moraru domain users 108848 Oct 14 01:55 reports.h5 -rw-r--r-- 1 moraru domain users 67828 Oct 14 01:55 reports.zip drwxr-xr-x 2 moraru domain users 192 Oct 14 01:55 simulation_1.sedml -rw-r--r-- 1 moraru domain users 339796 Oct 14 01:53 test.omex -rwxr-xr-x 1 moraru domain users 685961216 Oct 14 01:54 test.sif [moraru@xanadu-55 Thu Oct 14 01:55:33 ~] $
Perhaps there was an issue with that particular version of the simulator? @bilalshaikh42 @jonrkarr can you provide an example with the current version?
The warnings in the latest run seems fine to me -- just extra reports for plots. I'll push the new version to RunBioSimulations and see if I can replicate it there.
I think this replicates the problems directly with the Docker image.
KISAO_0000086
) can be run from alternate working directory, but CVODE (KISAO_0000019
) cannotThis works (KISAO_0000086
)
docker run -it --rm \
--mount type=bind,source=$(pwd),target=/home/Biosimulators_test_suite \
--workdir /home/Biosimulators_test_suite \
--user 0 \
ghcr.io/virtualcell/biosimulators_vcell:7.4.0.23 \
-i examples/sbml-core/Ciliberto-J-Cell-Biol-2003-morphogenesis-checkpoint-Fehlberg.omex \
-o out
But this does not (KISAO_0000019
)
docker run -it --rm \
--mount type=bind,source=$(pwd),target=/home/Biosimulators_test_suite \
--workdir /home/Biosimulators_test_suite \
--user 0 \
ghcr.io/virtualcell/biosimulators_vcell:7.4.0.23 \
-i examples/sbml-core/Ciliberto-J-Cell-Biol-2003-morphogenesis-checkpoint-continuous.omex \
-o out
As described above, CVODE doesn't work from an alternate working directory. But CVODE does work from the default one, as illustrated below.
docker run -it --rm \
--mount type=bind,source=$(pwd),target=/home/Biosimulators_test_suite \
--user 0 \
ghcr.io/virtualcell/biosimulators_vcell:7.4.0.23 \
-i /home/Biosimulators_test_suite/examples/sbml-core/Ciliberto-J-Cell-Biol-2003-morphogenesis-checkpoint-continuous.omex \
-o /home/Biosimulators_test_suite/out
1000
, rather than 0
)Changing the user to 1000, causes VCell to fail
docker run -it --rm \
--mount type=bind,source=$(pwd),target=/home/Biosimulators_test_suite \
--user 1000 \
ghcr.io/virtualcell/biosimulators_vcell:7.4.0.23 \
-i /home/Biosimulators_test_suite/examples/sbml-core/Ciliberto-J-Cell-Biol-2003-morphogenesis-checkpoint-continuous.omex \
-o /home/Biosimulators_test_suite/out
Note, runBioSimulations doesn't change the working directory. I included that example in case its helpful to tracing the issue.
Because CVODE fails when Fehlberg works, I suspect this has to due to the library needed for CVODE. It seems like a packaging issue, and probably isn't an issue with the VCell Java code issue.
I dunno, it works for me with solver CVODE, with alternate dir, and with non-root user...
See below:
[[[SNIP]]]
Archiving resultant PDF files to plots.zip
.
Archiving resultant CSV files to reports.zip
.
[vcell@vcell-node3 ~ 25] $
[vcell@vcell-node3 ~ 25] $
[vcell@vcell-node3 ~ 25] $ ls -al /tmp/bs/
total 604
drwxr-xr-x 4 vcell root 33 Oct 14 19:02 ?
drwxr-xr-x 4 vcell domain users 264 Oct 14 19:02 .
drwxrwxrwt. 64 root root 4096 Oct 14 19:03 ..
-rw-r--r-- 1 vcell domain users 339796 Oct 14 18:52 Ciliberto-J-Cell-Biol-2003-morphogenesis-checkpoint-continuous.omex
-rw-r--r-- 1 vcell root 7994 Oct 14 19:02 log.json
-rw-r--r-- 1 vcell root 2895 Oct 14 19:02 log.yml
-rw-r--r-- 1 vcell root 43528 Oct 14 19:02 plots.zip
-rw-r--r-- 1 vcell root 108848 Oct 14 19:02 reports.h5
-rw-r--r-- 1 vcell root 67828 Oct 14 19:02 reports.zip
drwxr-xr-x 2 vcell root 192 Oct 14 19:02 simulation_1.sedml
-rw-r--r-- 1 vcell root 374 Oct 14 19:02 stdOut.txt
-rw-r--r-- 1 vcell root 8786 Oct 14 19:02 temp16342525438469308861804289383.tmp
Hmm ... I used Linux. Did you use Windows?
[vcell@vcell-node3 ~ 1] $ cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core)
Is it possible that you have somehow overlayed /usr/local? The difference between RKF and CVODE is that RKF is a Java solver while CVODE is a compiled solver (as are most of other VCell solvers, the Java ones are few and rarely used). All compiled solvers are running as a shell process spawned of by an Executable instance in Java and depend on /usr/local/app inside the container. (btw, shell spawning in itself must be working fine since it is also used to run the python code that does the hdf5 conversion and pdf generation, including for the Java solvers like RKF)
I ran the previously failing simulation with VCell in runBioSimulations. The run succeeded. I guess you fixed the issue.
I ran VCell on my Ubuntu machine exactly as above.
I am a bit confused - I did not change anything, still the same ghcr.io/virtualcell/biosimulators_vcell:7.4.0.23 container out there.
Is it now somehow running OK on both runBioSimulations and your Ubuntu machine or is it still failing on your Ubuntu machine as above if non-root and/or alternate dir?
It didn't work in my machine with Docker. I didn't try on my machine with Singularity.
It seemed to work in RunBioSimulations with Singularity.
Got it.
It is good that it does not create an issue with runBioSimulations.
But I think we eventually have figure out why it works on my Linux machine with Docker but it does not work on your Linux machine with Docker. If a user downloads the image for independent use it looks like it may or not work depending on their environment. This should not be that way, it defeats the purpose of containerization...
I'll keep the issue open.
@bilalshaikh42 could you try my Docker commands above in your linux environment?
Some VCell simulations are failing in RunBioSimulations. See errors below. The reason may because of differences in permissions when the Docker image is converted to Singularity. I also say this because the VCell Docker image has to run as root to succeed, which is odd and not recommended.
Archive: https://run.api.biosimulations.dev/run/615223ccdfce8ba2a94da2c0/download
Archive: https://run.api.biosimulations.dev/run/615223d7fd47f20ea92a9207/download