Skip to content

[Bug report] Title for the bug #993

@AAlier

Description

@AAlier

Describe the bug

Image

JNI DETECTED ERROR IN APPLICATION: fid == null in call to GetObjectField from long com.google.android.gms.internal.mlkit_vision_mediapipe.zzhx.zzj(long, com.google.android.gms.internal.mlkit_vision_mediapipe.zzib): #00 pc 0x752dc (abort [/apex/com.android.runtime/lib64/bionic/libc.so]) (BuildId: 8d9c623f58f2dae8107c6cbf3e9bfe12) #01 pc 0x8fdde0 (art::Runtime::Abort(char const*) [/apex/com.android.art/lib64/libart.so]) (BuildId: 6cac8d43981d3cdaec56bfd359a7c85c) #02 pc 0x1654c (android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_0::__invoke(char const*) [/apex/com.android.art/lib64/libbase.so]) (BuildId: 4d7605789d21176764345a0353194396) #03 pc 0x15a4c (android::base::LogMessage::~LogMessage() [/apex/com.android.art/lib64/libbase.so]) (BuildId: 4d7605789d21176764345a0353194396) #04 pc 0x323bcc (art::JavaVMExt::JniAbort(char const*, char const*) [/apex/com.android.art/lib64/libart.so]) (BuildId: 6cac8d43981d3cdaec56bfd359a7c85c) #05 pc 0x64fa0c (art::JNI<false>::GetObjectField(_JNIEnv*, _jobject*, _jfieldID*) [/apex/com.android.art/lib64/libart.so]) (BuildId: 6cac8d43981d3cdaec56bfd359a7c85c) #06 pc 0x2efdc

kotlin_version = "2.0.21"
buildToolsVersion = "35.0.0"
minSdkVersion = 24
compileSdkVersion = 35
targetSdkVersion = 35
ndkVersion = "28.0.12674087"

To Reproduce

  • App launch
public class PoseDetectorProcessor extends VisionProcessorBase<Pose> {
  private static final String TAG = "PoseDetectorProcessor";

  private final PoseDetector detector;

  private final boolean visualizeZ;
  private final boolean rescaleZForVisualization;
  private final boolean showInFrameLikelihood;

  PoseDetectorProcessor(
          Context context,
          PoseDetectorOptionsBase options,
          boolean visualizeZ,
          boolean rescaleZForVisualization,
          boolean showInFrameLikelihood
  ) {
    super(context);
    this.visualizeZ = visualizeZ;
    this.rescaleZForVisualization = rescaleZForVisualization;
    this.showInFrameLikelihood = showInFrameLikelihood;
    this.detector = PoseDetection.getClient(options);
  }

  public static PoseDetectorProcessor getInstance(Context context) {
    PoseDetectorOptions options = new PoseDetectorOptions.Builder()
      .setDetectorMode(PoseDetectorOptions.SINGLE_IMAGE_MODE)
      .build();
//    AccuratePoseDetectorOptions options = new AccuratePoseDetectorOptions.Builder()
//            .setDetectorMode(AccuratePoseDetectorOptions.SINGLE_IMAGE_MODE)
//            .build();
    return new PoseDetectorProcessor(context, options, false, true, false);
  }

  @Override
  public void stop() {
    super.stop();
    detector.close();
  }

  @Override
  protected Task<Pose> detectInImage(InputImage image) {
    return detector.process(image);
  }

  @Override
  protected Task<Pose> detectInImage(MlImage image) {
    return detector.process(image);
  }

  @Override
  protected void onSuccess(@NonNull Pose poseWithClassification, @NonNull GraphicOverlay graphicOverlay) {
    if (!graphicOverlay.isPoseDetectorEnabled()) return;
    graphicOverlay.add(
        new PoseGraphic(
            graphicOverlay,
            poseWithClassification,
            showInFrameLikelihood,
            visualizeZ,
            rescaleZForVisualization));
  }

  @Override
  protected void onFailure(@NonNull Exception e) {
    Log.e(TAG, "Pose detection failed!", e);
  }

  @Override
  protected boolean isMlImageEnabled(Context context) {
    // Use MlImage in Pose Detection by default, change it to OFF to switch to InputImage.
    return true;
  }
}


public abstract class VisionProcessorBase<T> implements VisionImageProcessor {

    private static final String TAG = "VisionProcessorBase";

    protected final Executor executor;

    protected VisionProcessorBase(Context context) {
        executor = ContextCompat.getMainExecutor(context);
    }

SDK Info:

  • implementation 'com.google.mlkit:pose-detection:18.0.0-beta5'
  • implementation 'com.google.mlkit:pose-detection-accurate:18.0.0-beta5'

Smartphone:

  • OS version: android 16 Model: Pixel 6
  • OS version: android 16 Model: Pixel 8
  • OS version: android 12 Model: Motorola One 5G UW Ace
  • android 16 Model: Galaxy S24 Ultra
  • android 13 Model: Galaxy Note20 Ultra 5G
  • 15 Model: Galaxy A54 5G

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