✅ [Android] Monzo app causing phone to reboot

Please ignore the issue blow, just keeping the information for history. I found the cause of the issue, for some reason the OS having issues accessing media codec in the vendor image. So when the app was launching its splash screen, which is a video it resulted in a crash/reboot. So this clearly related to the OS and not the Monzo app.

Original Bug Report

Issue: Monzo: Causes phone to crash and reboot. I have a custom ROM on my device but all other apps are stable, just Monzo causes a reset. It seems to be releated to video playback. I have added a logcat of the crash.

Details to reproduce: Open the Monzo app on a fresh factory reset device
OS: Android 9 Lineage OS 16
Device: Huawei P20 Pro
App Version: 2.51.0

Screenshots: Not needed, just splash screen showed then phone reboots

Logcat

Logcat:
06-15 05:42:46.742 887 1091 I ActivityManager: START u0 {cmp=co.uk.getmondo/com.monzo.login.WelcomeOnboardingActivity} from uid 10196
06-15 05:42:46.763 7704 7704 I FA : Install referrer extras are: utm_source=google-play&utm_medium=organic
06-15 05:42:46.763 7704 7704 W FA : Install referrer is missing timestamp
06-15 05:42:46.764 7704 7722 I FA : Install Referrer Reporter is initializing
06-15 05:42:46.771 7704 7722 I FA : Install Referrer Service is: available
06-15 05:42:46.778 7704 7722 I FA : Tag Manager is not found and thus will not be used
06-15 05:42:46.796 7704 7797 E ActivityThread: Failed to find provider info for com.facebook.katana.provider.AttributionIdProvider
06-15 05:42:46.799 7704 7704 I FA : Install Referrer Service connected
06-15 05:42:46.804 7704 7704 W ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@fdb40e4
06-15 05:42:46.827 7704 7704 D FirebasePerformance: Creating a new Non Verbose Session: 2d33a39a670b4e09bb7ecf2462fa1ebb
06-15 05:42:46.879 7704 7704 I FirebasePerformance: Session ID - 2d33a39a670b4e09bb7ecf2462fa1ebb
06-15 05:42:46.885 7704 7704 D AppLockManagerImpl: Enter foreground: false
06-15 05:42:46.886 7704 7704 D FirebasePerformance: onResume(): com.monzo.login.WelcomeOnboardingActivity: 1060935 microseconds
06-15 05:42:46.890 7704 7704 D OpenGLRenderer: Skia GL Pipeline
06-15 05:42:46.903 590 590 E WifiHAL : enter wifi_get_link_stats
06-15 05:42:46.967 7704 7704 I ExoPlayerImpl: Init 66132ec [ExoPlayerLib/2.8.4] [charlotte, P20 Pro, HUAWEI, 28]
06-15 05:42:47.025 7704 7812 W VideoCapabilities: Unrecognized profile 4 for video/hevc
06-15 05:42:47.026 7704 7812 W VideoCapabilities: Unrecognized profile/level 0/0 for video/mpeg2
06-15 05:42:47.026 7704 7812 W VideoCapabilities: Unrecognized profile/level 0/2 for video/mpeg2
06-15 05:42:47.026 7704 7812 W VideoCapabilities: Unrecognized profile/level 0/3 for video/mpeg2
06-15 05:42:47.026 7704 7812 I VideoCapabilities: Unsupported profile 5 for video/mpeg2
06-15 05:42:47.026 7704 7812 I chatty : uid=10196(co.uk.getmondo) ExoPlayerImplIn identical 2 lines
06-15 05:42:47.026 7704 7812 I VideoCapabilities: Unsupported profile 5 for video/mpeg2
06-15 05:42:47.030 7704 7812 W VideoCapabilities: Unrecognized profile/level 1/32 for video/mp4v-es
06-15 05:42:47.030 7704 7812 W VideoCapabilities: Unrecognized profile/level 32768/2 for video/mp4v-es
06-15 05:42:47.030 7704 7812 W VideoCapabilities: Unrecognized profile/level 32768/64 for video/mp4v-es
06-15 05:42:47.041 595 1772 W ServiceManager: Permission failure: android.permission.ACCESS_SURFACE_FLINGER from uid=10196 pid=7704
06-15 05:42:47.041 595 1772 D PermissionCache: checking android.permission.ACCESS_SURFACE_FLINGER for uid=10196 => denied (259 us)
06-15 05:42:47.047 7704 7808 I ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 0
06-15 05:42:47.048 7704 7808 I ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay retrieved: 0
06-15 05:42:47.048 7704 7808 I OpenGLRenderer: Initialized EGL, version 1.4
06-15 05:42:47.048 7704 7808 D OpenGLRenderer: Swap behavior 2
06-15 05:42:47.051 7704 7812 I VideoCapabilities: Unsupported profile 4 for video/mp4v-es
06-15 05:42:47.065 7704 7808 D mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
06-15 05:42:47.065 7704 7831 I OMXClient: IOmx service obtained
06-15 05:42:47.067 650 1364 I OMXMaster: makeComponentInstance(OMX.hisi.video.decoder.avc) in omx@1.0-service process
06-15 05:42:47.067 650 1364 D HIOMX_CORE: OMX_GetHandle :: component name:OMX.hisi.video.decoder.avc
06-15 05:42:47.067 650 1364 E HIOMX_CORE: opening file: No such file or directory
06-15 05:42:47.067 650 1364 D HIOMX_CORE: OMX_GetHandle :: prepare to load libOMX.hisi.video.decoder.so
06-15 05:42:47.068 650 1364 D HIOMX_CORE: OMX_GetHandle :: load libOMX.hisi.video.decoder.so ok
06-15 05:42:47.070 650 1364 I VDEC : [OMXVDECThreadState] task_create_thread, create task success
06-15 05:42:47.070 650 1364 I VDEC : hi_open : open driver ok[/dev/hi_vdec],drv fd : 8
06-15 05:42:47.070 650 1364 I VDEC : [OMXThreadState] create event thread success.
06-15 05:42:47.070 650 7834 I VDEC : [OMXVDECThreadState] enter task thread
06-15 05:42:47.071 650 7835 I VDEC : [OMXThreadState] enter event thread.
06-15 05:42:47.076 555 2631 I GRALLOC : getCallingPid=595, shrFd=20,fmt=0x1,intFmt=0x200000001,btStrd=4352,size=9904128,pid=555
06-15 05:42:47.076 555 2631 I GRALLOC : yuv=2,w=1080,h=2240,Stride u=0 v=0,offset u=0 v=0
06-15 05:42:47.076 555 2631 I GRALLOC : iova_size=9904128,conUsg=0xb00,proUsg=0xb00, strd=1088,[afbc]HdrStrd=1088 PyldStrd=69632 Scrmbl=2,ionhnd = 1
06-15 05:42:47.089 7704 7830 D SurfaceUtils: connecting to surface 0x761f6f7010, reason connectToSurface
06-15 05:42:47.089 7704 7830 I MediaCodec: [OMX.hisi.video.decoder.avc] setting surface generation to 7888897
06-15 05:42:47.089 7704 7830 D SurfaceUtils: disconnecting from surface 0x761f6f7010, reason connectToSurface(reconnect)
06-15 05:42:47.089 7704 7830 D SurfaceUtils: connecting to surface 0x761f6f7010, reason connectToSurface(reconnect)
06-15 05:42:47.090 650 1364 W VDEC : set_parameter, allocate native buffer Bad port index 1
06-15 05:42:47.090 650 1364 E OMXNodeInstance: setParameter(0xeae27d80:hisi.decoder.avc, OMX.google.android.index.allocateNativeHandle(0x7f000008): Output:1 en=0) ERROR: BadPortIndex(0x8000101b)
06-15 05:42:47.090 650 1364 W VDEC : get_extension_index, “OMX.google.android.index.storeANWBufferInMetadata” not implemented
06-15 05:42:47.090 650 1364 W VDEC : get_extension_index, “OMX.google.android.index.storeMetaDataInBuffers” not implemented
06-15 05:42:47.090 650 1364 E OMXNodeInstance: getExtensionIndex(0xeae27d80:hisi.decoder.avc, OMX.google.android.index.storeMetaDataInBuffers) ERROR: NotImplemented(0x80001006)
06-15 05:42:47.090 7704 7831 E ACodec : [OMX.hisi.video.decoder.avc] setPortMode on output to DynamicANWBuffer failed w/ err -2147483648
06-15 05:42:47.090 650 1364 W VDEC : set_parameter, allocate native buffer Bad port index 1
06-15 05:42:47.091 650 1364 E OMXNodeInstance: setParameter(0xeae27d80:hisi.decoder.avc, OMX.google.android.index.allocateNativeHandle(0x7f000008): Output:1 en=0) ERROR: BadPortIndex(0x8000101b)
06-15 05:42:47.091 650 1364 W VDEC : get_extension_index, “OMX.google.android.index.storeANWBufferInMetadata” not implemented
06-15 05:42:47.091 650 1364 W VDEC : get_extension_index, “OMX.google.android.index.storeMetaDataInBuffers” not implemented
06-15 05:42:47.091 650 1364 E OMXNodeInstance: getExtensionIndex(0xeae27d80:hisi.decoder.avc, OMX.google.android.index.storeMetaDataInBuffers) ERROR: NotImplemented(0x80001006)
06-15 05:42:47.091 650 714 I VDEC : set_parameter, Invalid stride 64 is not equal to cal_stride 512 of width 450
06-15 05:42:47.091 650 714 I VDEC : set_parameter, Invalid stride convert to 512
06-15 05:42:47.091 650 714 I VDEC : buffer min_count[1], max_count[8]
06-15 05:42:47.091 650 714 I VDEC : portDefn->nPortIndex is 0, xFramerate is 0
06-15 05:42:47.091 650 714 W VDEC : [vdecutil_set_framerate], xFramerate is more than 60000, not reasonable , mFrameRate is 0
06-15 05:42:47.092 650 1364 W VDEC : get_extension_index, “OMX.google.android.index.storeMetaDataInBuffers” not implemented
06-15 05:42:47.092 650 1364 W VDEC : get_extension_index, “OMX.google.android.index.storeANWBufferInMetadata” not implemented
06-15 05:42:47.092 650 1364 W VDEC : get_extension_index, “OMX.google.android.index.configureVideoTunnelMode” not implemented
06-15 05:42:47.092 650 1364 I VDEC : set config index 0x7f00000b OMX_GoogleIndexDescribeColorAspects
06-15 05:42:47.092 650 1364 I VDEC : Range 2 Primaries 1 MatrixCoeffs 1 Tansfer 3
06-15 05:42:47.092 650 714 W VDEC : get_extension_index, “OMX.google.android.index.describeHDRStaticInfo” not implemented
06-15 05:42:47.093 650 1364 W VDEC : [set_config], unknown index 0x6f800002
06-15 05:42:47.093 650 1364 E OMXNodeInstance: setConfig(0xeae27d80:hisi.decoder.avc, ConfigPriority(0x6f800002)) ERROR: BadParameter(0x80001005)
06-15 05:42:47.093 7704 7831 I ACodec : codec does not support config priority (err -22)
06-15 05:42:47.094 650 1364 I VDEC : set config index 0x7f00000b OMX_GoogleIndexDescribeColorAspects
06-15 05:42:47.095 650 1364 I VDEC : Range 2 Primaries 1 MatrixCoeffs 1 Tansfer 3
06-15 05:42:47.095 650 1364 I VDEC : get config OMX_GoogleIndexDescribeColorAspects
06-15 05:42:47.095 650 1364 I VDEC : Range 2 Primaries 1 MatrixCoeffs 1 Tansfer 3
06-15 05:42:47.095 650 715 I VDEC : get config OMX_GoogleIndexDescribeColorAspects
06-15 05:42:47.095 650 715 I VDEC : Range 2 Primaries 1 MatrixCoeffs 1 Tansfer 3
06-15 05:42:47.099 650 7835 I VDEC : OmxState, Current State 1, Expected State 2
06-15 05:42:47.099 650 7835 I VDEC : channel_create enter
06-15 05:42:47.099 650 7835 E ion : ioctl c0044901 failed with code -1: Invalid argument
06-15 05:42:47.099 650 7835 I VDEC :
06-15 05:42:47.099 650 7835 I VDEC : Protocol = H264
06-15 05:42:47.099 650 7835 I VDEC : Resolution = 450x800
06-15 05:42:47.099 650 7835 I VDEC : Stride = 512
06-15 05:42:47.099 650 7835 I VDEC : ColorFormat = YUV420SemiPlanar
06-15 05:42:47.099 650 7835 I VDEC : IsAdvProfile = 0
06-15 05:42:47.099 650 7835 I VDEC : CodecVersion = 0
06-15 05:42:47.099 650 7835 I VDEC : bReversed = 0
06-15 05:42:47.099 650 7835 I VDEC : SpecMode = 0
06-15 05:42:47.099 650 7835 I VDEC : Priority = 1
06-15 05:42:47.099 650 7835 I VDEC : ErrThreshold = 100
06-15 05:42:47.099 650 7835 I VDEC : DecMode = 0
06-15 05:42:47.099 650 7835 I VDEC : OutputOrder = 0
06-15 05:42:47.099 650 7835 I VDEC : LowdlyEnable = 0
06-15 05:42:47.099 650 7835 I VDEC : CompressEnbale = 0
06-15 05:42:47.099 650 7835 I VDEC : ActInBufNum = 5
06-15 05:42:47.099 650 7835 I VDEC : ActInBufSize = 2097152
06-15 05:42:47.099 650 7835 I VDEC :
06-15 05:42:47.099 650 7835 I VDEC : pchan->frame_rate 0, width 450, height 800, chan_num 1, needHighFreq 0, needNormFreq 0
06-15 05:42:47.107 650 7835 I VDEC : [VFMWThreadState] create vfmw_ctrl thread success
06-15 05:42:47.108 650 7841 I VDEC : [VFMWThreadState] enter scd thread
06-15 05:42:47.108 650 7835 I VDEC : [VFMWThreadState] create scd thread success
06-15 05:42:47.108 650 7842 I VDEC : [VFMWThreadState] enter vdh process thread
06-15 05:42:47.108 650 7835 I VDEC : [VFMWThreadState] create vdh thread success
06-15 05:42:47.112 650 7840 I VDEC : [VFMWThreadState] enter vfmw_ctrl thread
06-15 05:42:47.112 650 7840 I VDEC : [VFMWThreadState] start vfmw_ctrl thread
06-15 05:42:47.114 650 7835 I VDEC : VCTRL_CreateChanWithOption, vfmw channel create success ChanID 3
06-15 05:42:47.115 650 7835 I VDEC : [OMXVDECThreadState] processor_create_inst, create processor thread success, [BppContext : 0xec8c0000, channel_id: 0, decoder_id: 3, processor_id :0]
06-15 05:42:47.116 650 7835 I VDEC : [OMXThreadState] create msg thread success.
06-15 05:42:47.116 650 7835 I VDEC : [OMXThreadState] create commonblock thread success.
06-15 05:42:47.116 650 7835 I VDEC : [OmxState] Loaded --> Idle_Pending
06-15 05:42:47.117 650 7846 I VDEC : [OMXThreadState] enter commonblock thread.
06-15 05:42:47.117 650 7845 I VDEC : [OMXThreadState] enter msg thread.
06-15 05:42:47.119 650 7844 I VDEC : [OMXVDECThreadState] processor_thread, enter processor thread success, [BppContext : 0xec8c0000, channel_id: 0, decoder_id: 3, processor_id :0]
06-15 05:42:47.120 543 543 W AshmemAllocator: ashmem_create_region(2097152) returning hidl_memory(0x709ec2c100, 2097152)
06-15 05:42:47.133 543 543 I chatty : uid=1000(system) allocator@1.0-s identical 3 lines
06-15 05:42:47.134 543 543 W AshmemAllocator: ashmem_create_region(2097152) returning hidl_memory(0x709ec2c100, 2097152)
06-15 05:42:47.135 650 1364 W VDEC : get_extension_index, “OMX.google.android.index.AndroidNativeBufferConsumerUsage” not implemented
06-15 05:42:47.135 7704 7831 D SurfaceUtils: disconnecting from surface 0x761f6f7010, reason setNativeWindowSizeFormatAndUsage
06-15 05:42:47.135 7704 7831 D SurfaceUtils: connecting to surface 0x761f6f7010, reason setNativeWindowSizeFormatAndUsage
06-15 05:42:47.135 7704 7831 D SurfaceUtils: set up nativeWindow 0x761f6f7010 for 450x800, color 0x30d, rotation 0, usage 0x20002900
06-15 05:42:47.137 7704 7831 W MapperHal: buffer descriptor with invalid usage bits 0x2000
06-15 05:42:47.138 555 2631 I GRALLOC : getCallingPid=7704, shrFd=20,fmt=0x300,intFmt=0x300,btStrd=512,size=622592,pid=555
06-15 05:42:47.138 555 2631 I GRALLOC : yuv=1,w=450,h=800,Stride u=512 v=512,offset u=409600 v=409600
06-15 05:42:47.138 555 2631 I GRALLOC : iova_size=622592,conUsg=0x20002900,proUsg=0x20002900, strd=512,[afbc]HdrStrd=0 PyldStrd=0 Scrmbl=0,ionhnd = 1
06-15 05:42:47.146 1509 1509 W ChimeraUtils: Non Chimera context
06-15 05:42:47.146 1509 1509 W ChimeraUtils: Non Chimera context
06-15 05:42:47.146 7704 7831 W MapperHal: buffer descriptor with invalid usage bits 0x2000
06-15 05:42:47.148 555 2631 I GRALLOC : getCallingPid=7704, shrFd=20,fmt=0x300,intFmt=0x300,btStrd=512,size=622592,pid=555
06-15 05:42:47.148 555 2631 I GRALLOC : yuv=1,w=450,h=800,Stride u=512 v=512,offset u=409600 v=409600
06-15 05:42:47.148 555 2631 I GRALLOC : iova_size=622592,conUsg=0x20002900,proUsg=0x20002900, strd=512,[afbc]HdrStrd=0 PyldStrd=0 Scrmbl=0,ionhnd = 1
06-15 05:42:47.149 7704 7831 W MapperHal: buffer descriptor with invalid usage bits 0x2000
06-15 05:42:47.149 555 793 I GRALLOC : getCallingPid=7704, shrFd=20,fmt=0x300,intFmt=0x300,btStrd=512,size=622592,pid=555
06-15 05:42:47.149 555 793 I GRALLOC : yuv=1,w=450,h=800,Stride u=512 v=512,offset u=409600 v=409600
06-15 05:42:47.149 555 793 I GRALLOC : iova_size=622592,conUsg=0x20002900,proUsg=0x20002900, strd=512,[afbc]HdrStrd=0 PyldStrd=0 Scrmbl=0,ionhnd = 1
06-15 05:42:47.150 7704 7831 W MapperHal: buffer descriptor with invalid usage bits 0x2000
06-15 05:42:47.151 555 793 I GRALLOC : getCallingPid=7704, shrFd=20,fmt=0x300,intFmt=0x300,btStrd=512,size=622592,pid=555
06-15 05:42:47.151 555 793 I GRALLOC : yuv=1,w=450,h=800,Stride u=512 v=512,offset u=409600 v=409600
06-15 05:42:47.151 555 793 I GRALLOC : iova_size=622592,conUsg=0x20002900,proUsg=0x20002900, strd=512,[afbc]HdrStrd=0 PyldStrd=0 Scrmbl=0,ionhnd = 1
06-15 05:42:47.151 7704 7831 W MapperHal: buffer descriptor with invalid usage bits 0x2000
06-15 05:42:47.152 555 793 I GRALLOC : getCallingPid=7704, shrFd=20,fmt=0x300,intFmt=0x300,btStrd=512,size=622592,pid=555
06-15 05:42:47.152 555 793 I GRALLOC : yuv=1,w=450,h=800,Stride u=512 v=512,offset u=409600 v=409600
06-15 05:42:47.152 555 793 I GRALLOC : iova_size=622592,conUsg=0x20002900,proUsg=0x20002900, strd=512,[afbc]HdrStrd=0 PyldStrd=0 Scrmbl=0,ionhnd = 1
06-15 05:42:47.153 7704 7831 W MapperHal: buffer descriptor with invalid usage bits 0x2000