• 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: Closing window on Yosemite crashes (isFlipped)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Closing window on Yosemite crashes (isFlipped)


  • Subject: Re: Closing window on Yosemite crashes (isFlipped)
  • From: Fritz Anderson <email@hidden>
  • Date: Thu, 30 Oct 2014 11:26:19 -0500

I haven’t encountered this myself. This is stream-of-consciousness, adding the presence of convertRect:toView: in the trace as the immediate caller…

…

The classic cause of a message arriving at the wrong object is that the expected object had been deallocated and its address recycled for the object that eventually got the bad call. The bad call comes of the calling object’s keeping an orphan pointer to the original.

I’d think ARC would make that very rare, but maybe not impossible, especially if the orphan pointer were unsafe_unretained. It’s too bad you don’t have a reproducible case; if there were one, I’d use the Allocations and Leaks instruments, with Allocations set to record the complete malloc/retain/release/free life cycles.

…

It’s worse in that if it is an orphan pointer, it smells as if it was kept in the view hierarchy of a framework-managed object.

…

I wonder if _NSThemeCloseWidget is an NSCell; a cell wouldn’t implement any of those messages, assuming the subclass doesn’t add them. From the selectors you mention (plus the caller being inside convertRect:**toView:**), the caller seems to expect an NSView.

	— F

> On 30 Oct 2014, at 9:59 AM, Allan Odgaard <email@hidden> wrote:
>
> Since Yosemite I have seen a lot of crash reports submitted where the crash is triggered by closing a window and it mostly ends with sending `isFlipped`, `_isLayerBacked`, or `transformRect:` to a wrong object.


> 	Application Specific Information:
> 	objc_msgSend() selector name: isFlipped
> 	Performing @selector(_close:) from sender _NSThemeCloseWidget 0x61000019c560
>
> 	Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
> 	0   libobjc.A.dylib          0x00007fff897530dd objc_msgSend + 29
> 	1   com.apple.AppKit         0x00007fff8afb7d79 -[NSView convertRect:toView:] + 212
> 	2   com.apple.AppKit         0x00007fff8b094b0e -[NSView(NSInternal) _updateLayerTreeRenderer] + 935
> 	3   com.apple.AppKit         0x00007fff8b1c1548 -[NSView(NSInternal) _pauseLayerTreeRenderer] + 144
> 	4   com.apple.CoreFoundation 0x00007fff830bacbc __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12
> 	5   com.apple.CoreFoundation 0x00007fff82fac1b4 _CFXNotificationPost + 3140
> 	6   com.apple.Foundation     0x00007fff903acea1 -[NSNotificationCenter postNotificationName:object:userInfo:] + 66
> 	7   com.apple.AppKit         0x00007fff8b0c70f4 -[NSWindow _reallyDoOrderWindow:relativeTo:findKey:forCounter:force:isModal:] + 4151
> 	8   com.apple.AppKit         0x00007fff8b0c5e17 -[NSWindow _doOrderWindow:relativeTo:findKey:forCounter:force:isModal:] + 829
> 	9   com.apple.AppKit         0x00007fff8b0c5a6b -[NSWindow orderWindow:relativeTo:] + 159
> 	10  com.apple.AppKit         0x00007fff8b1bf587 __18-[NSWindow _close]_block_invoke + 444
> 	11  com.apple.AppKit         0x00007fff8b1bf395 -[NSWindow _close] + 363
> 	12  com.apple.AppKit         0x00007fff8b1bf145 -[NSWindow __close] + 312
> 	13  libsystem_trace.dylib    0x00007fff8fc41cd7 _os_activity_initiate + 75
> 	14  com.apple.AppKit         0x00007fff8b1765e7 -[NSApplication sendAction:to:from:] + 410
> 	15  com.apple.AppKit         0x00007fff8b176410 -[NSControl sendAction:to:] + 86
> 	16  com.apple.AppKit         0x00007fff8b34adaf __26-[NSCell _sendActionFrom:]_block_invoke + 131
> 	17  libsystem_trace.dylib    0x00007fff8fc41cd7 _os_activity_initiate + 75
> 	18  com.apple.AppKit         0x00007fff8b1bef2c -[NSCell _sendActionFrom:] + 144
> 	19  com.apple.AppKit         0x00007fff8b331ab2 -[NSButtonCell _sendActionFrom:] + 39
> 	20  libsystem_trace.dylib    0x00007fff8fc41cd7

...


_______________________________________________

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


References: 
 >Closing window on Yosemite crashes (isFlipped) (From: Allan Odgaard <email@hidden>)

  • Prev by Date: [MEET] Toronto CocoaHeads / tacow - November 12
  • Next by Date: Re: NSSplitView divider tracking-area
  • Previous by thread: Closing window on Yosemite crashes (isFlipped)
  • Next by thread: NSSplitView divider tracking-area
  • Index(es):
    • Date
    • Thread