Skip to content

[camera] Crash while recording with camera at ultraHigh resolution preset #69874

@orestesgaolin

Description

@orestesgaolin

Steps to Reproduce

  1. Run camera plugin example on iPhone 6S running iOS 14.1
  2. Change resolution preset to ultraHigh as shown below
    controller = CameraController(
      cameraDescription,
      ResolutionPreset.ultraHigh,
      enableAudio: enableAudio,
    );
  3. Select back camera and start recording
  4. The app crashes. Following error can be seen in the iOS console:
    14:00:39.537142+0100 Runner *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '*** -[AVAssetWriterInputPixelBufferAdaptor appendPixelBuffer:withPresentationTime:] A pixel buffer cannot be appended when readyForMoreMediaData is NO.' *** First throw call stack: (0x1b1ae1114 0x1c537dcb4 0x1b8ff1a10 0x1b8fef120 0x1b8ff4880 0x104352028 0x1c9f34ff0 0x1c9f34d50 0x1c9ff4248 0x1ca246524 0x1b171a280 0x1b16bf56c 0x1b16d028c 0x1b16c2e70 0x1b16c3a84 0x1b16cd518 0x1f780f5a4 0x1f7812874)

Expected results:

The recording continues just fine without error

Actual results:

Logs
14:00:07.705240+0100	Runner	Initializing connection
14:00:07.705327+0100	Runner	Removing all cached process handles
14:00:07.709995+0100	Runner	Sending handshake request attempt #1 to server
14:00:07.714123+0100	Runner	FBSWorkspace connecting to endpoint : <BSServiceConnectionEndpoint: 0x2803aa4c0; target: com.apple.frontboard.systemappservices; service: com.apple.frontboard.workspace-service>
14:00:07.719775+0100	Runner	FBSWorkspace registering source: <FBSWorkspaceScenesClient: 0x283da9260>
14:00:07.745348+0100	Runner	FBSWorkspace connected to endpoint : <BSServiceConnectionEndpoint: 0x2803aa4c0; target: com.apple.frontboard.systemappservices; service: com.apple.frontboard.workspace-service>
14:00:07.745404+0100	Runner	Added observer for process assertions expiration warning: <_RBSExpirationWarningClient: 0x2816a6d60>
14:00:07.767479+0100	Runner	Registering for test daemon availability notify post.
14:00:07.767605+0100	Runner	Creating connection to com.apple.runningboard
14:00:07.767668+0100	Runner	notify_get_state check indicated test daemon not ready.
14:00:07.973824+0100	Runner	Handshake succeeded
14:00:07.981595+0100	Runner	Identity resolved as application<io.flutter.plugins.cameraExample>
14:00:08.174659+0100	Runner	flutter: Observatory listening on http://127.0.0.1:57798/
14:00:08.553775+0100	Runner	Hang detected: 0.65s (overlaps extended launch)
14:00:08.554024+0100	Runner	Hang detected: 0.65s (always-on hang reporting)
14:00:08.554199+0100	Runner	Hang detected: 0.65s (under capture threshold, reporting to aggd)
14:00:09.812644+0100	Runner	container_system_group_path_for_identifier: success
14:00:09.812732+0100	Runner	Got system group container path from MCM for systemgroup.com.apple.configurationprofiles: /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
14:00:11.780730+0100	Runner	Received configuration update from daemon (initial)
14:00:28.662975+0100	Runner	[CLIoHidInterface] Adding new Device with usage pair {65280, 3}
14:00:28.710613+0100	Runner	[CLIoHidInterface] invalidating hid service refs
14:00:28.710796+0100	Runner	[CLIoHidInterface] Refreshing service refs
14:00:28.710942+0100	Runner	[CLIoHidInterface] Event system client initialized successfully
14:00:28.711282+0100	Runner	[CLIoHidInterface] Checking matching property Built-In = 1 for service ref 0x2824b8120
14:00:28.711375+0100	Runner	[CLIoHidInterface] Service ref with usage pair {65280, 3} is 0x2824b8120
14:00:28.711529+0100	Runner	[CLIoHidInterface] invalidating hid service refs
14:00:28.711709+0100	Runner	[CLIoHidInterface] Refreshing service refs
14:00:28.711898+0100	Runner	[CLIoHidInterface] Checking matching property Built-In = 1 for service ref 0x2824b8120
14:00:28.712002+0100	Runner	[CLIoHidInterface] Service ref with usage pair {65280, 3} is 0x2824b8120
14:00:28.713121+0100	Runner	[CLIoHidInterface] Property for usage pair {65280, 3}: {BatchInterval = 10000} was set successfully
14:00:28.713361+0100	Runner	[CLIoHidInterface] Property for usage pair {65280, 3}: {ReportInterval = 10000} was set successfully
14:00:36.698935+0100	Runner	AudioComponentPluginMgr.mm:792   First wildcard component search: acdc/lpcm/0x00000000
14:00:36.702372+0100	Runner	AudioComponentPluginMgr.mm:961   component registrations changed
14:00:36.708954+0100	Runner	    AVAudioSession_iOS.mm:289   Posting AVAudioSessionRouteChangeNotification. Reason: AVAudioSessionRouteChangeReasonCategoryChange
14:00:39.537142+0100	Runner	*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '*** -[AVAssetWriterInputPixelBufferAdaptor appendPixelBuffer:withPresentationTime:] A pixel buffer cannot be appended when readyForMoreMediaData is NO.'
*** First throw call stack:
(0x1b1ae1114 0x1c537dcb4 0x1b8ff1a10 0x1b8fef120 0x1b8ff4880 0x104352028 0x1c9f34ff0 0x1c9f34d50 0x1c9ff4248 0x1ca246524 0x1b171a280 0x1b16bf56c 0x1b16d028c 0x1b16c2e70 0x1b16c3a84 0x1b16cd518 0x1f780f5a4 0x1f7812874)

[✓] Flutter (Channel stable, 1.22.3, on Mac OS X 10.15.7 19H2, locale pl-PL)
    • Flutter version 1.22.3 at /Users/dominik/fvm/versions/stable
    • Framework revision 8874f21e79 (7 days ago), 2020-10-29 14:14:35 -0700
    • Engine revision a1440ca392
    • Dart version 2.10.3

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/dominik/Library/Android/sdk
    • Platform android-30, build-tools 29.0.2
    • ANDROID_HOME = /Users/dominik/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.1, Build version 12A7403
    • CocoaPods version 1.10.0

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 49.0.2
    • Dart plugin version 193.7547
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.50.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.16.0

[✓] Connected device (1 available)
    • iPhone (Dominik) (mobile) • f96e187ec1f51b6be1830c7965a482dc653765d2 • ios • iOS 14.1
    ! Error: iPhone (Dominik) is busy: Copying cache files from device. Xcode will continue when iPhone (Dominik) is finished. (code -10)

• No issues found!

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work listc: crashStack traces logged to the consolec: fatal crashCrashes that terminate the processe: OS-version specificAffects only some versions of the relevant operating systemfound in release: 1.22Found to occur in 1.22has reproducible stepsThe issue has been confirmed reproducible and is ready to work onp: cameraThe camera pluginpackageflutter/packages repository. See also p: labels.platform-iosiOS applications specificallyr: fixedIssue is closed as already fixed in a newer versionteam-iosOwned by iOS platform teamtriaged-iosTriaged by iOS platform team

    Type

    No type

    Projects

    Status

    Engineer reviewed

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions