> On 22 May 2017, at 22:24, Greg Parker <[email protected]> wrote: > > >> On May 22, 2017, at 8:52 AM, Jonathan Mitchell <[email protected] >> <mailto:[email protected]>> wrote: >> >> Context leak detected, msgtracer returned -1 >> > > The context is an IOAccelContext, which itself is deep in the graphics > machinery. The log complains once for every 512 objects allocated. Try > setting a breakpoint on IOAccelLogContextLeak or fprintf. > > You should also file a bug report that this log is too vague. > > > -- > Greg Parker [email protected] <mailto:[email protected]> Runtime > Wrangler > Thanks for that.
I can now see that an observation is triggering a button redraw. I am processing a collection at this stage so the button redraw code is probably getting hammered. This is in a tight loop and [NSView displayIfNeeded] is called repeatedly. Removing this display update request silences the warning. #0 0x00007fff8967b5c4 in IOAccelLogContextLeak () #1 0x00007fff8967c75d in IOAccelCommandQueueCreateWithQoS () #2 0x00007fff7e1de805 in -[MTLIOAccelCommandQueue initWithDevice:descriptor:] () #3 0x00007fff7b4f4d45 in CIMetalCommandQueueCreate () #4 0x00007fff7b4e621c in CI::MetalContext::init(void const*) () #5 0x00007fff7b3e332f in +[CIContext(Internal) internalContextWithMTLDevice:options:] () #6 0x00007fff7b3ddcd8 in -[CIContext initWithOptions:] () #7 0x00007fff7b3dd9f2 in +[CIContext contextWithOptions:] () #8 0x00007fff788b96e9 in -[NSCIImageRep CGImageForProposedRect:context:hints:] () #9 0x00007fff785879ff in -[NSImage _newSnapshotRepForRep:rect:context:processedHints:] () #10 0x00007fff785542c2 in -[NSImage _snapshotRepForRep:rect:context:processedHints:] () #11 0x00007fff78a0fcdb in __71-[NSImage drawInRect:fromRect:operation:fraction:respectFlipped:hints:]_block_invoke.1352 () #12 0x00007fff78553543 in -[NSImage _usingBestRepresentationForRect:context:hints:body:] () #13 0x00007fff785907e8 in -[NSImage drawInRect:fromRect:operation:fraction:respectFlipped:hints:] () #14 0x00007fff78587480 in -[NSImage _drawMappingAlignmentRectToRect:withState:backgroundStyle:operation:fraction:flip:hints:] () #15 0x00007fff78586d93 in -[NSButtonCell drawImage:withFrame:inView:] () #16 0x00000001004efc7f in -[BPTimelineButtonCell drawImage:withFrame:inView:] at BPTimelineButtonCell.m:77 #17 0x00007fff78586650 in -[NSButtonCell _configureAndDrawImageWithRect:cellFrame:controlView:] () #18 0x00007fff78586285 in -[NSButtonCell drawInteriorWithFrame:inView:] () #19 0x00000001004ef525 in -[BPTimelineButtonCell drawInteriorWithFrame:inView:] at BPTimelineButtonCell.m:28 #20 0x00007fff7858531a in -[NSButtonCell drawWithFrame:inView:] () #21 0x00000001004ef42c in -[BPTimelineButtonCell drawWithFrame:inView:] at BPTimelineButtonCell.m:19 #22 0x00007fff785850d1 in -[NSControl drawRect:] () #23 0x00007fff7857cf99 in -[NSView _drawRect:clip:] () #24 0x00007fff785ccf2f in -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] () #25 0x00007fff785cd39a in -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] () #26 0x00007fff785cd39a in -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] () #27 0x00007fff785cd39a in -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] () #28 0x00007fff785cd39a in -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] () #29 0x00007fff785cd39a in -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] () #30 0x00007fff785cd39a in -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] () #31 0x00007fff785cd39a in -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] () #32 0x00007fff7857aad2 in -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] () #33 0x00007fff785786d8 in -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] () #34 0x00007fff78573fca in -[NSView displayIfNeeded] () #35 0x00000001001eb5be in -[BPTimelineButton setButtonHighlight:] at BPTimelineButton.m:211 #36 0x00000001001eb227 in -[BPTimelineButton highlightForOffState] at BPTimelineButton.m:134 #37 0x00000001001eb197 in -[BPTimelineButton stateDidChange] at BPTimelineButton.m:123 #38 0x00000001001eb29e in -[BPTimelineButton setEnabled:] at BPTimelineButton.m:147 #39 0x000000010005011d in -[BPPayslipTimelineButton setButtonStatus:] at BPPayslipTimelineButton.m:145 #40 0x0000000100051104 in -[BPPayslipTimelineButton observeValueForKeyPath:ofObject:change:context:] at BPPayslipTimelineButton.m:277 _______________________________________________ Cocoa-dev mailing list ([email protected]) 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: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [email protected]
