+[NSEvent addGlobalMonitorForEventsMatchingMask:handler:] leaks
| Originator: | SelfTransformingElfMachine | ||
| Number: | rdar://10608218 | Date Originated: | 20-Dec-2011 10:53 AM |
| Status: | Closed | Resolved: | 10.7.3 (build 11D50) |
| Product: | Mac OS X | Product Version: | 10.7.2 |
| Classification: | Performance | Reproducible: | Always |
20-Dec-2011 10:53 AM Kevin Ross: 'addGlobalMonitorForEventsMatchingMask Bug.zip' was successfully uploaded 20-Dec-2011 10:53 AM Kevin Ross: Summary: +[NSEvent addGlobalMonitorForEventsMatchingMask:handler:] leaks events when profiling using Instruments. Steps to Reproduce: 1. Create test project… 2. Add global event monitor. 3. Profile using instruments "Leaks". 4. Click around and wait for Instruments to report leaks. Expected Results: No memory leaks. Actual Results: Multiple instances of NSEvent are leaked at 160 bytes per leak. //---------------------------------------------------------------------------------// // Leaks Details Responsible Library: AppKit Responsible Frame: +[NSEvent _eventWithEventRefInternal:] Stack Trace: 0 libsystem_c.dylib calloc 1 libobjc.A.dylib class_createInstance 2 CoreFoundation +[NSObject allocWithZone:] 3 AppKit +[NSEvent _eventWithEventRefInternal:] 4 AppKit GlobalObserverHandler 5 HIToolbox _ZL23DispatchEventToHandlersP14EventTargetRecP14OpaqueEventRefP14HandlerCallRec 6 HIToolbox _ZL30SendEventToEventTargetInternalP14OpaqueEventRefP20OpaqueEventTargetRefP14HandlerCallRec 7 HIToolbox SendEventToEventTargetWithOptions 8 HIToolbox HIObject::HandleEvent(OpaqueEventHandlerCallRef*, OpaqueEventRef*) 9 HIToolbox HIObject::EventHook(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*) 10 HIToolbox _ZL23DispatchEventToHandlersP14EventTargetRecP14OpaqueEventRefP14HandlerCallRec 11 HIToolbox _ZL30SendEventToEventTargetInternalP14OpaqueEventRefP20OpaqueEventTargetRefP14HandlerCallRec 12 HIToolbox SendEventToEventTargetWithOptions 13 HIToolbox _ZL29ToolboxEventDispatcherHandlerP25OpaqueEventHandlerCallRefP14OpaqueEventRefPv 14 HIToolbox _ZL23DispatchEventToHandlersP14EventTargetRecP14OpaqueEventRefP14HandlerCallRec 15 HIToolbox _ZL30SendEventToEventTargetInternalP14OpaqueEventRefP20OpaqueEventTargetRefP14HandlerCallRec 16 HIToolbox SendEventToEventTarget 17 AppKit _DPSNextEvent 18 AppKit -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] 19 AppKit -[NSApplication run] 20 AppKit NSApplicationMain 21 EventMonitorTest start //---------------------------------------------------------------------------------// Regression: It looks like the bug is fixed in the latest 10.7.3 seed. Does not appear to affect systems < 10.7 Notes:
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!