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:37:31 +0200
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> 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
_______________________________________________
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