• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: How to track down this memory problem?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to track down this memory problem?


  • Subject: Re: How to track down this memory problem?
  • From: Michael Watson <email@hidden>
  • Date: Sat, 22 Jul 2006 02:41:41 -0400

Without seeing your code, it sounds supiciously like you're over- releasing an object somewhere.

Can you show us the line it crashes on, with the rest of the method around it?


-- Michael Watson

On 22 Jul, 2006, at 02:06, Adam Knight wrote:

I have a very frustrating little bug I'm trying to find, and I'm almost certain it's Apple's and not mine, but I'm trying to make sure.

My program (Notae) uses Cocoa classes to download a web page and render it as an attributed string, for one of its features. This works. However, certain sites cause problems in that when you switch to the note that has that data the program will crash. Reliably. With the same backtrace. In Apple's code.

I've commented all my observing code out, all my major functions, disabled all features, etc. and the bug stands no matter how much I remove. It's reduced sometimes, but never eliminated. The only way to eliminate it is to not display those specific notes (return dummy values from the model). After all I've looked into, it appears an NSColor instance, created by the RTF code, is released early right as the NSText object is performing a setTextColor: with it, and then blammo, it goes down.

I do not have any code that does anything with the data before or during initial presentation, so that's out, too.

So, good readers, any tips on finding this, fixing this, or writing up a really nice bug for Apple?



Addl. Data:

I did a malloc history on the missing instance and came up with the malloc, but not the free:

Call [2] [arg=24]: thread_a000cf60 |0x1 | start | start | main | NSApplicationMain | -[NSApplication run] | -[NSApplication sendEvent:] | -[NSApplication _handleKeyEquivalent:] | -[NSMenu performKeyEquivalent:] | -[NSCarbonMenuImpl performActionWithHighlightingForItemAtIndex:] | -[NSMenu performActionForItemAtIndex:] | -[NSApplication sendAction:to:from:] | -[NoteDocument menuSelectNote:] | - [NSArrayController setSelectionIndexes:] | -[NSArrayController _selectObjectsAtIndexesNoCopy:avoidsEmptySelection:sendObserverNotific ations:forceUpdate:] | -[NSArrayController didChangeValuesForArrangedKeys:objectKeys:indexKeys:] | - [NSController didChangeValueForKey:] | -[NSController _notifyObserversForKeyPath:change:] | -[NSObject (NSKeyValueObservingPrivate) _notifyObserversForKeyPath:change:] | - [NSTextValueBinder _observeValueForKeyPath:ofObject:context:] | - [NSValueBinder _observeValueForKeyPath:ofObject:context:] | - [NSValueBinder _adjustObject:mode:observedController:observedKeyPath:context:editable State:adjustState:] | -[NSValueBinder showValue:inObject:] | - [_NSTextPlugin showValue:inObject:] | -[NSAttributedString (NSAttributedStringKitAdditions) initWithRTFD:documentAttributes:] | -[NSAttributedString(NSAttributedStringKitAdditions) initWithData:options:documentAttributes:error:] | _NSReadAttributedStringFromURLOrData | -[NSRTFReader attributedString] | CharAttr | processColor | +[NSColor colorWithCalibratedRed:green:blue:alpha:] | NSAllocateObject | _internal_class_createInstanceFromZone | malloc_zone_calloc

And the backtrace is always something like:

Exception:  EXC_BAD_ACCESS (0x0001)
Codes:      KERN_INVALID_ADDRESS (0x0001) at 0xdc38a535

Thread 0 Crashed:
0 <<00000000>> 0xfffeff20 objc_msgSend_rtp + 32
1 com.apple.CoreFoundation 0x907cf99c CFDictionarySetValue + 448
2 com.apple.Foundation 0x929134a4 -[NSCFDictionary
setObject:forKey:] + 184
3 com.apple.AppKit 0x9379bb68 -[NSTextView(NSPrivate)
_addToTypingAttributes:value:] + 128
4 com.apple.AppKit 0x937a607c -[NSTextView setTextColor:]
+ 316
5 com.apple.AppKit 0x93baa904 -[_NSTextPlugin
showValue:inObject:] + 372
6 com.apple.AppKit 0x9390598c -[NSValueBinder
showValue:inObject:] + 252
7 com.apple.AppKit 0x93904b30 -[NSValueBinder
_adjustObject:mode:observedController:observedKeyPath:context:editable State:adjustState:]
+ 892
8 com.apple.AppKit 0x9390473c -[NSValueBinder
_observeValueForKeyPath:ofObject:context:] + 264
9 com.apple.AppKit 0x93ba78cc -[NSTextValueBinder
_observeValueForKeyPath:ofObject:context:] + 60
10 com.apple.Foundation 0x929b8d08
-[NSObject(NSKeyValueObservingPrivate) _notifyObserversForKeyPath:change:]
+ 892
11 com.apple.AppKit 0x9392d3b0 -[NSController
_notifyObserversForKeyPath:change:] + 236


Help?
--
Adam Knight
"Every man is guilty of all the good he didn't do."  -- Voltaire



_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40bungie.org


This email sent to email@hidden

_______________________________________________ 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
  • Follow-Ups:
    • Re: How to track down this memory problem?
      • From: Adam Knight <email@hidden>
References: 
 >How to track down this memory problem? (From: Adam Knight <email@hidden>)

  • Prev by Date: Root launched daemons and distributed objects clash?
  • Next by Date: Re: How to track down this memory problem?
  • Previous by thread: How to track down this memory problem?
  • Next by thread: Re: How to track down this memory problem?
  • Index(es):
    • Date
    • Thread