Opened 5 years ago

Closed 5 years ago

#3725 closed defect (fixed)

config/settings errors if multiple ChimeraXs starting up at once

Reported by: Tristan Croll Owned by: pett
Priority: normal Milestone:
Component: Core Version:
Keywords: Cc: chimera-programmers
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Windows-10-10.0.19041
ChimeraX Version: 1.0 (2020-06-04 23:15:07 UTC)
Description
On startup. No idea what happened here...

Log:
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\safesave.py", line 97, in __exit__  
os.replace(self._tmp_filename, self.name)  
PermissionError: [WinError 32] The process cannot access the file because it
is being used by another process:
'C:\\\Users\\\tic20\\\AppData\\\Local\\\UCSF\\\ChimeraX\\\ModelPanel-1.tmp' ->
'C:\\\Users\\\tic20\\\AppData\\\Local\\\UCSF\\\ChimeraX\\\ModelPanel-1'  
  
During handling of the above exception, another exception occurred:  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\safesave.py", line 105, in __exit__  
os.replace(self._tmp_filename, self.name)  
FileNotFoundError: [WinError 2] The system cannot find the file specified:
'C:\\\Users\\\tic20\\\AppData\\\Local\\\UCSF\\\ChimeraX\\\ModelPanel-1.tmp' ->
'C:\\\Users\\\tic20\\\AppData\\\Local\\\UCSF\\\ChimeraX\\\ModelPanel-1'  
  
During handling of the above exception, another exception occurred:  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\toolshed\info.py", line 531, in start_tool  
ti = api._api_caller.start_tool(api, session, self, tool_info)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\toolshed\\__init__.py", line 1587, in start_tool  
return cls._get_func(api, "start_tool")(session, ti.name)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\model_panel\\__init__.py", line 21, in start_tool  
return model_panel(session, tool_name)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\model_panel\tool.py", line 345, in model_panel  
_mp = ModelPanel(session, tool_name)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\model_panel\tool.py", line 29, in __init__  
now = self.settings.last_use = time()  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\settings.py", line 190, in __setattr__  
ConfigFile.__setattr__(self, name, value)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\configfile.py", line 365, in __setattr__  
ConfigFile.save(self)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\configfile.py", line 315, in save  
self._config.write(f)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\safesave.py", line 109, in __exit__  
os.remove(self._tmp_filename)  
FileNotFoundError: [WinError 2] The system cannot find the file specified:
'C:\\\Users\\\tic20\\\AppData\\\Local\\\UCSF\\\ChimeraX\\\ModelPanel-1.tmp'  
  
During handling of the above exception, another exception occurred:  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\chimerax\core\tools.py",
line 379, in start_tools  
bi.start_tool(session, tool_name)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\toolshed\info.py", line 537, in start_tool  
"start_tool() failed for tool %s in bundle %s:\n%s" % (tool_name, self.name,
str(e)))  
chimerax.core.toolshed.ToolshedError: start_tool() failed for tool Model Panel
in bundle ChimeraX-ModelPanel:  
[WinError 2] The system cannot find the file specified:
'C:\\\Users\\\tic20\\\AppData\\\Local\\\UCSF\\\ChimeraX\\\ModelPanel-1.tmp'  
  
Tool "Model Panel" failed to start:  
chimerax.core.toolshed.ToolshedError: start_tool() failed for tool Model Panel
in bundle ChimeraX-ModelPanel:  
[WinError 2] The system cannot find the file specified:
'C:\\\Users\\\tic20\\\AppData\\\Local\\\UCSF\\\ChimeraX\\\ModelPanel-1.tmp'  
  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\toolshed\info.py", line 537, in start_tool  
"start_tool() failed for tool %s in bundle %s:\n%s" % (tool_name, self.name,
str(e)))  
  
See log for complete Python traceback.  
  
UCSF ChimeraX version: 1.0 (2020-06-04)  
© 2016-2020 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> isolde start

> set selectionWidth 4

Done loading forcefield  




OpenGL version: 3.3.0 NVIDIA 426.00
OpenGL renderer: GeForce GTX 1070/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Manufacturer: ASUSTeK COMPUTER INC.
Model: GL502VS
OS: Microsoft Windows 10 Home (Build 19041)
Memory: 34,292,408,320
MaxProcessMemory: 137,438,953,344
CPU: 8 Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz"
PyQt version: 5.12.3
Compiled Qt version: 5.12.4
Runtime Qt version: 5.12.8

Change History (5)

in reply to:  1 ; comment:1 by Tristan Croll, 5 years ago

Actually, I *do* know what happened: two instances of ChimeraX starting 
up simultaneously (accident, but something that someone *might* want to 
do legitimately at some point).

On 2020-09-16 18:33, ChimeraX wrote:

comment:2 by pett, 5 years ago

Cc: chimera-programmers added
Component: UnassignedCore
Owner: set to Greg Couch
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionconfig/settings errors if multiple ChimeraXs starting up at once

comment:3 by pett, 5 years ago

Maybe embedding the process ID in the temp file name would remedy this?

comment:4 by pett, 5 years ago

Owner: changed from Greg Couch to pett
Status: assignedaccepted

I'm going to run with my idea of embedding the process ID in the temp-file name.

comment:5 by pett, 5 years ago

Resolution: fixed
Status: acceptedclosed

Embedded the PID into the temp file name used by "safe saving" which will hopefully fix this conflict between ChimeraX's running at the same time.

Note: See TracTickets for help on using tickets.