labsyspharm / minerva-author

Tool to create images and configuration files for Minerva-Story
MIT License
15 stars 14 forks source link

start issue #50

Closed YubinXie closed 2 years ago

YubinXie commented 2 years ago

I got following error when i tried to start:

(minerva-author) MSKI2114:minerva-author xiey$ python src/app.py
Traceback (most recent call last):
  File "/Volumes/GoogleDrive/My Drive/GitHub/minerva-author/src/app.py", line 39, in <module>
    import ome_types
  File "/Users/xiey/miniconda3/envs/minerva-author/lib/python3.10/site-packages/ome_types/__init__.py", line 12, in <module>
    from .model import OME
  File "/Users/xiey/miniconda3/envs/minerva-author/lib/python3.10/site-packages/ome_types/model/__init__.py", line 1, in <module>
    from .affine_transform import AffineTransform
  File "/Users/xiey/miniconda3/envs/minerva-author/lib/python3.10/site-packages/ome_types/model/affine_transform.py", line 1, in <module>
    from ome_types.dataclasses import ome_dataclass
  File "/Users/xiey/miniconda3/envs/minerva-author/lib/python3.10/site-packages/ome_types/dataclasses.py", line 11, in <module>
    from pydantic.dataclasses import _process_class
ImportError: cannot import name '_process_class' from 'pydantic.dataclasses' (/Users/xiey/miniconda3/envs/minerva-author/lib/python3.10/site-packages/pydantic/dataclasses.cpython-310-darwin.so)
jmuhlich commented 2 years ago

It looks like you're on a Mac, is that right? Did you use the latest instructions for creating the conda environment, updated on August 23? You could also try the pre-built Mac release at https://github.com/labsyspharm/minerva-author/releases .

YubinXie commented 2 years ago

Hi @jmuhlich

Thanks for your reply. Yeah, the pre-built Mac release works! Tho something is weird. It eats up all the hardware storage on my computer (600GB) and then triggers crash of my Mac. Do you have any thoughts on this? Thanks.

jil24 commented 2 years ago

I am also having a lot of disk thrashing which eventually fills the entire file system; the program is idle when this is happening. It’s actually about 1-2 gb/minute which is pretty alarming.

thejohnhoffer commented 2 years ago

I will see if I can reproduce this issue on my MacOS. Do you have any information on the nature of the files that are generated?

jil24 commented 2 years ago

The console reports a bunch of warnings about a constantly changing set of temporary directories. Example:

[28310] WARNING: file already exists but should not: /var/folders/8v/5lyn4dwx3wz_cwy2tkp9h89m0000gn/T/_MEIQyMzMQ/lib-dynload/zlib.cpython-310-darwin.so
[28600] WARNING: file already exists but should not: /var/folders/8v/5lyn4dwx3wz_cwy2tkp9h89m0000gn/T/_MEIU6u8h2/lib-dynload/_asyncio.cpython-310-darwin.so

Looking in that area, the files seem to be python scripts, compiled pyc files, and copies of shared libraries. More copies of this are created every 10 seconds or so.

thejohnhoffer commented 2 years ago

@YubinXie Your initial issue running python src/app.py is fixed on master.

I got following error when i tried to start:

(minerva-author) MSKI2114:minerva-author xiey$ python src/app.py ...

If you pull from master, the python src/app.py command runs the app as expected. I have tested this on my MacOS v12.6.

thejohnhoffer commented 2 years ago

As for the major executable issue seen by @YubinXie and @jil24, I've discovered the root cause and will be releasing a fully patched release as soon as possible. The latest release has merely been remediated to write these errant temporary files much less frequently.

The root issue stems from our python packaging dependency leading to incorrect handling of multiprocessing.

Edit: for now I recommend running from source as described in the README. The only reliable way I have found to safely clear needless data in /var/folders is to restart your computer.

thejohnhoffer commented 2 years ago

The latest v1.11.1 release resolves both issues in this thread. The suite of WARNING: file already exists but should not messages will still appear, but only on initialization of the app. 700 MiB will be written to /var/folders as required by the app, but no further data will be written to that directory.