Coordinating a picker and an image with 1 frame/pickerItem each crashes app

Originator:brettohland
Number:rdar://22688099 Date Originated:Sept 14, 2015
Status:Open Resolved:
Product:watchOS Product Version:watchOS 2
Classification:Crash Reproducible:Always
 
If you create an array of WKPickerItems that is only 1 element long and an animated UIImage that's only 1 frame long and attempt to coordinate the animation with the picker the app will crash.

The only text that's placed in the debug console will be "Program ended with exit code: 0"

If you look at the simulator's console you will get the following:
Sep 14 14:41:02 GNVbohlandFYG3QC RangeBug WatchKit App[36144]: *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 2147483648 beyond bounds [0 .. 0]'
	*** First throw call stack:
	(
		0   CoreFoundation                      0x030e0af4 __exceptionPreprocess + 180
		1   libobjc.A.dylib                     0x01ce3df4 objc_exception_throw + 50
		2   CoreFoundation                      0x02fb973e -[__NSArrayI objectAtIndex:] + 206
		3   PepperUICore                        0x02e2f021 -[PUICPickerView _updateCoordinatedImageViewsForSelectedIndex] + 410
		4   PepperUICore                        0x02e2f3bf -[PUICPickerView setCoordinatedImageViews:] + 391
		5   SockPuppetGizmo                     0x0015068d -[SPInterfacePicker setInterfaceItemValue:property:] + 455
		6   SockPuppetGizmo                     0x001330a9 -[SPInterfaceGroupView _setInterfaceItemValue:forKey:property:] + 762
		7   SockPuppetGizmo                     0x00132fe2 -[SPInterfaceGroupView _setInterfaceItemValue:forKey:property:] + 563
		8   SockPuppetGizmo                     0x001331c6 -[SPInterfaceGroupView setInterfaceItemValue:forKey:property:] + 77
		9   SockPuppetGizmo                     0x001b2ac5 -[SPInterfaceViewController setInterfaceValue:forKey:property:] + 1980
		10  SockPuppetGizmo                     0x00160635 -[SPApplicationDelegate companionConnection:interfaceViewController:setValue:forKey:property:] + 389
		11  SockPuppetGizmo                     0x0016ee67 -[SPCompanionConnection handlePlist:] + 8381
		12  SockPuppetGizmo                     0x0016cafc __43-[SPCompanionConnection receiveData:reply:]_block_invoke + 207
		13  libdispatch.dylib                   0x03e4f7b7 _dispatch_call_block_and_release + 15
		14  libdispatch.dylib                   0x03e6d40d _dispatch_client_callout + 14
		15  libdispatch.dylib                   0x03e5605a _dispatch_main_queue_callback_4CF + 689
		16  CoreFoundation                      0x03032bee __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 14
		17  CoreFoundation                      0x02ff0964 __CFRunLoopRun + 2356
		18  CoreFoundation                      0x02fefd76 CFRunLoopRunSpecific + 470
		19  CoreFoundation                      0x02fefb8b CFRunLoopRunInMode + 123
		20  GraphicsServices                    0x0363b097 GSEventRunModal + 192
		21  GraphicsServices                    0x0363aed4 GSEventRun + 104
		22  UIKit                               0x0028a4a1 UIApplicationMain + 160
		23  SockPuppetGizmo                     0x00139513 _SPApplicationMain + 60
		24  libdyld.dylib                       0x03e92ae1 start + 1
		25  ???                                 0x00000001 0x0 + 1
	)

Steps to Reproduce:
Please see the attached example file. It's a new project with just enough code to re-produce the error.

Expected Results:
The expectation is that the app won't crash at this point.

Actual Results:
App crashes

Version:
watchOS 2 GM
(Xcode) Version 7.0 (7A218)
(Simulator) Version 2.0 (SimulatorApp-621 CoreSimulator-179)

Notes:


Configuration:
(Xcode) Version 7.0 (7A218)
(Simulator) Version 2.0 (SimulatorApp-621 CoreSimulator-179)

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!