Re: Are there any NSUserDefaults keys which aren't valid?
Re: Are there any NSUserDefaults keys which aren't valid?
- Subject: Re: Are there any NSUserDefaults keys which aren't valid?
- From: John Stiles <email@hidden>
- Date: Thu, 26 Jan 2006 11:20:32 -0800
On Jan 26, 2006, at 11:18 AM, Jonathan del Strother wrote:
On 26 Jan 2006, at 18:49, j o a r wrote:
On 26 jan 2006, at 18.57, Jonathan del Strother wrote:
For me, this works fine, but I'm seeing a bunch of crash reports
from users, looking like the following :
Thread 1 Crashed:
0 com.apple.CoreFoundation 0x90740ba4 CFRetain + 60
1 com.apple.CoreFoundation 0x90751fa4
CFDictionarySetValue + 448
2 com.apple.CoreFoundation 0x9078f32c writeXMLValue + 272
3 com.apple.CoreFoundation 0x9079cd98
_CFApplicationPreferencesSet + 212
4 com.apple.Foundation 0x928f2fa0 -[NSUserDefaults
setObject:forKey:] + 108
<snip>
Any thoughts? Sorry for the vague question...
Have you investigated the potential problem with access from non-
main threads that were mentioned when you last asked this question?
What version of Mac OS X are your users using when they crash? Can
you move this to the main thread?
I did try @synchronizing all NSUserDefaults access, but still get
the same problem. All of the crashes with this problem have been
submitted anonymously, so I don't have anyone to try specific fixes
out on, but I guess I could try setting this on the main thread &
see if it makes a difference. All of these are occurring on 10.4.4
I did notice a comment in the archives about some potential issues
with NSUserDefaults and NSDates - anyone know if anything came of
this? (http://lists.apple.com/archives/Cocoa-dev/2004/Aug/
msg00087.html)
@synchronized may not be a sufficient workaround. When the AppKit
docs say that something isn't thread-safe, you are required to run it
on the main thread. Violate that contract and you are in "unspecified
behavior" territory.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden