Re: EXC_BAD_INSTRUCTION when enumerating /.DocumentRevisions-V100/
Re: EXC_BAD_INSTRUCTION when enumerating /.DocumentRevisions-V100/
- Subject: Re: EXC_BAD_INSTRUCTION when enumerating /.DocumentRevisions-V100/
- From: Jean Suisse <email@hidden>
- Date: Sat, 22 Oct 2016 20:42:41 +0200
To add a little more information: it happens when encountering any directory that the user can’t read.
My app should get an access denied error (the enumerator should be nil for instance). It shouldn’t crash.
> On 22 Oct 2016, at 20:37, Jean Suisse <email@hidden> wrote:
>
> Well, I was afraid of that.
> Unfortunately, below is the smallest sample of code possible… still crashes. Looks like I may have to check the directory rights before even attempting to enumerate it.
> Expected result in the present case is: “the while loop doesn’t run because the directory isn’t accessible to the current user”.
>
>
> let directoryURL = URL(fileURLWithPath: "/.DocumentRevisions-V100/")
> let manager = FileManager.default
>
> let keys = [URLResourceKey.nameKey, URLResourceKey.isDirectoryKey]
>
> let enumerator = manager.enumerator(at: directoryURL, includingPropertiesForKeys: keys, options: [.skipsSubdirectoryDescendants])
> {
> url, error -> Bool in
> return true
> }
>
> // this will
> while let file = enumerator?.nextObject() as? URL
> {
> // ...
> }
>
>
>
>> On 22 Oct 2016, at 20:32, Jens Alfke <email@hidden <mailto:email@hidden>> wrote:
>>
>> Smells like an OS bug, or a bug in the ObjC-to-Swift bindings. Try to build a minimal test to reproduce it, i.e. narrow down which of the URLResourceKeys triggers the crash, and which specific file being returned by the enumerator. Then see what if anything is unusual about that file. Then probably file a bug report with Apple…
>>
>> As for working around it, perhaps the resource key causing the crash is one you don’t need and can omit? (It’s hard to imagine needing all of those attributes…)
>>
>> —Jens
>
-----------
Jean Suisse
Institut de Chimie Moléculaire de l’Université de Bourgogne
(ICMUB) — UMR 6302
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden