Opened 3 years ago

Last modified 3 years ago

#8593 assigned defect

Cannot install bundles

Reported by: bonneau@… 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 Eric Pettersen, 3 years ago

Originally reported in ticket #8575

comment:2 by Greg Couch, 3 years ago

Cc: Tom Goddard Eric Pettersen Zach Pearson 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?

in reply to:  3 ; comment:3 by bonneau@…, 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 Tom Goddard, 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

https://support.apple.com/guide/mac-help/control-access-to-files-and-folders-on-mac-mchld5a35146/mac

We should fix the ChimeraX code so it still functions even if you deny it access to the Desktop.

comment:5 by Tom Goddard, 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.

in reply to:  6 ; comment:6 by bonneau@…, 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.


Note: See TracTickets for help on using tickets.