Skip to content

Taking a photo with high contrast (bright and shade) with device running on Android 16 even with limited size of image request crashes my app #954

@canaver

Description

@canaver

Bug Report

My app running on Android 16 (Samsung S21) crashes systematically with certain types of pictures (seems to be with high contrast with a lot of light and shades) even with a request of small quality and size (e.g. quality: 30 and size 600x600).

Problem

The photo seems to take too much memory and crashes the app on returning to it.

What is expected to happen?

Once photo taken it shoud return it to the app

What does actually happen?

The app crashes and restarts.

Information

Here is an extract of LogCat:
2026-03-22 12:36:16.332 20595-20595 chromium eu.asho.shareexpenses I [INFO:CONSOLE:33508] "selectSmartCompressedImage option= [object Object]", source: http://localhost/vendor.js (33508)
2026-03-22 12:36:16.353 20595-20595 CordovaActivity eu.asho.shareexpenses D Paused the activity.
2026-03-22 12:36:16.359 20595-20704 PluginManager eu.asho.shareexpenses W THREAD WARNING: exec() call to Camera.takePicture blocked the main thread for 27ms. Plugin should use CordovaInterface.getThreadPool().
2026-03-22 12:36:16.371 20595-20595 ImeTracker eu.asho.shareexpenses I eu.asho.shareexpenses:e33b5aa2: onRequestHide at ORIGIN_CLIENT reason HIDE_SOFT_INPUT fromUser false
2026-03-22 12:36:16.371 20595-20595 InputMethodManager_LC eu.asho.shareexpenses I hsifw() - flag : 0
2026-03-22 12:36:16.371 20595-20595 InputMethodManager_LC eu.asho.shareexpenses I hsifw() - mService.hideSoftInput
2026-03-22 12:36:16.371 20595-20595 InsetsController eu.asho.shareexpenses D hide(ime(), fromIme=false)
2026-03-22 12:36:16.371 20595-20595 ImeTracker eu.asho.shareexpenses I eu.asho.shareexpenses:e33b5aa2: onCancelled at PHASE_CLIENT_ALREADY_HIDDEN
2026-03-22 12:36:16.371 20595-20595 InputMethodManagerUtils eu.asho.shareexpenses D startInputInner - Id : 0
2026-03-22 12:36:16.371 20595-20595 InputMethodManager eu.asho.shareexpenses I startInputInner - IInputMethodManagerGlobalInvoker.startInputOrWindowGainedFocus
2026-03-22 12:36:16.376 20595-20595 View eu.asho.shareexpenses I setRequestedFrameRate frameRate=-4.0, this=org.apache.cordova.engine.SystemWebView{d539c13 VFEDH.C.. .F...... 0,0-1080,2097 #64 aid=1073741824}, caller=android.view.ViewGroup.setRequestedFrameRate:9952 WV.rf.p:1 WV.rg.h:118 WV.rg.onDraw:7 com.android.webview.chromium.WebViewChromium.onDraw:19
2026-03-22 12:36:16.393 20595-20595 View eu.asho.shareexpenses I setRequestedFrameRate frameRate=-4.0, this=org.apache.cordova.engine.SystemWebView{d539c13 VFEDH.C.. .F...... 0,0-1080,2097 #64 aid=1073741824}, caller=android.view.ViewGroup.setRequestedFrameRate:9952 WV.rf.p:1 WV.rg.h:118 WV.rg.onDraw:7 com.android.webview.chromium.WebViewChromium.onDraw:19
2026-03-22 12:36:16.409 20595-20595 InputMethodManagerUtils eu.asho.shareexpenses D startInputInner - Id : 0
2026-03-22 12:36:16.410 20595-20595 InputMethodManager eu.asho.shareexpenses I startInputInner - IInputMethodManagerGlobalInvoker.startInputOrWindowGainedFocus
2026-03-22 12:36:16.411 20595-20595 View eu.asho.shareexpenses I setRequestedFrameRate frameRate=-4.0, this=org.apache.cordova.engine.SystemWebView{d539c13 VFEDH.C.. .F...... 0,0-1080,2097 #64 aid=1073741824}, caller=android.view.ViewGroup.setRequestedFrameRate:9952 WV.rf.p:1 WV.rg.h:118 WV.rg.onDraw:7 com.android.webview.chromium.WebViewChromium.onDraw:19
2026-03-22 12:36:16.416 20595-20595 ImeFocusController eu.asho.shareexpenses I onPreWindowFocus: skipped hasWindowFocus=false mHasImeFocus=true
2026-03-22 12:36:16.418 20595-20595 ImeFocusController eu.asho.shareexpenses I onPostWindowFocus: skipped hasWindowFocus=false mHasImeFocus=true
2026-03-22 12:36:16.419 20595-25222 CameraManagerGlobal eu.asho.shareexpenses I Camera 20 facing CAMERA_FACING_BACK state now CAMERA_STATE_OPENING for client com.sec.android.app.camera API Level 2 User Id 0Device Id 0
2026-03-22 12:36:16.427 20595-20595 View eu.asho.shareexpenses I setRequestedFrameRate frameRate=-4.0, this=org.apache.cordova.engine.SystemWebView{d539c13 VFEDH.C.. .F...... 0,0-1080,2097 #64 aid=1073741824}, caller=android.view.ViewGroup.setRequestedFrameRate:9952 WV.rf.p:1 WV.rg.h:118 WV.rg.onDraw:7 com.android.webview.chromium.WebViewChromium.onDraw:19
2026-03-22 12:36:16.428 20595-25222 CameraManagerGlobal eu.asho.shareexpenses I postSingleUpdate device: camera id 0 status STATUS_NOT_AVAILABLE
2026-03-22 12:36:16.429 20595-25331 CameraManagerGlobal eu.asho.shareexpenses I postSingleUpdate device: camera id 2 status STATUS_NOT_AVAILABLE
2026-03-22 12:36:16.436 20595-20595 InputMethodManagerUtils eu.asho.shareexpenses D startInputInner - Id : 0
2026-03-22 12:36:16.444 20595-25222 CameraManagerGlobal eu.asho.shareexpenses I Camera 20 facing CAMERA_FACING_BACK state now CAMERA_STATE_OPEN for client com.sec.android.app.camera API Level 2 User Id 0Device Id 0
2026-03-22 12:36:16.446 20595-20595 View eu.asho.shareexpenses I setRequestedFrameRate frameRate=-4.0, this=org.apache.cordova.engine.SystemWebView{d539c13 VFEDH.C.. .F...... 0,0-1080,2097 #64 aid=1073741824}, caller=android.view.ViewGroup.setRequestedFrameRate:9952 WV.rf.p:1 WV.rg.h:118 WV.rg.onDraw:7 com.android.webview.chromium.WebViewChromium.onDraw:19
2026-03-22 12:36:16.463 20595-20595 View eu.asho.shareexpenses I setRequestedFrameRate frameRate=-4.0, this=org.apache.cordova.engine.SystemWebView{d539c13 VFEDH.C.. .F...... 0,0-1080,2097 #64 aid=1073741824}, caller=android.view.ViewGroup.setRequestedFrameRate:9952 WV.rf.p:1 WV.rg.h:118 WV.rg.onDraw:7 com.android.webview.chromium.WebViewChromium.onDraw:19
2026-03-22 12:36:16.480 20595-20595 View eu.asho.shareexpenses I setRequestedFrameRate frameRate=-4.0, this=org.apache.cordova.engine.SystemWebView{d539c13 VFEDH.C.. .F...... 0,0-1080,2097 #64 aid=1073741824}, caller=android.view.ViewGroup.setRequestedFrameRate:9952 WV.rf.p:1 WV.rg.h:118 WV.rg.onDraw:7 com.android.webview.chromium.WebViewChromium.onDraw:19
2026-03-22 12:36:16.493 20595-20595 View eu.asho.shareexpenses I setRequestedFrameRate frameRate=-4.0, this=org.apache.cordova.engine.SystemWebView{d539c13 VFEDH.C.. .F...... 0,0-1080,2097 #64 aid=1073741824}, caller=android.view.ViewGroup.setRequestedFrameRate:9952 WV.rf.p:1 WV.rg.h:118 WV.rg.onDraw:7 com.android.webview.chromium.WebViewChromium.onDraw:19
2026-03-22 12:36:16.523 20595-20595 View eu.asho.shareexpenses I setRequestedFrameRate frameRate=-4.0, this=org.apache.cordova.engine.SystemWebView{d539c13 VFEDH.C.. .F...... 0,0-1080,2097 #64 aid=1073741824}, caller=android.view.ViewGroup.setRequestedFrameRate:9952 WV.rf.p:1 WV.rg.h:118 WV.rg.onDraw:7 com.android.webview.chromium.WebViewChromium.onDraw:19
2026-03-22 12:36:16.530 20595-20595 View eu.asho.shareexpenses I setRequestedFrameRate frameRate=-4.0, this=org.apache.cordova.engine.SystemWebView{d539c13 VFEDH.C.. .F...... 0,0-1080,2097 #64 aid=1073741824}, caller=android.view.ViewGroup.setRequestedFrameRate:9952 WV.rf.p:1 WV.rg.h:118 WV.rg.onDraw:7 com.android.webview.chromium.WebViewChromium.onDraw:19
2026-03-22 12:36:16.539 20595-20595 InputTransport eu.asho.shareexpenses D Input channel destroyed: 'ClientS', fd=262
2026-03-22 12:36:16.545 20595-20595 View eu.asho.shareexpenses I setRequestedFrameRate frameRate=-4.0, this=org.apache.cordova.engine.SystemWebView{d539c13 VFEDH.C.. .F...... 0,0-1080,2097 #64 aid=1073741824}, caller=android.view.ViewGroup.setRequestedFrameRate:9952 WV.rf.p:1 WV.rg.h:118 WV.rg.onDraw:7 com.android.webview.chromium.WebViewChromium.onDraw:19
2026-03-22 12:36:16.559 20595-20595 View eu.asho.shareexpenses I setRequestedFrameRate frameRate=-4.0, this=org.apache.cordova.engine.SystemWebView{d539c13 VFEDH.C.. .F...... 0,0-1080,2097 #64 aid=1073741824}, caller=android.view.ViewGroup.setRequestedFrameRate:9952 WV.rf.p:1 WV.rg.h:118 WV.rg.onDraw:7 com.android.webview.chromium.WebViewChromium.onDraw:19
2026-03-22 12:36:16.594 20595-20595 View eu.asho.shareexpenses I setRequestedFrameRate frameRate=-4.0, this=org.apache.cordova.engine.SystemWebView{d539c13 VFEDH.C.. .F...... 0,0-1080,2097 #64 aid=1073741824}, caller=android.view.ViewGroup.setRequestedFrameRate:9952 WV.rf.p:1 WV.rg.h:118 WV.rg.onDraw:7 com.android.webview.chromium.WebViewChromium.onDraw:19
2026-03-22 12:36:16.893 20595-25222 CameraManagerGlobal eu.asho.shareexpenses I Camera 20 facing CAMERA_FACING_BACK state now CAMERA_STATE_ACTIVE for client com.sec.android.app.camera API Level 2 User Id 0Device Id 0
2026-03-22 12:36:16.989 20595-20595 VRI[MainAc...y]@c8136d9 eu.asho.shareexpenses I handleAppVisibility mAppVisible = true visible = false
2026-03-22 12:36:16.989 20595-20595 VRI[MainAc...y]@c8136d9 eu.asho.shareexpenses D visibilityChanged oldVisibility=true newVisibility=false
2026-03-22 12:36:16.992 20595-20649 HWUI eu.asho.shareexpenses D CacheManager::trimMemory(20)
2026-03-22 12:36:17.010 20595-20595 InsetsController eu.asho.shareexpenses I onStateChanged: host=eu.asho.shareexpenses/eu.asho.shareexpenses.MainActivity, from=android.view.ViewRootImpl.onInsetsStateChanged:3026, state=InsetsState: {mDisplayFrame=Rect(0, 0 - 1080, 2340), mDisplayCutout=DisplayCutout{insets=Rect(0, 99 - 0, 0) waterfall=Insets{left=0, top=0, right=0, bottom=0} boundingRect={Bounds=[Rect(0, 0 - 0, 0), Rect(505, 0 - 575, 99), Rect(0, 0 - 0, 0), Rect(0, 0 - 0, 0)]} cutoutPathParserInfo={CutoutPathParserInfo{displayWidth=1080 displayHeight=2340 physicalDisplayWidth=1080 physicalDisplayHeight=2340 density={3.0} cutoutSpec={M 0,0 M 0,29 a 35,35 0 1,0 0,70 a 35,35 0 1,0 0,-70 Z} rotation={0} scale={1.0} physicalPixelDisplaySizeRatio={1.0}}} sideOverrides={}}, mRoundedCorners=RoundedCorners{[RoundedCorner{position=TopLeft, radius=108, center=Point(108, 108)}, RoundedCorner{position=TopRight, radius=108, center=Point(972, 108)}, RoundedCorner{position=BottomRight, radius=108, center=Point(972, 2232)}, RoundedCorner{position=BottomLeft, radius=108, center=Point(108, 2232)}]} mRoundedCornerFrame=Rect(0, 0 - 1080, 2340), mPrivacyIndicatorBounds=PrivacyIndicatorBounds {static bounds=Rect(948, 0 - 1080, 99) rotation=0}, mDisplayShape=DisplayShape{ spec=-311912193 displayWidth=1080 displayHeight=2340 physicalPixelDisplaySizeRatio=1.0 rotation=0 offsetX=0 offsetY=0 scale=1.0}, mSources= { InsetsSource: {f2070001 mType=navigationBars mFrame=[0,2196][1080,2340] mVisible=true mFlags= mSideHint=BOTTOM mBoundingRects=null}, InsetsSource: {f2070004 mType=systemGestures mFrame=[0,0][0,0] mVisible=true mFlags= mSideHint=NONE mBoundingRects=null}, InsetsSource: {f2070005 mType=mandatorySystemGestures mFrame=[0,2196][1080,2340] mVisible=true mFlags= mSideHint=BOTTOM mBoundingRects=null}, InsetsSource: {f2070006 mType=tappableElement mFrame=[0,2196][1080,2340] mVisible=true mFlags= mSideHint=BOTTOM mBoundingRects=null}, InsetsSource: {f2070024 mType=systemGestures mFrame=[0,0][0,0] mVisible=true mFlags= mSideHint=NONE mBoundingRects=null}, InsetsSource: {3 mType=ime mFrame=[0,0][0,0] mVisible=false mFlags= mSideHint=NONE mBoundingRects=null}, InsetsSource: {27 mType=displayCutout mFrame=[0,0][1080,99] mVisible=true mFlags= mSideHint=TOP mBoundingRects=null}, InsetsSource: {4d8d0000 mType=statusBars mFrame=[0,0][1080,99] mVisible=false mFlags= mSideHint=TOP mBoundingRects=null}, InsetsSource: {4d8d0005 mType=mandatorySystemGestures mFrame=[0,0][1080,135] mVisible=true mFlags= mSideHint=TOP mBoundingRects=null}, InsetsSource: {4d8d0006 mType=tappableElement mFrame=[0,0][1080,99] mVisible=true mFlags= mSideHint=TOP mBoundingRects=null} }
2026-03-22 12:36:17.021 20595-20595 VRI[MainAc...y]@c8136d9 eu.asho.shareexpenses I Relayout returned: old=(0,0,1080,2340) new=(0,0,1080,2340) relayoutAsync=false req=(1080,2340)8 dur=24 res=0x2 s={false 0x0} ch=true seqId=0
2026-03-22 12:36:17.041 20595-20595 VRI[MainAc...y]@c8136d9 eu.asho.shareexpenses D Not drawing due to not visible. Reason=!mAppVisible && !mForceDecorViewVisibility
2026-03-22 12:36:17.043 20595-20649 HWUI eu.asho.shareexpenses D CacheManager::trimMemory(20)
2026-03-22 12:36:17.048 20595-20595 VRI[MainAc...y]@c8136d9 eu.asho.shareexpenses I stopped(true) old = false
2026-03-22 12:36:17.048 20595-20595 VRI[MainAc...y]@c8136d9 eu.asho.shareexpenses D WindowStopped on eu.asho.shareexpenses/eu.asho.shareexpenses.MainActivity set to true
2026-03-22 12:36:17.049 20595-20649 HWUI eu.asho.shareexpenses D CacheManager::trimMemory(20)
2026-03-22 12:36:17.059 20595-20595 AutofillManager eu.asho.shareexpenses I onInvisibleForAutofill(): expiringResponse
2026-03-22 12:36:17.062 20595-20595 CordovaActivity eu.asho.shareexpenses D Stopped the activity.
2026-03-22 12:36:17.089 1932-7577 WindowManager system_server E win=Window{5a7044 u0 eu.asho.shareexpenses/eu.asho.shareexpenses.MainActivity} destroySurfaces: appStopped=true cleanupOnResume=false win.mWindowRemovalAllowed=false win.mRemoveOnExit=false win.mViewVisibility=8 caller=com.android.server.wm.ActivityRecord.destroySurfaces:25 com.android.server.wm.ActivityRecord.activityStopped:192 com.android.server.wm.ActivityClientController.activityStopped:97 android.app.IActivityClientController$Stub.onTransact:740 com.android.server.wm.ActivityClientController.onTransact:1 android.os.Binder.execTransactInternal:1462 android.os.Binder.execTransact:1401
2026-03-22 12:36:17.105 20595-20595 BBA2 eu.asho.shareexpenses D setIsFg isFg = false; delayValue 3999ms
2026-03-22 12:36:23.420 20595-20662 cr_ChildProcessConn eu.asho.shareexpenses W onServiceDisconnected (crash or killed by oom): pid=20665 bindings:W S
2026-03-22 12:36:23.501 20595-20595 chromium eu.asho.shareexpenses E [ERROR:android_webview/browser/aw_browser_terminator.cc:175] Renderer process (20665) crash detected (code -1).
2026-03-22 12:36:23.520 20595-20595 chromium eu.asho.shareexpenses E [ERROR:android_webview/browser/aw_browser_terminator.cc:122] Render process (20665) kill (OOM or update) wasn't handed by all associated webviews, killing application.
---------------------------- PROCESS STARTED (30429) for package eu.asho.shareexpenses ----------------------------

Command or Code

Take a photo in landscape mode with quality mentioned above or higher of the Mac desktop wallpaper on Sequoia version.

Environment, Platform, Device

Samsung S21FE running on Android 16

Version information

Ionic 6.4.1
Cordova Android ^14.0.1
Cordova Camera 8.0.0

Checklist

  • I searched for existing GitHub issues
  • I updated all Cordova tooling to most recent version
  • I included all the necessary information above

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