Re: DiskArbitration crash after DADiskMountApprovalCallback exits
Re: DiskArbitration crash after DADiskMountApprovalCallback exits
- Subject: Re: DiskArbitration crash after DADiskMountApprovalCallback exits
- From: Jeff Johnson <email@hidden>
- Date: Sat, 2 Dec 2006 08:47:10 -0600
On Dec 1, 2006, at 11:09 PM, stephen joseph butler wrote:
2006/12/1, Jeff Johnson <email@hidden>:
#0 0x90a55387 in objc_msgSend ()
#1 0x0d2358f0 in ?? ()
#2 0x9082205c in __CFDictionaryDeallocate ()
#3 0x9080b1a9 in _CFRelease ()
#4 0x913fc6f2 in _DADiskSetDescription ()
#5 0x913fc0cc in _DADispatchCallback ()
#6 0x913fbc3f in _DASessionCallback ()
[...]
The essence of my DADiskMountApprovalCallback is the following:
CFDictionaryRef description = DADiskCopyDescription(disk);
if (description) {
// Check kDADiskDescriptionVolumeNameKey and
kDADiskDescriptionVolumeUUIDKey for relevant values.
CFRelease(description);
Looking at the backtrace, the error could be coming whlie the
dictionary tries to release its keys/values. Is your code possibly
releasing something it gets from the dictionary when it shouldn't be?
Stephen,
You are correct. I was doing that with the UUID. It was happening in
another function, and I don't do much CF programming anyway, so it
was easy for me to overlook. Sorry! Thanks a lot for the help.
(I still think it's odd, though, that DADiskCopyDescription() doesn't
copy the description.)
-Jeff
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden