Opened 3 years ago
Last modified 3 years ago
#8593 assigned defect
Cannot install bundles
| Reported by: | Owned by: | Greg Couch | |
|---|---|---|---|
| Priority: | moderate | Milestone: | |
| Component: | Tool Shed | Version: | |
| Keywords: | Cc: | Tom Goddard, Eric Pettersen, Zach Pearson | |
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
Just to let you know, in case this ends up being useful info for you, I am somehow not able install bundles on ChimeraX 1.5 running on an old MacOS version (Catalina). I suspect that this is due to a sandboxing issue but I have not been able to fix it. Since this concerns an out of support OS, I did not want to file a bug report: you guys probably have enough to deal with.
Cheers,
Fabien.
Change History (6)
comment:1 by , 3 years ago
comment:2 by , 3 years ago
| Cc: | added |
|---|
Catalina is 10.15 and we claim to support 10.14 and later. Bundles are installed in your home directory, ~/Library/Application Support/ChimeraX/..., so there should be no permission issues. What is the error message you're seeing?
follow-up: 3 comment:3 by , 3 years ago
Hi,
Thanks for looking into this !
Here is the trace:
------------------------------------------------------------
ERROR:
Traceback (most recent call last):
File
"/Applications/ChimeraX-1.5.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/runpy.py",
line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File
"/Applications/ChimeraX-1.5.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/runpy.py",
line 87, in _run_code
exec(code, run_globals)
File
"/Applications/ChimeraX-1.5.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/core/__main__.py", line 1035, in
exit_code = init(sys.argv)
File
"/Applications/ChimeraX-1.5.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/core/__main__.py", line 796, in init
runpy.run_module(opts.module, init_globals=global_dict,
File
"/Applications/ChimeraX-1.5.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/runpy.py",
line 210, in run_module
return _run_module_code(code, init_globals, run_name, mod_spec)
File
"/Applications/ChimeraX-1.5.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/runpy.py",
line 97, in _run_module_code
_run_code(code, mod_globals, init_globals,
File
"/Applications/ChimeraX-1.5.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/runpy.py",
line 87, in _run_code
exec(code, run_globals)
File
"/Applications/ChimeraX-1.5.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/pip/__main__.py", line 9, in
if sys.path[0] in ("", os.getcwd()):
FileNotFoundError: [Errno 2] No such file or directory
------------------------------------------------------------
I had a look at the system log while attempting the install: within the stream of messages, 2 caught my attention:
From the Dock process:
unable to create an ECDirectoryFile for ChimeraX_XMAS-1.1.2-py3-none-any.whl.download in <ECDirectory: 0x6000000f8e70> {path=/Users/bonneau/Downloads/} during a file changed event
--> I have a Download directory alias in the Dock. But it does not seem that this error is preventing download since I have a 5.3 MB ChimeraX_XMAS-1.1.2-py3-none-any.whl file in the Download directory.
From the kernel:
Sandbox: ChimeraX(1102) System Policy: deny(1) file-read-data /Users/bonneau/Desktop
--> pwd gives:
Current working directory is: /Users/bonneau/Desktop
Let me know if you need more info !
Cheers,
Fabien.
comment:4 by , 3 years ago
The error is on a Mac and is saying ChimeraX does not have permission to access your Desktop folder. macOS asks you for each application whether to allow it to access Desktop, Downloads, Documents. And apparently it is set to not allow ChimeraX access on your computer. ChimeraX starts in the ~/Desktop folder so if you don't allow it you get these errors. The reason it starts in the Desktop folder is so if you save a file without using a full path (e.g "save myfile.pdb" it appears on the Desktop.
The Mac setting to allow ChimeraX access to the Desktop is in Mac system settings as described here
We should fix the ChimeraX code so it still functions even if you deny it access to the Desktop.
comment:5 by , 3 years ago
One more detail, for Greg, if you look at how to make Toolshed work when Desktop access is denied. Strangely macOS allows ChimeraX to chdir to ~/Desktop even though permission to read it is denied. But then any use of os.getcwd() fails with a permission denied error. I think that is what is happening in this bug report. We've seen several other bug reports like this. ChimeraX is running in a directory it does not have read access on, and strangely the Python getcwd() call fails in that case.
follow-up: 6 comment:6 by , 3 years ago
Hi, I can confirm that enabling Desktop access to ChimeraX in the Privacy Settings fixes the issue. Thanks a lot for your help ! Cheers, Fabien.
Originally reported in ticket #8575