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

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions