Skip to content

[google_mlkit_pose_detection] iOS EXC_BAD_ACCESS in MLKITx_PRMGetTraceContextManagerPrivate at 0x10 (plugin 0.14.1) #848

@kleberandrade

Description

@kleberandrade

Describe your issue. If applicable, add screenshots to help explain your problem.

Fatal EXC_BAD_ACCESS on iOS in MLKITx_PRMGetTraceContextManagerPrivate (address 0x10), on the main dispatch queue. The crash indicates an uninitialized or deallocated pointer in ML Kit's tracing logic (null pointer dereference).

  • Package: google_mlkit_pose_detection 0.14.1
  • Flutter: 3.41.2 • Dart 3.11.0
  • iOS: 26.2.1 (build 23C71)
  • Device: iPhone17,1 (iPhone 15 Pro)
  • Build: Release / Production

The crash did not occur with 0.14.0. It started after upgrading to 0.14.1, which updates the iOS native libraries to GoogleMLKit/PoseDetection 9.0.0 and GoogleMLKit/PoseDetectionAccurate 9.0.0. Pinning to 0.14.0 avoids the crash (suggests regression in native iOS 9.0.0 SDK).

Exception: EXC_BAD_ACCESS — KERN_INVALID_ADDRESS at 0x10 (main thread)

Stack trace:

Runner    MLKITx_PRMGetTraceContextManagerPrivate
libdispatch    _dispatch_call_block_and_release
libdispatch    _dispatch_client_callout
libdispatch    _dispatch_main_queue_drain.cold.5
libdispatch    _dispatch_main_queue_drain
libdispatch    _dispatch_main_queue_callback_4CF
CoreFoundation    __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
CoreFoundation    __CFRunLoopRun
CoreFoundation    _CFRunLoopRunSpecificWithOptions
GraphicsServices    GSEventRunModal
UIKitCore    -[UIApplication _run]
UIKitCore    UIApplicationMain
UIKitCore    -[UIScrollView contentInset]
Runner    <redacted>
dyld    start

Steps to reproduce.

  1. Add google_mlkit_pose_detection: ^0.14.1 (or 0.14.1) to pubspec.yaml.
  2. Run flutter pub get and, in the ios folder, pod install.
  3. Build the app in release for iOS and run on a physical device.
  4. Launch the app (crash can occur at startup or when the screen that uses pose detection is loaded).
  5. EXC_BAD_ACCESS occurs in MLKITx_PRMGetTraceContextManagerPrivate.

What is the expected result?

The app should run without crashing. With 0.14.0 the app runs correctly; the crash only appears after upgrading to 0.14.1 (iOS native 9.0.0). Expected: no EXC_BAD_ACCESS in ML Kit’s tracing code on iOS when using 0.14.1.

Workaround: Pin to 0.14.0 in pubspec.yaml: google_mlkit_pose_detection: 0.14.0, then flutter pub get and pod install in ios.

Did you try our example app?

No

Is it reproducible in the example app?

No

Reproducible in which OS?

iOS

Flutter/Dart Version?

Flutter: 3.41.2
Dart: 3.11.0

Plugin Version?

Main plugins involved (versions):

  • google_mlkit_pose_detection: 0.14.1 (crash); 0.14.0 (workaround)
  • camera: ^0.12.0
  • permission_handler: ^12.0.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions