Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SIGSEGV on android 4.3 (galaxy nexus) JWR66Y #372

Closed
mufumbo opened this issue Mar 18, 2015 · 21 comments
Closed

SIGSEGV on android 4.3 (galaxy nexus) JWR66Y #372

mufumbo opened this issue Mar 18, 2015 · 21 comments
Labels

Comments

@mufumbo
Copy link

mufumbo commented Mar 18, 2015

Hey guys,

I'm getting this SIGSEGV exception when using glide on a galaxy nexus. The same issue doesn't happen on Genymotion and doesn't happen on my nexus 5. Any thoughts?

First I thought glide wasn't compatible with this sdk level, but in the other thread it was clarified that the compat level is 10, so I am a bit lost.

Thanks!

03-17 20:33:46.802  19284-19350/? A/libc﹕ Fatal signal 11 (SIGSEGV) at 0xc57e187b (code=1), thread 19350 (fifo-pool-threa)
03-17 20:33:47.091      123-123/? I/DEBUG﹕ *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
03-17 20:33:47.091      123-123/? I/DEBUG﹕ Build fingerprint: 'google/takju/maguro:4.3/JWR66Y/776638:user/release-keys'
03-17 20:33:47.091      123-123/? I/DEBUG﹕ Revision: '9'
03-17 20:33:47.091      123-123/? I/DEBUG﹕ pid: 19284, tid: 19350, name: fifo-pool-threa  >>> com.mufumbo.android.recipe.search <<<
03-17 20:33:47.091      123-123/? I/DEBUG﹕ signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr c57e187b
03-17 20:33:47.747      123-123/? I/DEBUG﹕ r0 c57e1877  r1 7dcebea0  r2 00000005  r3 c57e1877
03-17 20:33:47.755      123-123/? I/DEBUG﹕ r4 00000728  r5 00000724  r6 5a84b738  r7 28000000
03-17 20:33:47.755      123-123/? I/DEBUG﹕ r8 00000005  r9 00000000  sl 00003128  fp 00000004
03-17 20:33:47.755      123-123/? I/DEBUG﹕ ip 00000000  sp 5ef8f7c8  lr 40070599  pc 40070978  cpsr 20000030
03-17 20:33:47.755      123-123/? I/DEBUG﹕ d0  0000000000000000  d1  0000000000000000
03-17 20:33:47.755      123-123/? I/DEBUG﹕ d2  0000000000000000  d3  0000000000000000
03-17 20:33:47.755      123-123/? I/DEBUG﹕ d4  2fa1a2a32548993e  d5  62640913b040fe53
03-17 20:33:47.755      123-123/? I/DEBUG﹕ d6  fe990bbf77cc51d5  d7  3f8000006c46f753
03-17 20:33:47.755      123-123/? I/DEBUG﹕ d8  3f8000003f800000  d9  4346000000000000
03-17 20:33:47.755      123-123/? I/DEBUG﹕ d10 0000000041b00000  d11 0000000000000000
03-17 20:33:47.755      123-123/? I/DEBUG﹕ d12 0000000000000000  d13 0000000000000000
03-17 20:33:47.755      123-123/? I/DEBUG﹕ d14 0000000000000000  d15 0000000000000000
03-17 20:33:47.755      123-123/? I/DEBUG﹕ d16 0000000000000001  d17 0000000100000000
03-17 20:33:47.755      123-123/? I/DEBUG﹕ d18 0000000100000000  d19 0000000100000000
03-17 20:33:47.755      123-123/? I/DEBUG﹕ d20 ffffffff00000000  d21 ffffffff00000000
03-17 20:33:47.755      123-123/? I/DEBUG﹕ d22 ffffffff00000000  d23 ffffffff00000000
03-17 20:33:47.755      123-123/? I/DEBUG﹕ d24 fffffffe00000000  d25 fffffffe00000000
03-17 20:33:47.755      123-123/? I/DEBUG﹕ d26 ffffffff00000000  d27 ffffffff00000000
03-17 20:33:47.755      123-123/? I/DEBUG﹕ d28 0000000100000000  d29 0000000100000000
03-17 20:33:47.755      123-123/? I/DEBUG﹕ d30 0000000100000000  d31 0000000100000000
03-17 20:33:47.755      123-123/? I/DEBUG﹕ scr 60000097
03-17 20:33:47.771      123-123/? I/DEBUG﹕ backtrace:
03-17 20:33:47.778      123-123/? I/DEBUG﹕ #00  pc 0000f978  /system/lib/libc.so (dlmalloc+1043)
03-17 20:33:47.778      123-123/? I/DEBUG﹕ #01  pc 00010f5f  /system/lib/libc.so (dlcalloc+42)
03-17 20:33:47.778      123-123/? I/DEBUG﹕ #02  pc 0000d9d3  /system/lib/libc.so (calloc+10)
03-17 20:33:47.778      123-123/? I/DEBUG﹕ #03  pc 001cd7ad  /system/lib/libskia.so (VP8New+8)
03-17 20:33:47.778      123-123/? I/DEBUG﹕ #04  pc 001cc091  /system/lib/libskia.so
03-17 20:33:47.778      123-123/? I/DEBUG﹕ #05  pc 00112580  /system/lib/libskia.so
03-17 20:33:47.778      123-123/? I/DEBUG﹕ #06  pc 00112988  /system/lib/libskia.so (SkWEBPImageDecoder::onDecode(SkStream*, SkBitmap*, SkImageDecoder::Mode)+256)
03-17 20:33:47.778      123-123/? I/DEBUG﹕ #07  pc 0010c968  /system/lib/libskia.so (SkImageDecoder::decode(SkStream*, SkBitmap*, SkBitmap::Config, SkImageDecoder::Mode, bool)+168)
03-17 20:33:47.778      123-123/? I/DEBUG﹕ #08  pc 00072c11  /system/lib/libandroid_runtime.so
03-17 20:33:47.778      123-123/? I/DEBUG﹕ #09  pc 000732cb  /system/lib/libandroid_runtime.so
03-17 20:33:47.778      123-123/? I/DEBUG﹕ #10  pc 000732f7  /system/lib/libandroid_runtime.so
03-17 20:33:47.778      123-123/? I/DEBUG﹕ #11  pc 0001dc4c  /system/lib/libdvm.so (dvmPlatformInvoke+112)
03-17 20:33:47.778      123-123/? I/DEBUG﹕ #12  pc 0004decf  /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+398)
03-17 20:33:47.778      123-123/? I/DEBUG﹕ #13  pc 00027060  /system/lib/libdvm.so
03-17 20:33:47.778      123-123/? I/DEBUG﹕ #14  pc 0002b5ec  /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
03-17 20:33:47.778      123-123/? I/DEBUG﹕ #15  pc 0005ff21  /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+292)
03-17 20:33:47.778      123-123/? I/DEBUG﹕ #16  pc 0005ff4b  /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20)
03-17 20:33:47.786      123-123/? I/DEBUG﹕ #17  pc 00054ccb  /system/lib/libdvm.so
03-17 20:33:47.786      123-123/? I/DEBUG﹕ #18  pc 0000ca58  /system/lib/libc.so (__thread_entry+72)
03-17 20:33:47.786      123-123/? I/DEBUG﹕ #19  pc 0000cbd4  /system/lib/libc.so (pthread_create+208)
03-17 20:33:47.786      123-123/? I/DEBUG﹕ stack:
03-17 20:33:47.786      123-123/? I/DEBUG﹕ 5ef8f788  5ef8f828
03-17 20:33:47.786      123-123/? I/DEBUG﹕ 5ef8f78c  5e75a4d7  /data/dalvik-cache/data@[email protected]@classes.dex
03-17 20:33:47.786      123-123/? I/DEBUG﹕ 5ef8f790  5a853a90
03-17 20:33:47.786      123-123/? I/DEBUG﹕ 5ef8f794  5a8207a0
03-17 20:33:47.786      123-123/? I/DEBUG﹕ 5ef8f798  5a8cf01c
03-17 20:33:47.786      123-123/? I/DEBUG﹕ 5ef8f79c  0000616e
03-17 20:33:47.786      123-123/? I/DEBUG﹕ 5ef8f7a0  5ef8f830
03-17 20:33:47.786      123-123/? I/DEBUG﹕ 5ef8f7a4  00000000
03-17 20:33:47.786      123-123/? I/DEBUG﹕ 5ef8f7a8  00000000
03-17 20:33:47.786      123-123/? I/DEBUG﹕ 5ef8f7ac  40483659  /system/lib/libskia.so
03-17 20:33:47.786      123-123/? I/DEBUG﹕ 5ef8f7b0  00000724
03-17 20:33:47.786      123-123/? I/DEBUG﹕ 5ef8f7b4  00000724
03-17 20:33:47.786      123-123/? I/DEBUG﹕ 5ef8f7b8  00000000
03-17 20:33:47.786      123-123/? I/DEBUG﹕ 5ef8f7bc  5ef8f8f8
03-17 20:33:47.786      123-123/? I/DEBUG﹕ 5ef8f7c0  df0027ad
03-17 20:33:47.786      123-123/? I/DEBUG﹕ 5ef8f7c4  00000000
03-17 20:33:47.786      123-123/? I/DEBUG﹕ #00  5ef8f7c8  5ef8f81c
03-17 20:33:47.786      123-123/? I/DEBUG﹕ 5ef8f7cc  4093134d  /system/lib/libdvm.so
03-17 20:33:47.794      123-123/? I/DEBUG﹕ 5ef8f7d0  5a8cf008
03-17 20:33:47.794      123-123/? I/DEBUG﹕ 5ef8f7d4  00006182
03-17 20:33:47.794      123-123/? I/DEBUG﹕ 5ef8f7d8  00000000
03-17 20:33:47.794      123-123/? I/DEBUG﹕ 5ef8f7dc  00000724
03-17 20:33:47.794      123-123/? I/DEBUG﹕ 5ef8f7e0  00000724
03-17 20:33:47.794      123-123/? I/DEBUG﹕ 5ef8f7e4  00000000
03-17 20:33:47.794      123-123/? I/DEBUG﹕ 5ef8f7e8  5ef8f8f8
03-17 20:33:47.794      123-123/? I/DEBUG﹕ 5ef8f7ec  597de980
03-17 20:33:47.794      123-123/? I/DEBUG﹕ 5ef8f7f0  00000000
03-17 20:33:47.794      123-123/? I/DEBUG﹕ 5ef8f7f4  5a87bf88
03-17 20:33:47.794      123-123/? I/DEBUG﹕ 5ef8f7f8  00000004
03-17 20:33:47.794      123-123/? I/DEBUG﹕ 5ef8f7fc  40071f63  /system/lib/libc.so (dlcalloc+46)
03-17 20:33:47.794      123-123/? I/DEBUG﹕ #01  5ef8f800  40071f35  /system/lib/libc.so (dlcalloc)
03-17 20:33:47.794      123-123/? I/DEBUG﹕ 5ef8f804  52125010
03-17 20:33:47.794      123-123/? I/DEBUG﹕ 5ef8f808  00000000
03-17 20:33:47.794      123-123/? I/DEBUG﹕ 5ef8f80c  4006e9d5  /system/lib/libc.so (calloc+12)
03-17 20:33:47.794      123-123/? I/DEBUG﹕ #02  5ef8f810  00006182
03-17 20:33:47.794      123-123/? I/DEBUG﹕ 5ef8f814  404817b1  /system/lib/libskia.so (VP8New+12)
03-17 20:33:47.817      123-123/? I/DEBUG﹕ memory near r1:
03-17 20:33:47.817      123-123/? I/DEBUG﹕ 7dcebe80 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.817      123-123/? I/DEBUG﹕ 7dcebe90 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.817      123-123/? I/DEBUG﹕ 7dcebea0 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.817      123-123/? I/DEBUG﹕ 7dcebeb0 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.817      123-123/? I/DEBUG﹕ 7dcebec0 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.817      123-123/? I/DEBUG﹕ 7dcebed0 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.817      123-123/? I/DEBUG﹕ 7dcebee0 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.817      123-123/? I/DEBUG﹕ 7dcebef0 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.817      123-123/? I/DEBUG﹕ 7dcebf00 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.817      123-123/? I/DEBUG﹕ 7dcebf10 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.817      123-123/? I/DEBUG﹕ 7dcebf20 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.817      123-123/? I/DEBUG﹕ 7dcebf30 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.817      123-123/? I/DEBUG﹕ 7dcebf40 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.817      123-123/? I/DEBUG﹕ 7dcebf50 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.817      123-123/? I/DEBUG﹕ 7dcebf60 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.817      123-123/? I/DEBUG﹕ 7dcebf70 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.817      123-123/? I/DEBUG﹕ memory near r6:
03-17 20:33:47.817      123-123/? I/DEBUG﹕ 5a84b718 65b682de 24811070 e7c1d081 fa9ac42e
03-17 20:33:47.817      123-123/? I/DEBUG﹕ 5a84b728 3d2fe9b0 80a1029a dac9e405 a7d590f3
03-17 20:33:47.825      123-123/? I/DEBUG﹕ 5a84b738 fba5179f 7dcec5ca 3758515f 08c04f18
03-17 20:33:47.825      123-123/? I/DEBUG﹕ 5a84b748 5b41608a c57e1877 364fee70 30318e6e
03-17 20:33:47.825      123-123/? I/DEBUG﹕ 5a84b758 d83cd7b9 4682848b 0b9e757f 699c6a7a
03-17 20:33:47.825      123-123/? I/DEBUG﹕ 5a84b768 8f6a98da 2a1a3831 0f90d86d 3e296bbd
03-17 20:33:47.825      123-123/? I/DEBUG﹕ 5a84b778 ff4cd553 feac55ac 07e9fbd8 8f985808
03-17 20:33:47.825      123-123/? I/DEBUG﹕ 5a84b788 6d6945cd 9b22bb99 55ef968e 9745874d
03-17 20:33:47.825      123-123/? I/DEBUG﹕ 5a84b798 50bf6dfa 5e1cc4eb b25f0985 eb064260
03-17 20:33:47.825      123-123/? I/DEBUG﹕ 5a84b7a8 22810be8 ab0e1bd2 9af457e8 eed02470
03-17 20:33:47.825      123-123/? I/DEBUG﹕ 5a84b7b8 cefa6c48 49b14682 c232cdf6 0c6aa3c1
03-17 20:33:47.825      123-123/? I/DEBUG﹕ 5a84b7c8 b25c4ad2 6e9778f7 6d60226d cf195c15
03-17 20:33:47.825      123-123/? I/DEBUG﹕ 5a84b7d8 5620b7a9 bf4cbc44 312dfdc0 958ec8fb
03-17 20:33:47.825      123-123/? I/DEBUG﹕ 5a84b7e8 3da5edca c4fe68ab 2c83346f 509639f1
03-17 20:33:47.825      123-123/? I/DEBUG﹕ 5a84b7f8 f62eb4c9 ac61ca9c 470bb6e0 8c99f29c
03-17 20:33:47.825      123-123/? I/DEBUG﹕ 5a84b808 b86b2d80 9a17dcd5 f2d49af3 54bc891d
03-17 20:33:47.825      123-123/? I/DEBUG﹕ memory near r7:
03-17 20:33:47.825      123-123/? I/DEBUG﹕ 27ffffe0 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.825      123-123/? I/DEBUG﹕ 27fffff0 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.825      123-123/? I/DEBUG﹕ 28000000 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.825      123-123/? I/DEBUG﹕ 28000010 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.825      123-123/? I/DEBUG﹕ 28000020 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.825      123-123/? I/DEBUG﹕ 28000030 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.825      123-123/? I/DEBUG﹕ 28000040 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.825      123-123/? I/DEBUG﹕ 28000050 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.825      123-123/? I/DEBUG﹕ 28000060 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 28000070 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 28000080 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 28000090 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 280000a0 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 280000b0 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 280000c0 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 280000d0 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.833      123-123/? I/DEBUG﹕ memory near sl:
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 00003108 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 00003118 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 00003128 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 00003138 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 00003148 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 00003158 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 00003168 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 00003178 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 00003188 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 00003198 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 000031a8 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 000031b8 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 000031c8 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 000031d8 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 000031e8 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 000031f8 ffffffff ffffffff ffffffff ffffffff
03-17 20:33:47.833      123-123/? I/DEBUG﹕ memory near sp:
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 5ef8f7a8 00000000 40483659 00000724 00000724
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 5ef8f7b8 00000000 5ef8f8f8 df0027ad 00000000
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 5ef8f7c8 5ef8f81c 4093134d 5a8cf008 00006182
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 5ef8f7d8 00000000 00000724 00000724 00000000
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 5ef8f7e8 5ef8f8f8 597de980 00000000 5a87bf88
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 5ef8f7f8 00000004 40071f63 40071f35 52125010
03-17 20:33:47.833      123-123/? I/DEBUG﹕ 5ef8f808 00000000 4006e9d5 00006182 404817b1
03-17 20:33:47.841      123-123/? I/DEBUG﹕ 5ef8f818 00006182 52125010 00000000 40480095
03-17 20:33:47.841      123-123/? I/DEBUG﹕ 5ef8f828 00000000 00000001 5a8cf008 00006182
03-17 20:33:47.841      123-123/? I/DEBUG﹕ 5ef8f838 00000014 00000000 00000000 0000616e
03-17 20:33:47.841      123-123/? I/DEBUG﹕ 5ef8f848 0000617a 00000000 00000000 00007000
03-17 20:33:47.841      123-123/? I/DEBUG﹕ 5ef8f858 00000000 5a8cf008 00000000 4048077f
03-17 20:33:47.841      123-123/? I/DEBUG﹕ 5ef8f868 52125010 5a848010 00006182 5a5d6840
03-17 20:33:47.841      123-123/? I/DEBUG﹕ 5ef8f878 5a848010 52125010 5ef8f8f8 597de980
03-17 20:33:47.841      123-123/? I/DEBUG﹕ 5ef8f888 00000000 5a87bf88 00000004 403c6584
03-17 20:33:47.841      123-123/? I/DEBUG﹕ 5ef8f898 00064660 5a5d6840 597de980 5ef8f9d8
03-17 20:33:47.841      123-123/? I/DEBUG﹕ code around pc:
03-17 20:33:47.841      123-123/? I/DEBUG﹕ 40070958 f853447b b3533020 d0032a1f f1c60856
03-17 20:33:47.841      123-123/? I/DEBUG﹕ 40070968 e0000719 f04f2700 fa040c00 4666f707
03-17 20:33:47.841      123-123/? I/DEBUG﹕ 40070978 f0206858 1b000007 d2034288 461e4601
03-17 20:33:47.841      123-123/? I/DEBUG﹕ 40070988 d0572800 78d7ea4f f1086958 f8530804
03-17 20:33:47.841      123-123/? I/DEBUG﹕ 40070998 b1103028 d1014298 4660e002 4684b113
03-17 20:33:47.841      123-123/? I/DEBUG﹕ 400709a8 e7e5007f 28004603 2e00d144 f06fd142
03-17 20:33:47.841      123-123/? I/DEBUG﹕ 400709b8 fa030301 ea12f202 d02a030a ea06425e
03-17 20:33:47.841      123-123/? I/DEBUG﹕ 400709c8 1e430003 f0020b1a fa230610 0943f006
03-17 20:33:47.841      123-123/? I/DEBUG﹕ 400709d8 0c08f003 f20cfa20 08904466 0304f000
03-17 20:33:47.841      123-123/? I/DEBUG﹕ 400709e8 f203fa22 0c03eb06 f0060856 fa220002
03-17 20:33:47.841      123-123/? I/DEBUG﹕ 400709f8 4484f200 0340f3c2 f603fa22 0003eb0c
03-17 20:33:47.841      123-123/? I/DEBUG﹕ 40070a08 373cf8df 324c1982 447b2600 3022f853
03-17 20:33:47.841      123-123/? I/DEBUG﹕ 40070a18 461ee010 6858e00e 0c07f020 020cebc4
03-17 20:33:47.849      123-123/? I/DEBUG﹕ 40070a28 bf28428a 6919460a 461ebf38 6959b901
03-17 20:33:47.849      123-123/? I/DEBUG﹕ 40070a38 4611460b d1ee2b00 f0002e00 f8df8123
03-17 20:33:47.849      123-123/? I/DEBUG﹕ 40070a48 44780704 1b136882 f0804299 f8d0811b
03-17 20:33:47.849      123-123/? I/DEBUG﹕ code around lr:
03-17 20:33:47.849      123-123/? I/DEBUG﹕ 40070578 f8dfff07 44791b94 21bcf8d1 d4020793
03-17 20:33:47.849      123-123/? I/DEBUG﹕ 40070588 d9092cf4 f501e1a6 260070e0 ed32f7fe
03-17 20:33:47.849      123-123/? I/DEBUG﹕ 40070598 f0412800 e7f3807c d9032c0a f024340b
03-17 20:33:47.849      123-123/? I/DEBUG﹕ 400705a8 e0000407 f8df2410 08e23b68 6818447b
03-17 20:33:47.849      123-123/? I/DEBUG﹕ 400705b8 f102fa20 078e9003 f001d021 f0840401
03-17 20:33:47.849      123-123/? I/DEBUG﹕ 400705c8 18b10601 04c1eb03 68a63428 429468b2
03-17 20:33:47.849      123-123/? I/DEBUG﹕ 400705d8 2201d106 fc01fa02 000cea20 e00c6018
03-17 20:33:47.849      123-123/? I/DEBUG﹕ 400705e8 42826918 68d3d305 d10242b3 60a260d4
03-17 20:33:47.849      123-123/? I/DEBUG﹕ 400705f8 f8dfe003 44780b20 00c8e0df 689de358
03-17 20:33:47.849      123-123/? I/DEBUG﹕ 40070608 f24042ac 2900833f f04fd074 fa000001
03-17 20:33:47.849      123-123/? I/DEBUG﹕ 40070618 fa01f602 fa06f202 4277f600 0c06ea47
03-17 20:33:47.849      123-123/? I/DEBUG﹕ 40070628 0602ea0c ea014271 1e7a0706 f0060b16
03-17 20:33:47.849      123-123/? I/DEBUG﹕ 40070638 fa220110 0957f201 0c08f007 f60cfa22
03-17 20:33:47.849      123-123/? I/DEBUG﹕ 40070648 08b24461 0c04f002 f60cfa26 070ceb01
03-17 20:33:47.857      123-123/? I/DEBUG﹕ 40070658 f100fa26 0202f001 f602fa26 0c02eb07
03-17 20:33:47.857      123-123/? I/DEBUG﹕ 40070668 0140f3c6 f201fa26 0701eb0c eb0318bf
03-17 20:33:47.857      123-123/? I/DEBUG﹕ memory map around fault addr c57e187b:
03-17 20:33:47.857      123-123/? I/DEBUG﹕ bedf7000-bee18000 rw- [stack]
03-17 20:33:47.857      123-123/? I/DEBUG﹕ (no map for address)
03-17 20:33:47.857      123-123/? I/DEBUG﹕ ffff0000-ffff1000 r-x [vectors]
03-17 20:33:48.357      376-395/? I/BootReceiver﹕ Copying /data/tombstones/tombstone_07 to DropBox (SYSTEM_TOMBSTONE)
03-17 20:33:48.364    376-19357/? W/ActivityManager﹕ Force finishing activity com.mufumbo.android.recipe.search/.dashboard.RecipeFeedDashboardViewPagerActivity
03-17 20:33:48.372      376-409/? W/InputDispatcher﹕ channel '433aad90 com.mufumbo.android.recipe.search/com.mufumbo.android.recipe.search.dashboard.RecipeFeedDashboardViewPagerActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0xd
03-17 20:33:48.372      376-409/? E/InputDispatcher﹕ channel '433aad90 com.mufumbo.android.recipe.search/com.mufumbo.android.recipe.search.dashboard.RecipeFeedDashboardViewPagerActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
03-17 20:33:48.435      376-386/? W/InputDispatcher﹕ Attempted to unregister already unregistered input channel '433aad90 com.mufumbo.android.recipe.search/com.mufumbo.android.recipe.search.dashboard.RecipeFeedDashboardViewPagerActivity (server)'
03-17 20:33:48.435      376-386/? I/WindowState﹕ WIN DEATH: Window{433aad90 u0 com.mufumbo.android.recipe.search/com.mufumbo.android.recipe.search.dashboard.RecipeFeedDashboardViewPagerActivity}
03-17 20:33:48.614    376-19357/? W/ActivityManager﹕ Exception thrown during pause
    android.os.DeadObjectException
            at android.os.BinderProxy.transact(Native Method)
            at android.app.ApplicationThreadProxy.schedulePauseActivity(ApplicationThreadNative.java:635)
            at com.android.server.am.ActivityStack.startPausingLocked(ActivityStack.java:990)
            at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:3834)
            at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:3766)
            at com.android.server.am.ActivityManagerService.handleAppCrashLocked(ActivityManagerService.java:8344)
            at com.android.server.am.ActivityManagerService.makeAppCrashingLocked(ActivityManagerService.java:8221)
            at com.android.server.am.ActivityManagerService.crashApplication(ActivityManagerService.java:8900)
            at com.android.server.am.ActivityManagerService.handleApplicationCrashInner(ActivityManagerService.java:8455)
            at com.android.server.am.NativeCrashListener$NativeCrashReporter.run(NativeCrashListener.java:86)
03-17 20:33:48.622    376-19357/? W/ActivityManager﹕ Force finishing activity com.deploygate/.activity.MainActivity
03-17 20:33:48.622      376-387/? I/ActivityManager﹕ Process com.mufumbo.android.recipe.search (pid 19284) has died.
@mufumbo
Copy link
Author

mufumbo commented Mar 18, 2015

Aha! after lots of digging (tried all combinations) it seems that it's WEBP + Glide + NON-lollipop combination that makes the SIGSEGV to popup.

The curious thing is that Glide + Lollipop + WEBP does work properly.

For now we will use PNG + Glide for non-lollipop devices, but it would be nice to use webp at some point.

Thanks a lot!

@sjudd
Copy link
Collaborator

sjudd commented Mar 18, 2015

I think there are some known issues with webp, at least on versions of Android prior to KitKat (although I'd thought they were mostly on 4.1). Out of curiosity if you try disabling bitmap reuse (call setBitmapPool() with BitmapPoolAdapter), do you still see the native crashes?

@mufumbo
Copy link
Author

mufumbo commented Mar 19, 2015

@sjudd can you tell me how? here's how I call Glide:
Glide.with(context).load(url).crossFade().into(thumbnailView)

I don't see a method in DrawableRequestBuilder to set the BitmapPoolAdapter

@sjudd
Copy link
Collaborator

sjudd commented Mar 19, 2015

Ah yes, it has to be set on GlideBuilder. See the configuration wiki page for the canonical way to modify the builder. Just for testing you can also use the deprecated Glide.isSetup() and Glide.setup(GlideBuilder) methods as well.

@mufumbo
Copy link
Author

mufumbo commented Mar 20, 2015

sorry, but the GlideBuilder API is a bit confusing and I couldn't quickly figure out how to use it.

are you able to give me the code change over this line?
Glide.with(context).load(url).crossFade().into(thumbnailView)

@sjudd
Copy link
Collaborator

sjudd commented Mar 22, 2015

You can just use the deprecated methods for testing.

In your main activity (before any calls to Glide.with()):

@Override
public void onCreate(Bundle savedInstanceState) {
    if (!Glide.isSetup()) {
        Glide.setup(new GlideBuilder()
            .setBitmapPool(new BitmapPoolAdapter()));
    }
}

@mufumbo
Copy link
Author

mufumbo commented Mar 27, 2015

That did not worked @sjudd, sorry.

Here's the log from Genymotion Galaxy nexus 4.3:

03-27 05:49:19.777    1339-1339/com.mufumbo.android.recipe.search E/RenderScript﹕ rsAssert failed: !mTypes.size(), in frameworks/rs/rsType.cpp at 59
03-27 05:49:19.777    1339-1339/com.mufumbo.android.recipe.search E/RenderScript﹕ rsAssert failed: !mElements.size(), in frameworks/rs/rsElement.cpp at 375
03-27 05:49:20.237      543-602/system_process E/Genymotion﹕ Could not open '/sys/class/power_supply/genymotion_fake_path/present'
03-27 05:49:20.745    1339-1382/com.mufumbo.android.recipe.search I/dalvikvm-heap﹕ Grow heap (frag case) to 9.589MB for 1278732-byte allocation
03-27 05:49:21.221    1339-1339/com.mufumbo.android.recipe.search I/dalvikvm﹕ Could not find method com.bumptech.glide.load.resource.drawable.GlideDrawable.getAlpha, referenced from method com.bumptech.glide.request.target.SquaringDrawable.getAlpha
03-27 05:49:21.221    1339-1339/com.mufumbo.android.recipe.search W/dalvikvm﹕ VFY: unable to resolve virtual method 16007: Lcom/bumptech/glide/load/resource/drawable/GlideDrawable;.getAlpha ()I
03-27 05:49:22.777    1339-1360/com.mufumbo.android.recipe.search W/GAV4﹕ Thread[GAThread,5,main]: Service unavailable (code=1), will retry.
03-27 05:49:22.777      543-816/system_process W/ActivityManager﹕ Unable to start service Intent { act=com.google.android.gms.analytics.service.START cmp=com.google.android.gms/.analytics.service.AnalyticsService (has extras) } U=0: not found
03-27 05:49:23.109    1339-1382/com.mufumbo.android.recipe.search A/libc﹕ @@@ ABORTING: invalid address or address of corrupt block 0xb83e9f38 passed to dlfree
03-27 05:49:23.109    1339-1382/com.mufumbo.android.recipe.search A/libc﹕ Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 1382 (fifo-pool-threa)
03-27 05:49:23.217      106-106/? I/DEBUG﹕ *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
03-27 05:49:23.217      106-106/? I/DEBUG﹕ Build fingerprint: 'generic/vbox86p/vbox86p:4.3/JLS36G/eng.buildbot.20140524.020253:userdebug/test-keys'
03-27 05:49:23.217      106-106/? I/DEBUG﹕ Revision: '0'
03-27 05:49:23.217      106-106/? I/DEBUG﹕ pid: 1339, tid: 1382, name: fifo-pool-threa  >>> com.mufumbo.android.recipe.search <<<
03-27 05:49:23.217      106-106/? I/DEBUG﹕ signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadbaad
03-27 05:49:23.217      106-106/? I/DEBUG﹕ Abort message: '@@@ ABORTING: invalid address or address of corrupt block 0xb83e9f38 passed to dlfree'
03-27 05:49:23.385      106-106/? I/DEBUG﹕ eax 00000000  ebx b7602fd8  ecx b7776059  edx 00000000
03-27 05:49:23.385      106-106/? I/DEBUG﹕ esi b4bd8000  edi 96e0f22c
03-27 05:49:23.385      106-106/? I/DEBUG﹕ xcs 00000073  xds 0000007b  xes 0000007b  xfs 00000000  xss 0000007b
03-27 05:49:23.385      106-106/? I/DEBUG﹕ eip b759d162  ebp b75e9e59  esp 96e0f210  flags 00210246
03-27 05:49:23.389      106-106/? I/DEBUG﹕ backtrace:
03-27 05:49:23.389      106-106/? I/DEBUG﹕ #00  pc 00030162  /system/lib/libc.so (abort+114)
03-27 05:49:23.389      106-106/? I/DEBUG﹕ #01  pc 00017024  /system/lib/libc.so (__libc_fatal+228)
03-27 05:49:23.389      106-106/? I/DEBUG﹕ #02  pc 00013143  /system/lib/libc.so (dlfree+1939)
03-27 05:49:23.389      106-106/? I/DEBUG﹕ #03  pc 0000cbbf  /system/lib/libc.so (free+31)
03-27 05:49:23.389      106-106/? I/DEBUG﹕ #04  pc 001c4cff  /system/lib/libskia.so (sk_free(void*)+31)
03-27 05:49:23.389      106-106/? I/DEBUG﹕ #05  pc 001a9821  /system/lib/libskia.so (SkWEBPImageDecoder::onDecode(SkStream*, SkBitmap*, SkImageDecoder::Mode)+1313)
03-27 05:49:23.389      106-106/? I/DEBUG﹕ #06  pc 001a1a0d  /system/lib/libskia.so (SkImageDecoder::decode(SkStream*, SkBitmap*, SkBitmap::Config, SkImageDecoder::Mode, bool)+221)
03-27 05:49:23.389      106-106/? I/DEBUG﹕ #07  pc 000c75bf  /system/lib/libandroid_runtime.so (doDecode(_JNIEnv*, SkStream*, _jobject*, _jobject*, bool, bool, bool, float)+1183)
03-27 05:49:23.389      106-106/? I/DEBUG﹕ #08  pc 000c835c  /system/lib/libandroid_runtime.so (nativeDecodeStream(_JNIEnv*, _jobject*, _jobject*, _jbyteArray*, _jobject*, _jobject*)+124)
03-27 05:49:23.389      106-106/? I/DEBUG﹕ #09  pc 0002a05b  /system/lib/libdvm.so (dvmPlatformInvoke+79)
03-27 05:49:23.389      106-106/? I/DEBUG﹕ #10  pc 001adb37  [heap]
03-27 05:49:23.389      106-106/? I/DEBUG﹕ #11  pc 00085b32  /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+434)
03-27 05:49:23.389      106-106/? I/DEBUG﹕ #12  pc 00173058  /system/lib/libdvm.so
03-27 05:49:23.389      106-106/? I/DEBUG﹕ #13  pc 00003ab7  <unknown>
03-27 05:49:23.389      106-106/? I/DEBUG﹕ #14  pc 0003b322  /system/lib/libdvm.so (dvmMterpStd(Thread*)+66)
03-27 05:49:23.389      106-106/? I/DEBUG﹕ #15  pc 000369e9  /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+217)
03-27 05:49:23.389      106-106/? I/DEBUG﹕ #16  pc 000bacf7  /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, char*)+759)
03-27 05:49:23.389      106-106/? I/DEBUG﹕ #17  pc 000bb097  /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+55)
03-27 05:49:23.389      106-106/? I/DEBUG﹕ #18  pc 00097383  /system/lib/libdvm.so (interpThreadStart(void*)+995)
03-27 05:49:23.389      106-106/? I/DEBUG﹕ #19  pc 0000b654  /system/lib/libc.so (__thread_entry+132)
03-27 05:49:23.389      106-106/? I/DEBUG﹕ #20  pc 0002ec65  /system/lib/libc.so (__pthread_clone+69)
03-27 05:49:23.389      106-106/? I/DEBUG﹕ #21  pc ffffffff  <unknown>
03-27 05:49:23.389      106-106/? I/DEBUG﹕ #22  pc 0033a517  [heap]
03-27 05:49:23.389      106-106/? I/DEBUG﹕ #23  pc 00338dff  [heap]
03-27 05:49:23.389      106-106/? I/DEBUG﹕ #24  pc 001a0e07  [heap]
03-27 05:49:23.389      106-106/? I/DEBUG﹕ #25  pc 00092867  [heap]
03-27 05:49:23.389      106-106/? I/DEBUG﹕ #26  pc 00072aaf  [heap]
03-27 05:49:23.389      106-106/? I/DEBUG﹕ #27  pc 0007389f  [heap]
03-27 05:49:23.393      106-106/? I/DEBUG﹕ #28  pc 0006f447  [heap]
03-27 05:49:23.393      106-106/? I/DEBUG﹕ #29  pc 0006cb87  [heap]
03-27 05:49:23.393      106-106/? I/DEBUG﹕ #30  pc 00067397  [heap]
03-27 05:49:23.393      106-106/? I/DEBUG﹕ #31  pc 00064287  [heap]
03-27 05:49:23.393      106-106/? I/DEBUG﹕ stack:
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f1d0  00000000
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f1d4  00000000
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f1d8  00000000
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f1dc  00000000
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f1e0  00000000
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f1e4  00000000
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f1e8  00000000
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f1ec  00000000
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f1f0  00000000
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f1f4  00000000
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f1f8  00000000
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f1fc  00000000
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f200  00000000
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f204  00000000
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f208  00000000
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f20c  00000000
03-27 05:49:23.393      106-106/? I/DEBUG﹕ #00  96e0f210  00000002
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f214  96e0f22c  [stack:1382]
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f218  00000000
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f21c  00000022
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f220  ffffffff
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f224  00000000
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f228  b7602fd8  /system/lib/libc.so
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f22c  fffffbdf
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f230  96e0f28c  [stack:1382]
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f234  00088001
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f238  00000000
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f23c  b759d0f8  /system/lib/libc.so (abort+8)
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f240  b7602fd8  /system/lib/libc.so
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f244  96e0f274  [stack:1382]
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f248  96e0f28c  [stack:1382]
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f24c  b7584025  /system/lib/libc.so (__libc_fatal+229)
03-27 05:49:23.393      106-106/? I/DEBUG﹕ #01  96e0f250  96e0f28c  [stack:1382]
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f254  96e0f274  [stack:1382]
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f258  00000003
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f25c  b61ebccc  /system/lib/libdvm.so
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f260  00000007
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f264  00000055
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f268  96e0f28c  [stack:1382]
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f26c  96e0f2e1  [stack:1382]
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f270  96e0f68b  [stack:1382]
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f274  96e0f260  [stack:1382]
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f278  00000001
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f27c  b75e9bc4  /system/lib/libc.so
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f280  00000005
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f284  96e0f28c  [stack:1382]
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f288  00000056
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f28c  20404040
03-27 05:49:23.393      106-106/? I/DEBUG﹕ ........  ........
03-27 05:49:23.393      106-106/? I/DEBUG﹕ #02  96e0f6b0  b75eca50  /system/lib/libc.so
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f6b4  b83e9f38  [heap]
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f6b8  b75ecad9  /system/lib/libc.so (__FUNCTION__.4350)
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f6bc  b6e32a7f  /system/lib/libskia.so (IDecode+495)
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f6c0  b80f4ab0  [heap]
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f6c4  b83ecea8  [heap]
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f6c8  9644d000
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f6cc  96e0f7cc  [stack:1382]
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f6d0  00000000
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f6d4  b83e9f40  [heap]
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f6d8  b757f9b9  /system/lib/libc.so (dlfree+9)
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f6dc  b7602fd8  /system/lib/libc.so
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f6e0  b83c4eb0  [heap]
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f6e4  b83e9f40  [heap]
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f6e8  b83b5e30  [heap]
03-27 05:49:23.393      106-106/? I/DEBUG﹕ 96e0f6ec  b7579bc0  /system/lib/libc.so (free+32)
03-27 05:49:23.393      106-106/? I/DEBUG﹕ memory map around fault addr deadbaad:
03-27 05:49:23.393      106-106/? I/DEBUG﹕ bfe4d000-bfe6e000 rw- [stack]
03-27 05:49:23.393      106-106/? I/DEBUG﹕ (no map for address)
03-27 05:49:23.393      106-106/? I/DEBUG﹕ ffffe000-fffff000 r-x [vdso]
03-27 05:49:23.437      543-608/system_process W/InputDispatcher﹕ channel '5280ef48 com.mufumbo.android.recipe.search/com.mufumbo.android.recipe.search.dashboard.RecipeFeedDashboardActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
03-27 05:49:23.437      543-608/system_process E/InputDispatcher﹕ channel '5280ef48 com.mufumbo.android.recipe.search/com.mufumbo.android.recipe.search.dashboard.RecipeFeedDashboardActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
03-27 05:49:23.437     543-1190/system_process I/ActivityManager﹕ Process com.mufumbo.android.recipe.search (pid 1339) has died.
03-27 05:49:23.437     543-1190/system_process W/ActivityManager﹕ Force removing ActivityRecord{5280aac0 u0 com.mufumbo.android.recipe.search/.dashboard.RecipeFeedDashboardActivity}: app died, no saved state
03-27 05:49:23.441      543-554/system_process W/InputDispatcher﹕ Attempted to unregister already unregistered input channel '5280ef48 com.mufumbo.android.recipe.search/com.mufumbo.android.recipe.search.dashboard.RecipeFeedDashboardActivity (server)'
03-27 05:49:23.441      543-554/system_process I/WindowState﹕ WIN DEATH: Window{5280ef48 u0 com.mufumbo.android.recipe.search/com.mufumbo.android.recipe.search.dashboard.RecipeFeedDashboardActivity}

@mufumbo
Copy link
Author

mufumbo commented Mar 27, 2015

guys! WEBP rocks, i can't wait for this to be fixed.
If we deploy the version with glide it might increase our bandwidth by 20 tera a month. That's costly :(

@sjudd
Copy link
Collaborator

sjudd commented Mar 27, 2015

Try just decoding the image with BitmapFactory directly, I'd imagine you will see the same issue. If just using BitmapFactory alone works, I'll definitely look in to it more.

Unfortunately if the framework can't decode the image, there isn't much we can do. I'd like to add an integration library with a webp decoder to better support the format on older versions of Android, I just haven't had time to do so (pull requests welcome :)).

@mufumbo
Copy link
Author

mufumbo commented Mar 27, 2015

@sjudd what you mean?

This should be plenty to decode WEBP on API level over 14:
Bitmap bit = BitmapFactory.decodeByteArray(b, 0, b.length, options);

This has been working really well since 14. Not sure why glide works differently?

@TWiStErRob
Copy link
Collaborator

You didn't talk about the actual image, maybe a particular image is killing Android or the difference between byte[] and InputStream API, or the options.

Actually full (transparency) support is only from API 17-18 according to docs. Though I'm not sure how can they say Android 4.2.1 because: 17 < 4.2.1 < 18 :)

Value Constant Date: Version
16 JELLY_BEAN June 2012: Android 4.1.
17 JELLY_BEAN_MR1 November 2012: Android 4.2
18 JELLY_BEAN_MR2 July 2013: Android 4.3

@mufumbo
Copy link
Author

mufumbo commented Mar 27, 2015

thanks @TWiStErRob,

Here's an example: http://a2.picmix.net/4843169909309440=s940.webp

My Glide integration was straight forward, I only substituted the image loading call from my in-house library to Glide.

I'm unsure why mine works with all devices and Glide breaks on WEBP with < 21.

I'm digging more into it, but I'm afraid it may take too much time for me to find the issue while it might be trivial for someone with more knowledge in the lib to just try to loading a bunch of WEBP images and see it crashing nicely.

Like I said, I decode WEBP images like this since API level 14:
Bitmap bit = BitmapFactory.decodeByteArray(b, 0, b.length, options);

It works that way for sure. It has been tested on many phones.

thanks again!

@TWiStErRob
Copy link
Collaborator

I based my ideas on what could go wrong on how Glide reads a Bitmap (highly likely incl. webp), and it's using decodeStream instead of your decodeByteArray.
I think you should dig around that line in debugger :)

@sjudd please confirm my assumption, that if the problem is in Glide, it should be around there!

@sjudd
Copy link
Collaborator

sjudd commented Mar 27, 2015

Confirmed, there was a bug in the framework where decodeStream will crash but decodeByteArray will succeed.

We can either try to detect webp images, read them into a byte array, and call decodeByteArray, or we can try to add an integration library with a newer version of the lib and jni bindings. The later is probably the right approach for Glide 4.

@mufumbo I can't promise to implement this in the near future, but I can point you to the classes you'd need to modify to support converting stream -> byte array. It's non-trivial unfortunately.

@mufumbo
Copy link
Author

mufumbo commented Mar 27, 2015

Thanks for digging into it @sjudd !

There's any lost in performance for glide to get the byte[] always instead of stream? That could be a quick patch for the lib?

@sjudd
Copy link
Collaborator

sjudd commented Mar 27, 2015

There will be some loss of performance, you'll end up allocating a lot of byte arrays which will introduce some GC related jank. Better to do that than not show the images, and hopefully we can target it to specific versions of Android.

@mufumbo
Copy link
Author

mufumbo commented Mar 27, 2015

I don't understand why GC would grab the byte[] if it will be living completely inside the Bitmap object?

@TWiStErRob
Copy link
Collaborator

Because what you hand in is compressed, and a new array (for pixels) will be allocated to back the Bitmap.

@sjudd
Copy link
Collaborator

sjudd commented Mar 30, 2015

It's not just the byte array inside the Bitmap either. To call BitmapFactory#decodeByteArray, we'd have to convert InputStreams to byte arrays which would require lots of intermediate byte array allocations which would be expensive.

Again converting to byte arrays and calling decodeByteArray is still probably the right thing to do to work around the framework bug, but you may want to consider using a slightly lower quality jpeg on those older platforms instead. You might end up with slightly worse quality, but for most images the difference in quality required to get an equivalent file size probably won't be super noticeable.

@mufumbo
Copy link
Author

mufumbo commented Mar 30, 2015

BitmapFactory.decodeInputstream is probably creating those byte arrays anyway, isn't it?

@sjudd
Copy link
Collaborator

sjudd commented Apr 6, 2015

No, it doesn't read the full stream into a byte array before decoding. Even the temporary storage decodeInputStream needs can either be passed in and re-used, or is allocated natively.

We've made more progress on what looks like the same issue in #392, so let's follow up there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants