Volume sandboxing error


#1

Hi Guys,

I get the following stack trace at a user:

Sandbox: UVIWorkstation(801) System Policy: deny(13) file-read-metadata /Volumes/Backups
Violation:       System Policy: deny(13) file-read-metadata /Volumes/Backups 
Process:         UVIWorkstation [801]
Path:            /Applications/UVIWorkstation.app/Contents/MacOS/UVIWorkstation
Load Address:    0x101981000
Identifier:      com.uvisoundsource.UVIWorkstationSA
Version:         3.0.0 (3.0.0)
Code Type:       x86_64 (Native)
Parent Process:  launchd [1]
Responsible:     /Applications/UVIWorkstation.app/Contents/MacOS/UVIWorkstation [801]
User ID:         501

Date/Time:       2018-06-15 10:33:53.422 GMT+1
OS Version:      Mac OS X 10.13.5 (17F77)
Report Version:  8

MetaData: {"errno":13,"operation":"file-read-metadata","normalized_target":["Volumes","Backups"],"build":"Mac OS X 10.13.5 (17F77)","profile-flags":0,"summary":"deny(13) file-read-metadata \/Volumes\/Backups","signing-id":"com.uvisoundsource.UVIWorkstationSA","platform-binary":false,"target":"\/Volumes\/Backups","platform_binary":"no","pid":801,"process":"UVIWorkstation","primary-filter":"path","primary-filter-value":"\/Volumes\/Backups","action":"deny","hardware":"Mac","uid":501,"path":"\/Volumes\/Backups","flags":5,"process-path":"\/Applications\/UVIWorkstation.app\/Contents\/MacOS\/UVIWorkstation","profile":"platform","platform-policy":true}

    Thread 0 (id: 20376, JUCE Message Thread):
    0   libsystem_kernel.dylib        	0x00007fff6e3de256 __getattrlist + 10
    1   CoreServicesInternal          	0x00007fff59ee8caa ftsattr_read + 1874
    2   CoreServicesInternal          	0x00007fff59ee84c5 _GetDirectoryURLs(_CFURLEnumerator*) + 1508
    3   CoreServicesInternal          	0x00007fff59ee5e50 _URLEnumeratorGetNextURL + 171
    4   Foundation                    	0x00007fff486aaa64 _NSDirectoryContentsFromCFURLEnumeratorError + 466
    5   Foundation                    	0x00007fff485a2e7c -[NSFileManager contentsOfDirectoryAtPath:error:] + 36
    6   Foundation                    	0x00007fff485a2db8 +[NSAllDescendantPathsEnumerator newWithPath:prepend:attributes:cross:depth:] + 101
    7   Foundation                    	0x00007fff485a2a1a -[NSFileManager enumeratorAtPath:] + 90
    8   UVIWorkstation                	0x0000000101e2bf58 juce::DirectoryIterator::NativeIterator::Pimpl::Pimpl(juce::File const&, juce::String const&) + 136
    9   UVIWorkstation                	0x0000000101def1a5 juce::DirectoryIterator::DirectoryIterator(juce::File const&, bool, juce::String const&, int) + 133
    10  UVIWorkstation                	0x0000000101df58de juce::File::findChildFiles(juce::Array<juce::File, juce::DummyCriticalSection, 0>&, int, bool, juce::String const&) const + 46
    11  UVIWorkstation                	0x0000000101b14dc3 uvi::VFS::MountNativeVolumes() + 195

and I do the following

 juce::Array<juce::File> volumes;
    juce::File vol ("/Volumes");
    vol.findChildFiles (volumes, juce::File::findDirectories, false);

Should the juce code maybe handle that kind of error and move to the next directory in its results ?

Please note that my App is not a sandboxed one from the App Store so I don’t know where this sandboxing comes from in addition

Thanks !


#2

Something like that ?


#3

@fabian ?


#4

@jules ?


#5

Don’t really know… this isn’t something I’ve ever tried to detect. Maybe someone else can offer a suggestion?