f2e-spec icon indicating copy to clipboard operation
f2e-spec copied to clipboard

Folder access under macOS Catalina

Open MagicChocoRolls opened this issue 5 years ago • 24 comments

Hi guys,

Catalina unfortunately broke my Performous setup :frowning: All my songs are on an external drive, which I can not access anymore with Catalinas new security and privacy feature. I have already tried to give Performous full access, but can not access my external drive :(

When I tried to navigate within the path options menu, the following error occurs: "Operation not permitted: /Volumes/external"

Regards, ChocoRolls

MagicChocoRolls avatar Dec 15 '19 17:12 MagicChocoRolls

Have you tried granting full disk access?

Lord-Kamina avatar Dec 15 '19 17:12 Lord-Kamina

Hi guys, ... I have already tried to give Performous full access, but can not access my external drive :( ...

Yes, I did ;) Didn't change anything :(

MagicChocoRolls avatar Dec 15 '19 17:12 MagicChocoRolls

Not sure if a performous bug or filesystem bug..? @MagicChocoRolls do you have any logfile available so we can see what songpaths it loads?

Baklap4 avatar Apr 07 '20 21:04 Baklap4

It has been a while now, I have no logs anymore. Let me check that today and get back to you.

I would still assume this is related to the Catalina security feature where the app has to request access to folders on the disc or the microphone, ... .

I also found out that everything works fine when starting performous from the Terminal. Of course, the Terminal then requests file system access and I have to approve it.

Regards ChocoRolls

MagicChocoRolls avatar Apr 08 '20 06:04 MagicChocoRolls

I've had that security issue on Catalina with some apps not being able to access even my home directory, and the file&folder security setting stays greyed out even after unlocking with admin password (all security prefs other than files do unlock correctly), so I cannot grant them permissions either.

Tronic avatar Apr 08 '20 06:04 Tronic

@MagicChocoRolls If you've checked and it's working feel free to close this issue :)

Baklap4 avatar Apr 09 '20 18:04 Baklap4

Same problem persists. Here is a screenshot of what I see.

image

MagicChocoRolls avatar Apr 09 '20 18:04 MagicChocoRolls

Can you also give us the log files; $HOME/.cache/performous/infolog.txt

Baklap4 avatar Apr 09 '20 18:04 Baklap4

@Lord-Kamina does this seem familiar to you?

Baklap4 avatar Apr 09 '20 18:04 Baklap4

Can you also give us the log files; $HOME/.cache/performous/infolog.txt

This file does not exist. Do I have to enable that separately?

MagicChocoRolls avatar Apr 09 '20 18:04 MagicChocoRolls

Hmm mac probably has a different path.. if you start performous from the terminal it says something like 'writing to logfile at location' try that location. Also can you share us the 'Sharing & Permissions' section of /Volumes/external ?

image image

Baklap4 avatar Apr 09 '20 18:04 Baklap4

On Mac they're under ~Library/Caches/Performous

Lord-Kamina avatar Apr 09 '20 18:04 Lord-Kamina

image

... songs/error: Error accessing "/Volumes/external/UltraStar Deluxe/Songs/": boost::filesystem::directory_iterator::construct: Operation not permitted: "/Volumes/external/UltraStar Deluxe/Songs/" songs/info: >>> Scanning "/" songs/error: Error accessing "/home": boost::filesystem::directory_iterator::construct: Operation not permitted: "/home" ...

image

Don't want to paste the whole file here. Looking for something specific? ...Songs in local Music folder work fine

/Users/rene/Music/UltraStar Deluxe/Songs/

MagicChocoRolls avatar Apr 09 '20 19:04 MagicChocoRolls

Is performous run as a user or as a system user when starting? seems an issue with as 'who' you run it. If it runs for your user (as it would in the terminal) you have no problem. If it runs as another user you have a problem since that user probably doesn't have access to that specific folder

Baklap4 avatar Apr 09 '20 19:04 Baklap4

I would assume since I am the one starting the app, it will run under my user. It can even access my users Music folder, so at least that should be fine. Everything else somehow is forbidden, which is a "security feature" of macOS Catalina. That's why starting Performous from terminal works fine...I gave the terminal full access for testing...and terminal acts as a wrapper around Performous.

MagicChocoRolls avatar Apr 09 '20 19:04 MagicChocoRolls

@Lord-Kamina you're having more experience with osx to me it doesn't seem like it's a performous' problem but a system configuration problem regarding permissions on the osx platform

Performous needs write access to the cache folder; ~Library/Caches/Performous Performous also needs read access to the config folder; ~Library/Config/Performous ? @Lord-Kamina please correct me if i'm wrong Performous also needs read access to the song folder(s)

If you want to start performous with the webserver on port 80 you'll need root access since everything in the portrange 1-1024 i believe is reserverd for system users

Baklap4 avatar Apr 09 '20 19:04 Baklap4

In my opinion, Performous should just use the interface of that Catalina Security Feature and ask the user for access to the specific folder.

Regarding ports, this is of course true. that's why I use a port 1024+ ;)

MagicChocoRolls avatar Apr 09 '20 19:04 MagicChocoRolls

https://www.howtogeek.com/443611/how-macos-catalinas-new-security-features-work/

MagicChocoRolls avatar Apr 09 '20 19:04 MagicChocoRolls

Performous runs as a user. I think something similar has been reported by other people who have upgraded to Catalina; which I haven't done yet.

The cache is inside the user folder (~ is equivalent to $HOME) but the external disk evidently isn't. Have you tried giving Performous itself full disk access?

Lord-Kamina avatar Apr 09 '20 19:04 Lord-Kamina

yes, I did. That's what the screenshot above shows.

MagicChocoRolls avatar Apr 09 '20 19:04 MagicChocoRolls

yes, I did. That's what the screenshot above shows.

Is it possible to add an absolute path? If so, could you try adding the executables inside the performous bundle?

Lord-Kamina avatar Apr 09 '20 20:04 Lord-Kamina

It's not, at least in the GUI. Haven't checked how the CLI would work or if there even is a CLI for this.

I got another idea that might be the cause. I am still using the last release version - or at least something close to the last one. I once compiled it myself when the webserver was integrated and working properly. Nevertheless, I still have the "last release" as a backup version handy. Both show the same behaviour.

I did not try with a more recent build. During the time, the setup routine for the compilers and dependencies changed and my old compiler setup does not work anymore. Since I am not a developer and do not need those tools installed on my machine, I cleaned everything up.

MagicChocoRolls avatar Apr 10 '20 07:04 MagicChocoRolls

Is this still an issue with current master?

Baklap4 avatar Aug 15 '21 19:08 Baklap4

with #710 the error doesn't pop up anymore. However it doesn't fix why you can't access it

Baklap4 avatar Apr 04 '22 11:04 Baklap4