googlesamples / googlesamples/mlkit

[Bug report] MLKit play-services-mlkit-subject-segmentation:16.0.0-beta1 crashes with SIGSEGV in drishti_gl_runn on Android 16 (API 36) — MTE pointer tagging violation

Open
#1,017 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Kotlin
Stars
4.3k
Forks
3.1k
PR merge metrics
No merged PRs in 30d

Description

**Describe the bug**
play-services-mlkit-subject-segmentation:16.0.0-beta1 causes a fatal native crash (SIGSEGV in drishti_gl_runn) on Android 16 (API 36) when running inference. The crash is triggered by Android 16's Memory Tagging Extension (MTE) enforcement — the GPU delegate accesses memory through a pointer whose tag doesn't match the allocation tag, which is now a hard fault. The app process is killed instantly with no Java-level exception to catch.

**To Reproduce**
Add implementation("com.google.android.gms:play-services-mlkit-subject-segmentation:16.0.0-beta1") to your project
Create a segmenter:

val segmenter = SubjectSegmentation.getClient(
SubjectSegmenterOptions.Builder()
.enableForegroundBitmap()
.build()
)
Process any bitmap:

segmenter.process(InputImage.fromBitmap(bitmap, 0))
.addOnSuccessListener { ... }
Run on a device with Android 16 (API 36)
→ App crashes immediately. The crash occurs regardless of input image size (tested from 640×480 to 2560×1920).

If applicable, please include `code snippet` and `sample input(image, video, text, etc)`

**Expected behavior**
Segmentation completes successfully and returns a result, as it does on Android 14 and below.

Crash log

Fatal signal 11 (SIGSEGV), code 2 (SEGV_ACCERR)
fault addr 0xb40000726396a000 ← tagged pointer (MTE violation)
tid: drishti_gl_runn ← MLKit OpenGL GPU delegate thread
pid: com.example.app

ABI: arm64
The 0xb4... fault address confirms this is an MTE pointer tagging violation, not a null dereference or out-of-bounds access.

**SDK Info:**
- com.google.android.gms:play-services-mlkit-subject-segmentation:16.0.0-beta1
Note: this is the only published version of this library (last updated Nov 2023, never patched)

**Smartphone:**
- Device: Redmi (malachite_global)
- OS: Android 16 (API 36), build BP2A.250605.031.A3

**Development Environment:**
Android Studio Meerkat
AGP 9.0.0, Kotlin 2.3.10
Target SDK: 36, Min SDK: 26

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.