twilio / twilio-chat-demo-android

Chat API Demo Application for Android
MIT License
62 stars 51 forks source link

App crashes when I turn off the internet connection during the downloading media #93

Closed rusmichal closed 5 years ago

rusmichal commented 5 years ago

Description

We can send images to the channel. In order to render the image on message list we call download method from Message class and we got byte array. There is one case when we got crash. If the data is downloading and I cut off the internet connection then it seems like we got native crash. A white screen shows up and application is restarting.

Steps to Reproduce

If we have channel and someone send you image. when you receive the message and it start downloading the image please turn off the internet connection. See logs below.

Logs

2019-04-18 10:22:38.031 32124-32341/com.xxxx E/TWC: [2019-04-18 10:22:37.924] [rtd] [CRITICAL]       513208759536 |    326 | Websocket | reportConnectFail Could not resolve host tsock.us1.twilio.com: Host not found (authoritative)
2019-04-18 10:22:38.194 3229-3229/? A/DEBUG:     #00 pc 00000000005dfff4  /data/app/com.xxxx-3DMj4c3_hff7yQrgH-qL0g==/lib/arm64/libtwilio-rtd-native.so (offset 0x330000)
2019-04-18 10:22:38.194 3229-3229/? A/DEBUG:     #01 pc 00000000005df838  /data/app/com.xxxx-3DMj4c3_hff7yQrgH-qL0g==/lib/arm64/libtwilio-rtd-native.so (offset 0x330000)
2019-04-18 10:22:38.194 3229-3229/? A/DEBUG:     #02 pc 00000000005e1a44  /data/app/com.xxxx-3DMj4c3_hff7yQrgH-qL0g==/lib/arm64/libtwilio-rtd-native.so (offset 0x330000)
2019-04-18 10:22:38.194 3229-3229/? A/DEBUG:     #03 pc 00000000005e35ec  /data/app/com.xxxx-3DMj4c3_hff7yQrgH-qL0g==/lib/arm64/libtwilio-rtd-native.so (offset 0x330000)
2019-04-18 10:22:38.194 3229-3229/? A/DEBUG:     #04 pc 00000000005e2f40  /data/app/com.xxxx-3DMj4c3_hff7yQrgH-qL0g==/lib/arm64/libtwilio-rtd-native.so (offset 0x330000)
2019-04-18 10:22:38.194 3229-3229/? A/DEBUG:     #05 pc 00000000005e1a44  /data/app/com.xxxx-3DMj4c3_hff7yQrgH-qL0g==/lib/arm64/libtwilio-rtd-native.so (offset 0x330000)
2019-04-18 10:22:38.194 3229-3229/? A/DEBUG:     #06 pc 00000000005e43e0  /data/app/com.xxxx-3DMj4c3_hff7yQrgH-qL0g==/lib/arm64/libtwilio-rtd-native.so (offset 0x330000)
2019-04-18 10:22:38.194 3229-3229/? A/DEBUG:     #07 pc 00000000005e3d28  /data/app/com.xxxx-3DMj4c3_hff7yQrgH-qL0g==/lib/arm64/libtwilio-rtd-native.so (offset 0x330000)
2019-04-18 10:22:38.194 3229-3229/? A/DEBUG:     #08 pc 00000000005e1a44  /data/app/com.xxxx-3DMj4c3_hff7yQrgH-qL0g==/lib/arm64/libtwilio-rtd-native.so (offset 0x330000)
2019-04-18 10:22:38.194 3229-3229/? A/DEBUG:     #09 pc 00000000005f09d8  /data/app/com.xxxx-3DMj4c3_hff7yQrgH-qL0g==/lib/arm64/libtwilio-rtd-native.so (offset 0x330000)
2019-04-18 10:22:38.194 3229-3229/? A/DEBUG:     #10 pc 00000000005f0308  /data/app/com.xxxx-3DMj4c3_hff7yQrgH-qL0g==/lib/arm64/libtwilio-rtd-native.so (offset 0x330000)
2019-04-18 10:22:38.194 3229-3229/? A/DEBUG:     #11 pc 00000000005e1a44  /data/app/com.xxxx-3DMj4c3_hff7yQrgH-qL0g==/lib/arm64/libtwilio-rtd-native.so (offset 0x330000)
2019-04-18 10:22:38.194 3229-3229/? A/DEBUG:     #12 pc 00000000005f372c  /data/app/com.xxxx-3DMj4c3_hff7yQrgH-qL0g==/lib/arm64/libtwilio-rtd-native.so (offset 0x330000)
2019-04-18 10:22:38.194 3229-3229/? A/DEBUG:     #13 pc 00000000005f3080  /data/app/com.xxxx-3DMj4c3_hff7yQrgH-qL0g==/lib/arm64/libtwilio-rtd-native.so (offset 0x330000)
2019-04-18 10:22:38.194 3229-3229/? A/DEBUG:     #14 pc 00000000005e1a44  /data/app/com.xxxx-3DMj4c3_hff7yQrgH-qL0g==/lib/arm64/libtwilio-rtd-native.so (offset 0x330000)
2019-04-18 10:22:38.194 3229-3229/? A/DEBUG:     #15 pc 00000000005e5280  /data/app/com.xxxx-3DMj4c3_hff7yQrgH-qL0g==/lib/arm64/libtwilio-rtd-native.so (offset 0x330000)
2019-04-18 10:22:38.194 3229-3229/? A/DEBUG:     #16 pc 000000000064eff0  /data/app/com.xxxx-3DMj4c3_hff7yQrgH-qL0g==/lib/arm64/libtwilio-rtd-native.so (offset 0x330000)
2019-04-18 10:22:38.194 3229-3229/? A/DEBUG:     #17 pc 00000000005fc8d8  /data/app/com.xxxx-3DMj4c3_hff7yQrgH-qL0g==/lib/arm64/libtwilio-rtd-native.so (offset 0x330000)
2019-04-18 10:22:38.194 3229-3229/? A/DEBUG:     #18 pc 0000000000632e54  /data/app/com.xxxx-3DMj4c3_hff7yQrgH-qL0g==/lib/arm64/libtwilio-rtd-native.so (offset 0x330000) (rtd::BaseHttpSession<rtd::HttpsSession, boost::beast::ssl_stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp>>>::onResponseRead(boost::system::error_code, unsigned long)+132)
2019-04-18 10:22:38.194 3229-3229/? A/DEBUG:     #19 pc 00000000006332d4  /data/app/com.xxxx-3DMj4c3_hff7yQrgH-qL0g==/lib/arm64/libtwilio-rtd-native.so (offset 0x330000)
2019-04-18 10:22:38.194 3229-3229/? A/DEBUG:     #20 pc 0000000000633864  /data/app/com.xxxx-3DMj4c3_hff7yQrgH-qL0g==/lib/arm64/libtwilio-rtd-native.so (offset 0x330000)
2019-04-18 10:22:38.195 3229-3229/? A/DEBUG:     #21 pc 000000000063557c  /data/app/com.xxxx-3DMj4c3_hff7yQrgH-qL0g==/lib/arm64/libtwilio-rtd-native.so (offset 0x330000)
2019-04-18 10:22:38.195 3229-3229/? A/DEBUG:     #22 pc 0000000000637078  /data/app/com.xxxx-3DMj4c3_hff7yQrgH-qL0g==/lib/arm64/libtwilio-rtd-native.so (offset 0x330000) (_ZN5boost4asio6detail23reactive_socket_recv_opINS0_17mutable_buffers_1ENS0_3ssl6detail5io_opINS0_19basic_stream_socketINS0_2ip3tcpEEENS5_7read_opINS0_14mutable_bufferEEENS_5beast4http6detail12read_some_opINSE_10ssl_streamISA_EENSE_17basic_flat_bufferINSt6__ndk19allocatorIcEEEELb0ENSF_6parserILb0EN3rtd15BeastStreamBodyINSQ_10ITNOStreamEEESN_EENSG_7read_opISJ_SO_Lb0ESU_NSG_14pars
2019-04-18 10:22:38.195 3229-3229/? A/DEBUG:     #23 pc 00000000005fb1d8  /data/app/com.xxxx-3DMj4c3_hff7yQrgH-qL0g==/lib/arm64/libtwilio-rtd-native.so (offset 0x330000)
2019-04-18 10:22:38.195 3229-3229/? A/DEBUG:     #24 pc 000000000072c8b4  /data/app/com.xxxx-3DMj4c3_hff7yQrgH-qL0g==/lib/arm64/libtwilio-rtd-native.so (offset 0x330000)

Or attach it as a file.

Versions

All relevant version information for issue.

Chat Android SDK

4.0.4

Android API

26

Android Device

Huawei P9 Xiaomi Mi A2 Lite; Android 9.0

berkus commented 5 years ago

Thanks! I will take a look at this.

aalap03 commented 5 years ago

This is a native crash, I also have crash logs like this, but in the case where there are too many images downloading at the same time and user is scrolling fast.

Affected device Samsung Galaxy Neo 5, Note 9

Api level 24 and 28 respectively.

Chat android SDK 4.0.4

Below are crash logs.

2019-06-18 09:11:57.234 2910-3310/? D/EnterpriseController: netId is 0
2019-06-18 09:11:57.234 2910-3310/? D/Netd: getNetworkForDns: using netid 502 for uid 10100
2019-06-18 09:11:57.234 2910-3310/? D/DnsProxyListener: DNSDBG::dns addrinfo af 2
2019-06-18 09:11:57.238 15538-16619/ A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x4 in tid 16619 (9@0xdd466944 - )
2019-06-18 09:11:57.296 2216-2216/? E/audit: type=1400 audit(1560863517.291:35128): avc:  denied  { search } for  pid=16949 comm="debuggerd" name="com.google.android.gms" dev="mmcblk0p23" ino=130752 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 SEPF_SECMOBILE_7.0_0009 audit_filtered
2019-06-18 09:11:57.296 2216-2216/? E/audit: type=1300 audit(1560863517.291:35128): arch=40000028 syscall=322 per=8 success=no exit=-13 a0=ffffff9c a1=edfa5060 a2=20000 a3=0 items=0 ppid=2209 pid=16949 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 ses=4294967295 tty=(none) comm="debuggerd" exe="/system/bin/debuggerd" subj=u:r:debuggerd:s0 key=(null)
2019-06-18 09:11:57.296 2216-2216/? E/audit: type=1327 audit(1560863517.291:35128): proctitle="/system/bin/debuggerd"
2019-06-18 09:11:57.296 2216-2216/? E/audit: type=1400 audit(1560863517.291:35129): avc:  denied  { search } for  pid=16949 comm="debuggerd" name="com.google.android.gms" dev="mmcblk0p23" ino=130752 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 SEPF_SECMOBILE_7.0_0009 audit_filtered
2019-06-18 09:11:57.296 2216-2216/? E/audit: type=1300 audit(1560863517.291:35129): arch=40000028 syscall=322 per=8 success=no exit=-13 a0=ffffff9c a1=edfa51e0 a2=20000 a3=0 items=0 ppid=2209 pid=16949 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 ses=4294967295 tty=(none) comm="debuggerd" exe="/system/bin/debuggerd" subj=u:r:debuggerd:s0 key=(null)
2019-06-18 09:11:57.296 2216-2216/? E/audit: type=1327 audit(1560863517.291:35129): proctitle="/system/bin/debuggerd"
2019-06-18 09:11:57.324 3335-3419/? D/InputReader: Input event(1): value=1 when=1860631282083000
2019-06-18 09:11:57.324 3335-3419/? D/InputReader: Input event(1): value=1 when=1860631282083000
2019-06-18 09:11:57.324 3335-3419/? I/InputReader: Touch event's action is 0x0 (deviceType=0) [pCnt=1, s=0.42084 ] when=1860631282083000
2019-06-18 09:11:57.325 3335-3418/? I/InputDispatcher: Delivering touch to (3614): action: 0x4, toolType: 1
2019-06-18 09:11:57.325 3335-3418/? I/InputDispatcher: Delivering touch to (15538): action: 0x0, toolType: 1
2019-06-18 09:11:57.470 16949-16949/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2019-06-18 09:11:57.470 16949-16949/? A/DEBUG: Build fingerprint: 'samsung/s5neoltevl/s5neoltecan:7.0/NRD90M/G903WVLU1CQI1:user/release-keys'
2019-06-18 09:11:57.470 16949-16949/? A/DEBUG: Revision: '12'
2019-06-18 09:11:57.470 16949-16949/? A/DEBUG: ABI: 'arm'
2019-06-18 09:11:57.471 16949-16949/? A/DEBUG: pid: 15538, tid: 16619, name: 9@0xdd466944 -   <<<
2019-06-18 09:11:57.471 16949-16949/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x4
2019-06-18 09:11:57.471 16949-16949/? A/DEBUG:     r0 00000000  r1 0071d255  r2 00000000  r3 b4d5d0e1
2019-06-18 09:11:57.471 16949-16949/? A/DEBUG:     r4 ca38ddc0  r5 b4d5d0bc  r6 00000001  r7 b4d5d188
2019-06-18 09:11:57.471 16949-16949/? A/DEBUG:     r8 c2cda46c  r9 b4d5d060  sl ca452dec  fp 00000000
2019-06-18 09:11:57.471 16949-16949/? A/DEBUG:     ip 00000000  sp b4d5d050  lr c1b7ae8f  pc c1cf09e4  cpsr 600d0030
2019-06-18 09:11:57.472 3335-3419/? D/InputReader: Input event(1): value=0 when=1860631430139000
2019-06-18 09:11:57.472 3335-3419/? D/InputReader: Input event(1): value=0 when=1860631430139000
2019-06-18 09:11:57.472 3335-3419/? I/InputReader: Touch event's action is 0x1 (deviceType=0) [pCnt=1, s=] when=1860631430139000
2019-06-18 09:11:57.472 3335-3418/? I/InputDispatcher: Delivering touch to (15538): action: 0x1, toolType: 1
2019-06-18 09:11:57.474 3335-5500/? D/CustomFrequencyManagerService: acquireDVFSLockLocked : type : DVFS_MIN_LIMIT  frequency : 700000  uid : 1000  pid : 3335  pkgName : GESTURE_DETECTED@CPU_MIN@45
2019-06-18 09:11:57.490 16949-16949/? A/DEBUG: backtrace:
2019-06-18 09:11:57.491 16949-16949/? A/DEBUG:     #00 pc 004359e4  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000)
2019-06-18 09:11:57.491 16949-16949/? A/DEBUG:     #01 pc 00435481  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000)
2019-06-18 09:11:57.491 16949-16949/? A/DEBUG:     #02 pc 00436ca5  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000)
2019-06-18 09:11:57.491 16949-16949/? A/DEBUG:     #03 pc 004381b7  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000)
2019-06-18 09:11:57.491 16949-16949/? A/DEBUG:     #04 pc 00437ecd  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000)
2019-06-18 09:11:57.491 16949-16949/? A/DEBUG:     #05 pc 00330411  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000)
2019-06-18 09:11:57.491 16949-16949/? A/DEBUG:     #06 pc 004375cf  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000)
2019-06-18 09:11:57.491 16949-16949/? A/DEBUG:     #07 pc 00436905  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000)
2019-06-18 09:11:57.491 16949-16949/? A/DEBUG:     #08 pc 00439d61  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000)
2019-06-18 09:11:57.491 16949-16949/? A/DEBUG:     #09 pc 00439f29  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000)
2019-06-18 09:11:57.491 16949-16949/? A/DEBUG:     #10 pc 00439a31  2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000)
2019-06-18 09:11:57.491 16949-16949/? A/DEBUG:     #11 pc 00330927  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000)
2019-06-18 09:11:57.491 16949-16949/? A/DEBUG:     #12 pc 00330e13  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000)
2019-06-18 09:11:57.491 16949-16949/? A/DEBUG:     #13 pc 0033056f  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000)
2019-06-18 09:11:57.491 16949-16949/? A/DEBUG:     #14 pc 00436ca5  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000)
2019-06-18 09:11:57.491 16949-16949/? A/DEBUG:     #15 pc 00441e7d  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000)
2019-06-18 09:11:57.491 16949-16949/? A/DEBUG:     #16 pc 004419b5  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000)
2019-06-18 09:11:57.491 16949-16949/? A/DEBUG:     #17 pc 00436ca5  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000)
2019-06-18 09:11:57.491 16949-16949/? A/DEBUG:     #18 pc 00443f4f  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000)
2019-06-18 09:11:57.491 16949-16949/? A/DEBUG:     #19 pc 00443aa1  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000)
2019-06-18 09:11:57.491 16949-16949/? A/DEBUG:     #20 pc 00436ca5  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000)
2019-06-18 09:11:57.492 16949-16949/? A/DEBUG:     #21 pc 004395cf  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000)
2019-06-18 09:11:57.492 16949-16949/? A/DEBUG:     #22 pc 00486403  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000)
2019-06-18 09:11:57.492 16949-16949/? A/DEBUG:     #23 pc 00471c61  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000) (_ZN3rtd15BaseHttpSessionINS_12HttpsSessionEN5boost5beast10ssl_streamINS2_4asio19basic_stream_socketINS5_2ip3tcpEEEEEE14onResponseReadENS2_6system10error_codeEj+312)
2019-06-18 09:11:57.492 16949-16949/? A/DEBUG:     #24 pc 00471eed  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000)
2019-06-18 09:11:57.492 16949-16949/? A/DEBUG:     #25 pc 004722ed  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000)
2019-06-18 09:11:57.492 16949-16949/? A/DEBUG:     #26 pc 0047397f  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000)
2019-06-18 09:11:57.492 16949-16949/? A/DEBUG:     #27 pc 00474cd9  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000) (_ZN5boost4asio6detail23reactive_socket_recv_opINS0_17mutable_buffers_1ENS0_3ssl6detail5io_opINS0_19basic_stream_socketINS0_2ip3tcpEEENS5_7read_opINS0_14mutable_bufferEEENS_5beast4http6detail12read_some_opINSE_10ssl_streamISA_EENSE_17basic_flat_bufferINSt6__ndk19allocatorIcEEEELb0ENSF_6parserILb0EN3rtd15BeastStreamBodyINSQ_10ITNOStreamEEESN_EENSG_7read_opISJ_SO_Lb0ESU_NSG_14parser_is_doneENSL_6
2019-06-18 09:11:57.492 16949-16949/? A/DEBUG:     #28 pc 00449b4f  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000)
2019-06-18 09:11:57.492 16949-16949/? A/DEBUG:     #29 pc 0052a829  -2/lib/arm/libtwilio-rtd-native.so (offset 0x23b000)
2019-06-18 09:11:57.492 16949-16949/? A/DEBUG:     #30 pc 00047f93  /system/lib/libc.so (_ZL15__pthread_startPv+22)
2019-06-18 09:11:57.492 16949-16949/? A/DEBUG:     #31 pc 0001a161  /system/lib/libc.so (__start_thread+6)
2019-06-18 09:11:57.499 3335-3461/? D/BatteryService: !@BatteryListener : batteryPropertiesChanged!
2019-06-18 09:11:57.499 3335-3461/? D/BatteryService: level:80, scale:100, status:2, health:2, present:true, voltage: 4075, temperature: 277, technology: Li-ion, AC powered:false, USB powered:true, POGO powered:false, Wireless powered:false, icon:17303707, invalid charger:0, maxChargingCurrent:0, maxChargingVoltage:0, chargeCounter:0
Pavel-Cherentsov commented 5 years ago

Thanks for logs! The issue seems to be fixed, the fix will appear in coming soon new Chat Android SDK release.

aalap03 commented 5 years ago

Thanks. @Pavel-Cherentsov

aalap03 commented 5 years ago

I am now using 4.0.5 version and I am having the same issue, while dealing with images in chat.

Pavel-Cherentsov commented 5 years ago

@aalap03 Thank you for reporting. We've reproduced the issue, it will be fixed soon.

aalap03 commented 5 years ago

Thanks, just to confirm, I updated version to 4.1.0 and issue was still the same.

Pavel-Cherentsov commented 5 years ago

Yes, current SDK version still has this bug, the fix will be delivered with the following release.

berkus commented 5 years ago

4.2.0 (released a while ago) should have this bug fixed.

berkus commented 5 years ago

Please reopen if you still get this error.