01-22-2016 12:06 PM
Our android app crashes when experiencing poor call quality. Stack traces below:
Crash When Call Quality is Bad
Stack trace below:
Stack Trace
01-18 15:16:00.877 29335-29822/co.uk.youandb.android.b.demo.debug D/HybiParser: Creating frame for:
{"type":"OK","callId":"CL-d529b91a-7293-4d8c-b477-ceb694a21b12"} op: 1 err: -1
01-18 15:16:00.877 29335-29822/co.uk.youandb.android.b.demo.debug D/ServerMessageTransport: Received:
[{"type":"REMOTE_UNHELD","callId":"CL-d529b91a-7293-4d8c-b477-ceb694a21b12"}]
01-18 15:16:00.887 29335-29822/co.uk.youandb.android.b.demo.debug D/CallManager: getCallImplWithID
[com.alicecallsbob.fcsdk.android.phone.impl.CallImpl@3ca22886] - 1 - CL-d529b91a-7293-4d8c-b477-ceb694a21b12 cm=
com.alicecallsbob.fcsdk.android.phone.impl.PhoneImpl@207aa561
01-18 15:16:00.887 29335-29822/co.uk.youandb.android.b.demo.debug D/PhoneImpl: getCallImplWithID() - ID
argument=CL-d529b91a-7293-4d8c-b477-ceb694a21b12
01-18 15:16:00.887 29335-29822/co.uk.youandb.android.b.demo.debug D/CallImpl: Remote unheld: 7800
01-18 15:16:01.257 29335-30060/co.uk.youandb.android.b.demo.debug I/CallImpl: onCallStatisticsData
[Lorg.webrtc.StatsReport;@39526841 - [Lorg.webrtc.StatsReport;@272061e6
01-18 15:16:01.257 29335-30060/co.uk.youandb.android.b.demo.debug E/AndroidRuntime: FATAL EXCEPTION: Timer-4
Process: co.uk.youandb.android.b.demo.debug, PID: 29335
java.lang.ArithmeticException: divide by zero
at
com.alicecallsbob.fcsdk.android.phone.impl.CallQualityCalculator.calculatePercentageVideoPacketsReceived(CallQualityCalculator.java:141)
at com.alicecallsbob.fcsdk.android.phone.impl.CallQualityCalculator.<init>(CallQualityCalculator.java:35)
at com.alicecallsbob.fcsdk.android.phone.impl.CallImpl.onCallStatisticsData(CallImpl.java:683)
at com.alicecallsbob.fcsdk.android.phone.impl.CallStatisticsMonitor$GetStatisticsTimerTask.run(CallStatisticsMonitor.java:144)
at java.util.Timer$TimerImpl.run(Timer.java:284)
Another (different) stack trace:
Stack Trace
01-18 15:24:09.477 8718-8718/co.uk.youandb.android.b.demo.debug E/WebSocketWrapper: Terminating Websocket:
01-18 15:24:09.477 8718-9443/co.uk.youandb.android.b.demo.debug E/Assist.WebSocketClient: webSocketError UNEXPECTED error in
web socket:
java.net.SocketException: Socket closed
at libcore.io.Posix.recvfromBytes(Native Method)
at libcore.io.Posix.recvfrom(Posix.java:161)
at libcore.io.BlockGuardOs.recvfrom(BlockGuardOs.java:250)
at libcore.io.IoBridge.recvfrom(IoBridge.java:553)
at java.net.PlainSocketImpl.read(PlainSocketImpl.java:485)
at java.net.PlainSocketImpl.access$000(PlainSocketImpl.java:37)
at java.net.PlainSocketImpl$PlainSocketInputStream.read(PlainSocketImpl.java:237)
at libcore.io.Streams.readSingleByte(Streams.java:41)
at java.net.PlainSocketImpl$PlainSocketInputStream.read(PlainSocketImpl.java:233)
at java.io.DataInputStream.readByte(DataInputStream.java:75)
at com.alicecallsbob.assist.sdk.transport.websocket.HybiParser.start(HybiParser.java:126)
at com.alicecallsbob.assist.sdk.transport.websocket.WebSocketClient$1.run(WebSocketClient.java:163)
at java.lang.Thread.run(Thread.java:818)
01-18 15:24:09.477 8718-9443/co.uk.youandb.android.b.demo.debug E/WebSocketWrapper: onError() Exception when attempting to
connect - Socket closed
01-18 15:24:09.477 8718-9443/co.uk.youandb.android.b.demo.debug E/WebSocketWrapper: websocket onDisconnect(): 0 - Exception when
attemping to connect
01-18 15:24:09.577 287-287/? E/SMD: DCD ON
01-18 15:24:09.627 8718-9269/co.uk.youandb.android.b.demo.debug A/GAbi++: Pure virtual function called!
01-18 15:24:09.627 8718-9269/co.uk.youandb.android.b.demo.debug A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0xdeadcab1 in tid
9269 (Thread-88189)
01-18 15:24:10.897 878-10002/? W/ActivityManager: Force finishing activity co.uk.youandb.android.b.demo.debug/com.thenational.activity.D
ashboardActivity
01-18 15:24:10.907 2058-2058/? E/audit: type=1701 msg=audit(1453130650.907:89427): auid=4294967295 uid=10207 gid=10207
ses=4294967295 subj=u:r:untrusted_app:s0 pid=9269 comm="Thread-88189" reason="memory violation" sig=11
DivideByZeroException
Stack Trace
01-18 15:16:00.877 29335-29822/co.uk.youandb.android.b.demo.debug D/HybiParser: Creating frame for:
{"type":"OK","callId":"CL-d529b91a-7293-4d8c-b477-ceb694a21b12"} op: 1 err: -1
01-18 15:16:00.877 29335-29822/co.uk.youandb.android.b.demo.debug D/ServerMessageTransport: Received:
[{"type":"REMOTE_UNHELD","callId":"CL-d529b91a-7293-4d8c-b477-ceb694a21b12"}]
01-18 15:16:00.887 29335-29822/co.uk.youandb.android.b.demo.debug D/CallManager: getCallImplWithID
[com.alicecallsbob.fcsdk.android.phone.impl.CallImpl@3ca22886] - 1 - CL-d529b91a-7293-4d8c-b477-ceb694a21b12 cm=
com.alicecallsbob.fcsdk.android.phone.impl.PhoneImpl@207aa561
01-18 15:16:00.887 29335-29822/co.uk.youandb.android.b.demo.debug D/PhoneImpl: getCallImplWithID() - ID
argument=CL-d529b91a-7293-4d8c-b477-ceb694a21b12
01-18 15:16:00.887 29335-29822/co.uk.youandb.android.b.demo.debug D/CallImpl: Remote unheld: 7800
01-18 15:16:01.257 29335-30060/co.uk.youandb.android.b.demo.debug I/CallImpl: onCallStatisticsData
[Lorg.webrtc.StatsReport;@39526841 - [Lorg.webrtc.StatsReport;@272061e6
01-18 15:16:01.257 29335-30060/co.uk.youandb.android.b.demo.debug E/AndroidRuntime: FATAL EXCEPTION: Timer-4
Process: co.uk.youandb.android.b.demo.debug, PID: 29335
java.lang.ArithmeticException: divide by zero
at
com.alicecallsbob.fcsdk.android.phone.impl.CallQualityCalculator.calculatePercentageVideoPacketsReceived(CallQualityCalculator.java:141)
at com.alicecallsbob.fcsdk.android.phone.impl.CallQualityCalculator.<init>(CallQualityCalculator.java:35)
at com.alicecallsbob.fcsdk.android.phone.impl.CallImpl.onCallStatisticsData(CallImpl.java:683)
at com.alicecallsbob.fcsdk.android.phone.impl.CallStatisticsMonitor$GetStatisticsTimerTask.run(CallStatisticsMonitor.java:144)
at java.util.Timer$TimerImpl.run(Timer.java:284)
Solved! Go to Solution.
01-25-2016 03:11 AM
01-25-2016 03:11 AM
Hi Bradley,
The fix for this issue is in version 11 of REM.
Thanks
Hugh
01-25-2016 01:52 PM
thanks, Hugh. Are there any methods you have developed or recommend to gracefully handle this exception and prevent a crash of the application when it manifests? Are there particular callbacks that can be wrapped in try/catch blocks for example?
01-27-2016 09:24 AM
Unfortunately this error is not recoverable as far as I am aware. It is deep in the SDK and I can't think or anywhere you could catch this RuntimeException.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide