So the users must have somehow either "monkeyed" with the system, or
like you suggested, with our config.
Or there’s a bug in the OS )-:
Or there’s a bug in your code that’s ‘breaking’ AppKit’s state [1].
I presume that you’re not in touch with any of these users?
That is unfortunately true.
Yeah, I thought as much.
I regularly help developers in situations like this. My general advice is that you add code to detect the problem and then specifically prompt the user to trigger a sysdiagnose and then get in touch with you. Depending on your user base, you might want to enable that feature only for your beta testers.
Does this sound like a practical idea … ?
It would certainly be worth a shot. I can’t guarantee that it’ll reliably detect this issue (per the comments at the start of this post) but there’s a good chance it will.
You can also explicitly check for GUI access using SessionGetInfo
to get the sessionHasGraphicAccess
flag.
It might be worthwhile doing both to see if there’s any disparity.
Finally, can you post a full crash report? Your other thread didn’t have that and, now that I’ve dug into this in a bit more detail, I like to take a proper look at one.
See Posting a Crash Report for advice on how to post this.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
[1] For example, you could have code that over-releasing a Mach port name. Most of the time the port name is invalid and so this results in an error that’s then ignore. However, if you manage to hit a port name that’s used by AppKit to talk to CG, you’d see an issue like this. But that’s just a wild theory, not something based on any evidence.
My point here is that problems like this can be really obscure.