kushalkolar / MESmerize

Platform for Calcium Imaging analysis. DEPRECATED.
GNU General Public License v3.0
59 stars 14 forks source link

[BUG] mesmerize sometimes hangs on logfile removal and will not open #55

Closed EricThomson closed 3 years ago

EricThomson commented 3 years ago

Describe the bug After using mesmerize successfully, when I try to start it again, I get the message that it cannot because some old logfiles are being used by another process.

To Reproduce Steps to reproduce the behavior, for example:

  1. Run mesmerize (sometimes a few times)
  2. Start another instances of powershell, and the mesmerize environment, and try to start mesmerize.

Expected behavior Mesmerize should start.

Copy paste message from the error window (if any)

EXCEPTION ENCOUNTERED Traceback (most recent call last): File "c:\users\lab_user\miniconda3\envs\mesmerize\lib\runpy.py", line 193, in _run_module_as_main "main", mod_spec) File "c:\users\lab_user\miniconda3\envs\mesmerize\lib\runpy.py", line 85, in _run_code exec(code, run_globals) File "C:\Users\lab_user\miniconda3\envs\mesmerize\Scripts\mesmerize.exe__main.py", line 7, in sys.exit(main()) File "c:\users\lab_user\miniconda3\envs\mesmerize\lib\site-packages\click\core.py", line 1134, in call return self.main(*args, kwargs) File "c:\users\lab_user\miniconda3\envs\mesmerize\lib\site-packages\click\core.py", line 1059, in main rv = self.invoke(ctx) File "c:\users\lab_user\miniconda3\envs\mesmerize\lib\site-packages\click\core.py", line 1401, in invoke return ctx.invoke(self.callback, ctx.params) File "c:\users\lab_user\miniconda3\envs\mesmerize\lib\site-packages\click\core.py", line 767, in invoke return callback(*args, kwargs) File "c:\users\lab_user\miniconda3\envs\mesmerize\lib\site-packages\mesmerize__main.py", line 132, in main move_old_logfiles(root_logger, log_file_dir) File "c:\users\lab_user\miniconda3\envs\mesmerize\lib\site-packages\mesmerize__main.py", line 75, in move_old_logfiles os.remove(old_logfile) PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\Users\lab_user\.mesmerize\2021-05-25_13.29.41-279226.log' EXCEPTION ENCOUNTERED Traceback (most recent call last): File "c:\users\lab_user\miniconda3\envs\mesmerize\lib\runpy.py", line 193, in _run_module_as_main "main", mod_spec) File "c:\users\lab_user\miniconda3\envs\mesmerize\lib\runpy.py", line 85, in _run_code exec(code, run_globals) File "C:\Users\lab_user\miniconda3\envs\mesmerize\Scripts\mesmerize.exe\main__.py", line 7, in sys.exit(main()) File "c:\users\lab_user\miniconda3\envs\mesmerize\lib\site-packages\click\core.py", line 1134, in call__ return self.main(args, kwargs) File "c:\users\lab_user\miniconda3\envs\mesmerize\lib\site-packages\click\core.py", line 1059, in main rv = self.invoke(ctx) File "c:\users\lab_user\miniconda3\envs\mesmerize\lib\site-packages\click\core.py", line 1401, in invoke return ctx.invoke(self.callback, ctx.params) File "c:\users\lab_user\miniconda3\envs\mesmerize\lib\site-packages\click\core.py", line 767, in invoke return __callback(args, kwargs) File "c:\users\lab_user\miniconda3\envs\mesmerize\lib\site-packages\mesmerize__main.py", line 132, in main move_old_logfiles(root_logger, log_file_dir) File "c:\users\lab_user\miniconda3\envs\mesmerize\lib\site-packages\mesmerize\main__.py", line 75, in move_old_logfiles os.remove(old_logfile) PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\Users\lab_user\.mesmerize\2021-05-25_13.29.41-279226.log'

Copy-paste or take a screenshot of the terminal that Mesmerize is running in image

Operating System & specs (CPU, RAM etc.). Please complete the following information: Windows 10, 128GB Ram

Details about your Mesmerize install mamba for caiman, pip for mesmerize

Additional context This has happened a few times. When I manually delete the log files things work fine.

kushalkolar commented 3 years ago

Thanks, looks like I need to figure out how process file permissions really work in Windows, bypassed moving old logfiles in windows for now.

EricThomson commented 3 years ago

Sorry I'm not more help -- at some point I plan to actually start to read the code I'm currently just working through the pipeline.

kushalkolar commented 3 years ago

No worries, we haven't tested it extensively on Windows, I'm happy to see that you're trying things out.