iPhone 3G AVFoundation hang on iOS 4.2.1

Originator:xorandor
Number:rdar://10533164 Date Originated:6 December 2011
Status:Open Resolved:
Product:iPhone SDK Product Version:4.2.1
Classification:Hang Reproducible:Always
 
Summary:

On iPhone 3G on iOS 4.2.1, the completion handler block in -[AVCaptureStillImageOutput captureStillImageAsynchronouslyFromConnection:completionHandler:] sometimes doesn't get called after capturing several still images.

Steps to Reproduce:
1. Build and install the KameraTest app (https://github.com/FunkeeMonk/KameraTest) onto an iPhone 3G running iOS 4.2.1.
2. Tap the "Take Photo" button.
3. Tap the button with the camera icon at the bottom of the screen. It should take a picture.
4. Sometimes, the app will get stuck with showing "Processing image...". If it doesn't, tap the cancel button (cross icon) on the top left.
5. Repeat steps 2-4 until the app gets stuck. It sometimes takes around 15-20 tries before it gets stuck.

Expected Results:
The iPhone 3G should not get stuck at step 4.  The completion handler block in captureStillImageAsynchronouslyFromConnection:completionHandler should always get called.

Actual Results:
The app will get stuck at step 4 after taking several still images.  On iPhone 3G on iOS 4.2.1, the completion handler block in -[AVCaptureStillImageOutput captureStillImageAsynchronouslyFromConnection:completionHandler:] sometimes doesn't get called after capturing several still images.

Regression:

Notes:
- We have implemented a temporary workaround by adding an NSTimer to detect the "stuck" condition to prompt the user to restart the camera and retake the image.  But this is of course, less than ideal.

- I have previously filed a DTS to have a workaround for this issue, but the engineer wasn't able to find one.

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!