f2e-spec
f2e-spec copied to clipboard
Folder access under macOS Catalina
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
Have you tried granting full disk access?
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 :(
Not sure if a performous bug or filesystem bug..? @MagicChocoRolls do you have any logfile available so we can see what songpaths it loads?
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
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.
@MagicChocoRolls If you've checked and it's working feel free to close this issue :)
Same problem persists. Here is a screenshot of what I see.

Can you also give us the log files; $HOME/.cache/performous/infolog.txt
@Lord-Kamina does this seem familiar to you?
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?
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
?
On Mac they're under ~Library/Caches/Performous

... 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" ...

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/
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
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.
@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
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+ ;)
https://www.howtogeek.com/443611/how-macos-catalinas-new-security-features-work/
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?
yes, I did. That's what the screenshot above shows.
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?
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.
Is this still an issue with current master?
with #710 the error doesn't pop up anymore. However it doesn't fix why you can't access it