-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Closed
Labels
a: imagesLoading, displaying, rendering imagesLoading, displaying, rendering imagesplatform-androidAndroid applications specificallyAndroid applications specificallyteam-androidOwned by Android platform teamOwned by Android platform team
Description
When I point an Image.network widget at a certain SVG image, on Android, the whole app crashes.
The stack trace reads:
[ERROR:flutter/fml/platform/android/jni_util.cc(206)] java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
at io.flutter.embedding.engine.image.Metadata.isHeif(Metadata.java:55)
at io.flutter.embedding.engine.image.Metadata.create(Metadata.java:38)
at io.flutter.embedding.engine.image.FlutterImageDecoder.decodeImage(FlutterImageDecoder.java:46)
at io.flutter.embedding.engine.FlutterJNI.decodeImage(FlutterJNI.java:551)
so this appears to be in the logic introduced in #176860 (/cc @mboetger @gmackall). The Flutter version is 3.38.0-1.0.pre-166 / 83382d1.
Detailed logs
2025-11-03 12:47:12.550 15029-15126 HWUI com.zulipmobile D --- Failed to create image decoder with message 'unimplemented'
2025-11-03 12:47:12.553 15029-15126 flutter com.zulipmobile E [ERROR:flutter/fml/platform/android/jni_util.cc(206)] java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
at io.flutter.embedding.engine.image.Metadata.isHeif(Metadata.java:55)
at io.flutter.embedding.engine.image.Metadata.create(Metadata.java:38)
at io.flutter.embedding.engine.image.FlutterImageDecoder.decodeImage(FlutterImageDecoder.java:46)
at io.flutter.embedding.engine.FlutterJNI.decodeImage(FlutterJNI.java:551)
2025-11-03 12:47:12.553 15029-15126 flutter com.zulipmobile A [FATAL:flutter/shell/platform/android/android_image_generator.cc(113)] Check failed: fml::jni::CheckException(env).
2025-11-03 12:47:12.553 15029-15126 libc com.zulipmobile A Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 15126 (1.io), pid 15029 (com.zulipmobile)
2025-11-03 12:47:12.867 15771-15771 crash_dump64 pid-15771 I obtaining output fd from tombstoned, type: kDebuggerdTombstoneProto
2025-11-03 12:47:12.870 961-961 tombstoned tombstoned I received crash request for pid 15126
2025-11-03 12:47:12.872 15771-15771 crash_dump64 pid-15771 I performing dump of process 15029 (target tid = 15126)
2025-11-03 12:47:13.181 1986-2554 ActivityManager system_server D freezing 8144 com.google.android.apps.tycho
2025-11-03 12:47:13.400 15771-15771 DEBUG crash_dump64 A *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A Build fingerprint: 'google/shiba/shiba:16/BP3A.251005.004.B2/14331693:user/release-keys'
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A Kernel Release: '6.1.134-android14-11-g66e758f7d0c0-ab13748739'
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A Revision: 'MP1.0'
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A ABI: 'arm64'
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A Timestamp: 2025-11-03 12:47:12.897640404-0800
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A Process uptime: 190s
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A Executable: /system/bin/app_process64
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A Cmdline: com.zulipmobile
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A pid: 15029, tid: 15126, name: 1.io >>> com.zulipmobile <<<
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A uid: 10500
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A tagged_addr_ctrl: 0000000000000001 (PR_TAGGED_ADDR_ENABLE)
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A pac_enabled_keys: 000000000000000f (PR_PAC_APIAKEY, PR_PAC_APIBKEY, PR_PAC_APDAKEY, PR_PAC_APDBKEY)
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A esr: 0000000092000006 (Data Abort Exception 0x24)
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A Abort message: '[FATAL:flutter/shell/platform/android/android_image_generator.cc(113)] Check failed: fml::jni::CheckException(env). '
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A x0 0000000000000000 x1 0000000000003b16 x2 0000000000000006 x3 00000076542aef10
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A x4 6d602e6c716e6573 x5 6d602e6c716e6573 x6 6d602e6c716e6573 x7 7f7f7f7f7f7f7f7f
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A x8 00000000000000f0 x9 e79310a667cbb60e x10 0000000000000001 x11 00000079aed08730
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A x12 0000000000078007 x13 000000007fffffff x14 0000000002dff36a x15 0000052eca5ea062
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A x16 00000079aed730f0 x17 00000079aed58d40 x18 0000007648a18000 x19 0000000000003ab5
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A x20 0000000000003b16 x21 00000000ffffffff x22 00000000ffffffff x23 00000076542af880
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A x24 0000000000000001 x25 00000076542af2a0 x26 b4000078b365db28 x27 b4000078b365db48
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A x28 0000000000000000 x29 00000076542aef90
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A lr 00000079aecf233c sp 00000076542aef10 pc 00000079aecf2360 pst 0000000000001000
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A esr 0000000092000006
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A 15 total frames
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A backtrace:
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A #00 pc 0000000000076360 /apex/com.android.runtime/lib64/bionic/libc.so (abort+160) (BuildId: 6279f80eeba93a6e8a410cf52e4285b6)
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A #01 pc 00000000019fffe8 /data/app/~~BkC0INIlI-9TXvPO3oi2oA==/com.zulipmobile-6PHePBNkdnU0-J03DnAbIA==/base.apk!libflutter.so (offset 0x16ac000) (BuildId: 59fba48cf5727bc13d89c53b570ebd219c4335b3)
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A #02 pc 00000000019fffa4 /data/app/~~BkC0INIlI-9TXvPO3oi2oA==/com.zulipmobile-6PHePBNkdnU0-J03DnAbIA==/base.apk!libflutter.so (offset 0x16ac000) (BuildId: 59fba48cf5727bc13d89c53b570ebd219c4335b3)
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A #03 pc 0000000001eec5f4 /data/app/~~BkC0INIlI-9TXvPO3oi2oA==/com.zulipmobile-6PHePBNkdnU0-J03DnAbIA==/base.apk!libflutter.so (offset 0x16ac000) (BuildId: 59fba48cf5727bc13d89c53b570ebd219c4335b3)
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A #04 pc 0000000001eec538 /data/app/~~BkC0INIlI-9TXvPO3oi2oA==/com.zulipmobile-6PHePBNkdnU0-J03DnAbIA==/base.apk!libflutter.so (offset 0x16ac000) (BuildId: 59fba48cf5727bc13d89c53b570ebd219c4335b3)
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A #05 pc 0000000001a00ba4 /data/app/~~BkC0INIlI-9TXvPO3oi2oA==/com.zulipmobile-6PHePBNkdnU0-J03DnAbIA==/base.apk!libflutter.so (offset 0x16ac000) (BuildId: 59fba48cf5727bc13d89c53b570ebd219c4335b3)
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A #06 pc 0000000001a06cd0 /data/app/~~BkC0INIlI-9TXvPO3oi2oA==/com.zulipmobile-6PHePBNkdnU0-J03DnAbIA==/base.apk!libflutter.so (offset 0x16ac000) (BuildId: 59fba48cf5727bc13d89c53b570ebd219c4335b3)
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A #07 pc 0000000000016c48 /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+1544) (BuildId: d847fa6c7a25945263c10ae337d79426)
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A #08 pc 0000000000025958 /system/lib64/libandroid.so (ALooper_pollOnce+88) (BuildId: c5f821dca6fe3c4e68ba9bac48d5d828)
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A #09 pc 0000000001a06c5c /data/app/~~BkC0INIlI-9TXvPO3oi2oA==/com.zulipmobile-6PHePBNkdnU0-J03DnAbIA==/base.apk!libflutter.so (offset 0x16ac000) (BuildId: 59fba48cf5727bc13d89c53b570ebd219c4335b3)
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A #10 pc 0000000001a00afc /data/app/~~BkC0INIlI-9TXvPO3oi2oA==/com.zulipmobile-6PHePBNkdnU0-J03DnAbIA==/base.apk!libflutter.so (offset 0x16ac000) (BuildId: 59fba48cf5727bc13d89c53b570ebd219c4335b3)
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A #11 pc 0000000001a04b00 /data/app/~~BkC0INIlI-9TXvPO3oi2oA==/com.zulipmobile-6PHePBNkdnU0-J03DnAbIA==/base.apk!libflutter.so (offset 0x16ac000) (BuildId: 59fba48cf5727bc13d89c53b570ebd219c4335b3)
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A #12 pc 0000000001a04970 /data/app/~~BkC0INIlI-9TXvPO3oi2oA==/com.zulipmobile-6PHePBNkdnU0-J03DnAbIA==/base.apk!libflutter.so (offset 0x16ac000) (BuildId: 59fba48cf5727bc13d89c53b570ebd219c4335b3)
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A #13 pc 00000000000873e4 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*) (.__uniq.67847048707805468364044055584648682506)+180) (BuildId: 6279f80eeba93a6e8a410cf52e4285b6)
2025-11-03 12:47:13.401 15771-15771 DEBUG crash_dump64 A #14 pc 0000000000079c64 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6279f80eeba93a6e8a410cf52e4285b6)
2025-11-03 12:47:13.419 961-961 tombstoned tombstoned E Tombstone written to: tombstone_11
2025-11-03 12:47:13.420 1986-15776 DropBoxManagerService system_server I add tag=data_app_native_crash isTagEnabled=true flags=0x2
2025-11-03 12:47:13.434 1986-15775 ActivityTaskManager system_server W Force finishing activity com.zulipmobile/com.zulip.flutter.MainActivity
2025-11-03 12:47:13.435 1986-15775 TransitionChain system_server W Combining AR.finish-force-crash into #2576(CLOSE|R|0x10) from finishTopCrash
2025-11-03 12:47:13.437 4531-4573 WindowManagerShell com.android.systemui V Transition requested (#2576): android.os.BinderProxy@265c98a TransitionRequestInfo { type = CLOSE, triggerTask = TaskInfo{userId=0 taskId=24225 effectiveUid=10500 displayId=0 isRunning=true baseIntent=Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x30000000 cmp=com.zulipmobile/com.zulip.flutter.MainActivity } baseActivity=ComponentInfo{com.zulipmobile/com.zulip.flutter.MainActivity} topActivity=ComponentInfo{com.zulipmobile/com.zulip.flutter.MainActivity} origActivity=null realActivity=ComponentInfo{com.zulipmobile/com.zulip.flutter.MainActivity} numActivities=1 lastActiveTime=231813063 supportsMultiWindow=true resizeMode=1 isResizeable=true minWidth=-1 minHeight=-1 defaultMinSize=220 token=WCT{android.os.BinderProxy@5e6dc53} topActivityType=1 pictureInPictureParams=null shouldDockBigOverlays=false launchIntoPipHostTaskId=-1 lastParentTaskIdBeforePip=-1 displayCutoutSafeInsets=Rect(0, 0 - 0, 0) topActivityInfo=ActivityInfo{37b0bfb com.zulip.flutter.MainActivity} launchCookies=[] positionInParent=Point(0, 0) parentTaskId=-1 isFocused=true isVisible=true isVisibleRequested=true isTopActivityNoDisplay=false isSleeping=false locusId=null displayAreaFeatureId=1 isTopActivityTransparent=false isActivityStackTransparent=false lastNonFullscreenBounds=Rect(277, 699 - 803, 1779) capturedLink=null capturedLinkTimestamp=0 requestedVisibleTypes=-1 topActivityRequestOpenInBrowserEducationTimestamp=0 appCompatTaskInfo=AppCompatTaskInfo { topActivityInSizeCompat=false eligibleForLetterboxEducation= false isLetterboxEducationEnabled= false isLetterboxDoubleTapEnabled= false eligibleForUserAspectRatioButton= false topActivityBoundsLetterboxed= false isFromLetterboxDoubleTap= false topActivityLetterboxVerticalPosition= -1 topActivityLetterboxHorizontalPosition= -1 topActivityLetterboxWidth=-1 topActivityLetterboxHeight=-1 topActivityAppBounds=Rect(0, 0 - 1080, 2400) isUserFullscreenOverrideEnabled=false isSystemFullscreenOverrideEnabled=false hasMinAspectRatioOverride=false topActivityLetterboxBounds=null cameraCompatTaskInfo=CameraCompatTaskInfo { freeformCameraCompatMode=inactiveundefined} topNonResizableActivityAspectRatio=-1.0} topActivityMainWindowFrame=null isAppBubble=false}, pipChange = null, remoteTransition = null, displayChange = null, flags = 16, debugId = 2576 }
2025-11-03 12:47:13.438 789-913 libbinder.BpBinder surfaceflinger I onLastStrongRef automatically unlinking death recipients:
2025-11-03 12:47:13.443 1986-2549 DropBoxManagerService system_server I add tag=SYSTEM_TOMBSTONE_PROTO_WITH_HEADERS isTagEnabled=true flags=0x4
2025-11-03 12:47:13.446 4531-4573 WindowManagerShell com.android.systemui D onKeepClearAreasChanged: restricted={}, unrestricted={}
2025-11-03 12:47:13.493 1986-6731 ActivityManager system_server I Process com.zulipmobile (pid 15029) has died: fg TOP
2025-11-03 12:47:13.495 937-937 powerhal-libperfmgr and...ower-service.pixel-libperfmgr W sched_setattr failed for thread 15149, err=3
2025-11-03 12:47:13.495 937-937 powerhal-libperfmgr and...ower-service.pixel-libperfmgr W sched_setattr failed for thread 15150, err=3
2025-11-03 12:47:13.495 937-937 powerhal-libperfmgr and...ower-service.pixel-libperfmgr W sched_setattr failed for thread 15082, err=3
2025-11-03 12:47:13.495 1986-6362 ImeTracker system_server I com.zulipmobile:1101ac9c: onRequestHide at ORIGIN_SERVER reason HIDE_REMOVE_CLIENT fromUser false
2025-11-03 12:47:13.497 1461-1461 Zygote pid-1461 I Process 15029 exited due to signal 6 (Aborted)
2025-11-03 12:47:13.497 1986-6643 WindowManager system_server I WIN DEATH: Window{cce6b57 u0 com.zulipmobile/com.zulip.flutter.MainActivity}Doctor output
$ flutter doctor -v
[✓] Flutter (Channel main, 3.38.0-1.0.pre-166, on Debian GNU/Linux 12 (bookworm)
6.1.0-39-amd64, locale en_US.UTF-8) [1,066ms]
• Flutter version 3.38.0-1.0.pre-166 on channel main at
/home/greg/n/flutter/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 83382d1bb9 (2 weeks ago), 2025-10-20 22:09:35 -0700
• Engine revision 83382d1bb9
• Dart version 3.11.0 (build 3.11.0-36.0.dev)
• DevTools version 2.51.0
• Feature flags: enable-web, enable-linux-desktop, enable-macos-desktop,
enable-windows-desktop, enable-android, enable-ios, cli-animations,
enable-native-assets, omit-legacy-version-file, enable-lldb-debugging
[!] Android toolchain - develop for Android devices (Android SDK version 35.0.0)
[1,233ms]
• Android SDK at /home/greg/Android/Sdk
• Emulator version 35.5.10.0 (build_id 13402964) (CL:N/A)
• Platform android-36, build-tools 35.0.0
• Java binary at: /home/greg/.nix-profile/bin/java
This JDK was found in the system PATH.
To manually set the JDK path, use: `flutter config
--jdk-dir="path/to/jdk"`.
• Java version OpenJDK Runtime Environment (build 17.0.5+8-nixos)
! Some Android licenses not accepted. To resolve this, run: flutter doctor
--android-licenses
[✓] Chrome - develop for the web [9ms]
• Chrome at google-chrome
[✓] Linux toolchain - develop for Linux desktop [245ms]
• Debian clang version 14.0.6
• cmake version 3.24.3
• ninja version 1.11.1
• pkg-config version 1.8.1
• GL_EXT_framebuffer_blit: no
• GL_EXT_texture_format_BGRA8888: no
[✓] Connected device (3 available) [236ms]
• Pixel 8 (mobile) • 38101FDJH00L20 • android-arm64 • Android 16 (API 36)
• Linux (desktop) • linux • linux-x64 • Debian GNU/Linux 12
(bookworm) 6.1.0-39-amd64
• Chrome (web) • chrome • web-javascript • Google Chrome
140.0.7339.185
[✓] Network resources [176ms]
• All expected network resources are available.
! Doctor found issues in 1 category.chrisbobbe and rajveermalviya
Metadata
Metadata
Assignees
Labels
a: imagesLoading, displaying, rendering imagesLoading, displaying, rendering imagesplatform-androidAndroid applications specificallyAndroid applications specificallyteam-androidOwned by Android platform teamOwned by Android platform team