UITabBarController leaks a _UIIdleModeLayoutAttributes when setting the viewControllers property

Originator:guillaume.algis
Number:rdar://23274099 Date Originated:27-Oct-2015 12:32 PM
Status:Open Resolved:
Product:iOS SDK Product Version:iOS 9.1
Classification:Other Bug Reproducible:Always
 
Summary:
When setting the UITabBarController property multiple times, UIKit will leak an instance of the private class _UIIdleModeLayoutAttributes.

Steps to Reproduce:
1. Open the attached TabBarLeak project (based on Xcode's Tabbed Application template)
2. Profile the app with Instrument attached
3. Use the "Leaks" instrument
4. Touch the "Add second ViewController" button multiple times.

Expected Results:
No memory is leaked.

Actual Results:
After the first touch, the second view controller is added to the tab bar. In subsequent touches, an instance of _UIIdleModeLayoutAttributes is leaked.

Regression:
No leaks in version prior to iOS 9.1.

Notes:
Attached are a screenshot of the leak in Instruments, and a minimal project reproducing the problem.

Comments

Fixed in Instruments 7.3 (7D129n).

By guillaume.algis at March 24, 2016, 1:58 p.m. (reply...)

Minimal test project available here : https://github.com/guillaumealgis/iOS-9.1-TabBarLeak

By guillaume.algis at Oct. 27, 2015, 11:41 a.m. (reply...)

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!