element-android icon indicating copy to clipboard operation
element-android copied to clipboard

Camera Images / Photo Upload Fails

Open MamasLT opened this issue 5 years ago • 5 comments

Looked around, found similar issues, but not quite like this one: It keeps crashing. Or in more correct words - it keeps closing the app page, but keeping it open. OR now it seems to just crash on image sending and re-open Rooms page.

When I tap on image I want to upload to encrypted channel (same is with not encrypted channels), it does nothing for a while and then closes app window, when i go back to it - its taken to Rooms page. ;/ I tried holding longer on that image - it marked it, But when i pressed Open - same thing again. Back to Rooms

--- UPDATE At first i thought this was happening because of the image size, because uploading small images seemed to work as intended, but now I see this is a issue with Uploading Images from phone Camera (Images created by phone camera). It just doesn't work. I even tried to use Camera direcly, to take a picture and upload it. It took the picture there was 2 choises (cancel or a tick to accept) when i pressed that tick button the same thing happened - i was taken back to Rooms with nothing uploaded. The images donwloaded from internet, even if their size almost matches the ones taken by camera - are uploaded just fine.

MamasLT avatar May 25 '20 23:05 MamasLT

I struggle with the same problem.

06-11 10:58:30.815  4185  4185 D PickerActionHandler: onFinished() [content://com.android.providers.media.documents/document/image%3A20898]
06-11 10:58:31.815  9433  9535 I Gralloc2: Adding additional valid usage bits: 0x2200000
06-11 10:58:31.838  9433  9535 W Adreno-ES20: <core_glEGLImageTargetTexture2DOES:4548>: GL_INVALID_VALUE
06-11 10:58:31.838  9433  9535 E OpenGLRenderer: GL error:  GL_INVALID_VALUE
06-11 10:58:31.838  9433  9535 F OpenGLRenderer: glEGLImageTargetTexture2DOES error! GL_INVALID_VALUE (0x501)
06-11 10:58:31.839  9433  9535 F libc    : Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 9535 (RenderThread), pid 9433 (im.vector.riotx)
06-11 10:58:31.908  9725  9725 W crash_dump32: failed to fetch registers for thread 9433: I/O error
06-11 10:58:31.908  9725  9725 W crash_dump32: failed to fetch registers for thread 9439: I/O error
06-11 10:58:31.909  9725  9725 W crash_dump32: failed to fetch registers for thread 9440: I/O error
[...many more theads...]
06-11 10:58:31.922  9725  9725 W crash_dump32: failed to fetch registers for thread 9662: I/O error
06-11 10:58:31.922  9725  9725 W crash_dump32: failed to fetch registers for thread 9669: I/O error
06-11 10:58:31.962  9725  9725 I crash_dump32: obtaining output fd from tombstoned, type: kDebuggerdTombstone
06-11 10:58:31.963  1344  1344 I /system/bin/tombstoned: received crash request for pid 9535
06-11 10:58:31.963  9725  9725 I crash_dump32: performing dump of process 9433 (target tid = 9535)
06-11 10:58:31.987  9725  9725 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
06-11 10:58:31.987  9725  9725 F DEBUG   : LineageOS Version: '16.0-20200419-NIGHTLY-klte'
06-11 10:58:31.987  9725  9725 F DEBUG   : Build fingerprint: 'samsung/kltexx/klte:6.0.1/MMB29M/G900FXXU1CRH1:user/release-keys'
06-11 10:58:31.987  9725  9725 F DEBUG   : Revision: '14'
06-11 10:58:31.987  9725  9725 F DEBUG   : ABI: 'arm'
06-11 10:58:31.987  9725  9725 F DEBUG   : pid: 9433, tid: 9535, name: RenderThread  >>> im.vector.riotx <<<
06-11 10:58:31.987  9725  9725 F DEBUG   : signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
06-11 10:58:31.988  9725  9725 F DEBUG   : Abort message: 'glEGLImageTargetTexture2DOES error! GL_INVALID_VALUE (0x501)'
06-11 10:58:31.988  9725  9725 F DEBUG   :     r0  00000000  r1  0000253f  r2  00000006  r3  00000008
06-11 10:58:31.988  9725  9725 F DEBUG   :     r4  000024d9  r5  0000253f  r6  877f21a4  r7  0000010c
06-11 10:58:31.988  9725  9725 F DEBUG   :     r8  a6d2bc26  r9  a6d2bc37  r10 a6d2bbd0  r11 a6d2bc6c
06-11 10:58:31.988  9725  9725 F DEBUG   :     ip  00000041  sp  877f2190  lr  a572e125  pc  a5725e4a
06-11 10:58:32.066  9725  9725 F DEBUG   : 
06-11 10:58:32.066  9725  9725 F DEBUG   : backtrace:
06-11 10:58:32.066  9725  9725 F DEBUG   :     #00 pc 0001ce4a  /system/lib/libc.so (abort+58)
06-11 10:58:32.066  9725  9725 F DEBUG   :     #01 pc 00006d5d  /system/lib/liblog.so (__android_log_assert+156)
06-11 10:58:32.066  9725  9725 F DEBUG   :     #02 pc 003758a1  /system/lib/libhwui.so (android::uirenderer::debug::GlesErrorCheckWrapper::assertNoErrors(char const*)+76)
06-11 10:58:32.066  9725  9725 F DEBUG   :     #03 pc 00091839  /system/lib/libhwui.so (android::uirenderer::skiapipeline::SkiaOpenGLPipeline::allocateHardwareBitmap(android::uirenderer::renderthread::RenderThread&, SkBitmap&)+792)
06-11 10:58:32.066  9725  9725 F DEBUG   :     #04 pc 0037de7b  /system/lib/libhwui.so (android::uirenderer::renderthread::RenderThread::allocateHardwareBitmap(SkBitmap&)+42)
06-11 10:58:32.066  9725  9725 F DEBUG   :     #05 pc 000a3795  /system/lib/libhwui.so (_ZNSt3__120__packaged_task_funcIZN7android10uirenderer12renderthread11RenderProxy22allocateHardwareBitmapER8SkBitmapE4$_41NS_9allocatorIS7_EEF5sk_spINS1_6BitmapEEvEEclEv$9405f586a754384f0be28aaf2b5d6be1+8)
06-11 10:58:32.066  9725  9725 F DEBUG   :     #06 pc 0037daa9  /system/lib/libhwui.so (std::__1::packaged_task<sk_sp<android::Bitmap> ()>::operator()()+48)
06-11 10:58:32.066  9725  9725 F DEBUG   :     #07 pc 003431ef  /system/lib/libhwui.so (android::uirenderer::WorkQueue::process()+122)
06-11 10:58:32.066  9725  9725 F DEBUG   :     #08 pc 000a4313  /system/lib/libhwui.so (android::uirenderer::renderthread::RenderThread::threadLoop()+182)
06-11 10:58:32.066  9725  9725 F DEBUG   :     #09 pc 0000c0b7  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+170)
06-11 10:58:32.066  9725  9725 F DEBUG   :     #10 pc 00064b53  /system/lib/libc.so (__pthread_start(void*)+22)
06-11 10:58:32.066  9725  9725 F DEBUG   :     #11 pc 0001e061  /system/lib/libc.so (__start_thread+32)
06-11 10:58:32.286  1344  1344 E /system/bin/tombstoned: Tombstone written to: /data/tombstones/tombstone_08
06-11 10:58:32.288  9535  9535 W RenderThread: type=1701 audit(0.0:7920): auid=4294967295 uid=10101 gid=10101 ses=4294967295 subj=u:r:untrusted_app:s0:c101,c256,c512,c768 reason="memory violation" sig=6
06-11 10:58:32.319  1473  9737 W ActivityManager: Process im.vector.riotx has crashed too many times: killing!

alangecker avatar Jun 11 '20 09:06 alangecker

I was able to track down the crash being caused by ImageDecoder.decodeBitmap in ImageUtils::getBitmap https://github.com/vector-im/riotX-android/blob/develop/multipicker/src/main/java/im/vector/lib/multipicker/utils/ImageUtils.kt#L33 Switching to the "legacy" BitmapFactory.decodeStream way fixed the issue for me.


image

alangecker avatar Jun 11 '20 11:06 alangecker

I'm also seeing these issues, I've noticed however that it usually succeeds the second time around once you've fought your way back into the room :/.

Half-Shot avatar Jun 26 '20 11:06 Half-Shot

Just go to im.vector.lib.multipicker.utils.ImageUtils and Replace this statement if(Build.VERSION.SDK_INT> = Build.VERSION_CODES.P) whit if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q)

SAEEDHONARI avatar Feb 22 '21 15:02 SAEEDHONARI

I have started working on a fix to this issue.

Duplicate issues: #1851 and probably #4545

atpamat avatar Sep 16 '22 16:09 atpamat