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

onError in SDK from broken connnection crashes applications #20

Open
tannerpreiss opened this issue Jan 30, 2017 · 0 comments
Open

onError in SDK from broken connnection crashes applications #20

tannerpreiss opened this issue Jan 30, 2017 · 0 comments

Comments

@tannerpreiss
Copy link

The following log output occurs when connecting to a server that returns "MQ for the server instance is not healthy". The SDK is not handling this error gracefully and therefore crashing the application using the SDK

I/System.out: [recv] {"kind":"error","payload":{"msg":"connection failure","cause":"MQ for the server instance is not healthy"},"version":14}
I/Choreographer: Skipped 72 frames!  The application may be doing too much work on its main thread.
I/System.out: [send] [true] {"closure":1,"kind":"sub","payload":{"path":["rooms","*"]},"version":14}
E/CLOSED: 1000 
E/AndroidRuntime: FATAL EXCEPTION: RxCachedThreadScheduler-2
                  Process: com.ibm.chat, PID: 10326
                  java.lang.IllegalStateException: Exception thrown on Scheduler.Worker thread. Add `onError` handling.
                      at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:60)
                      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
                      at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
                      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
                      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
                      at java.lang.Thread.run(Thread.java:761)
                   Caused by: rx.exceptions.OnErrorNotImplementedException: java.io.IOException: closed
                      at rx.Observable$27.onError(Observable.java:7535)
                      at rx.observers.SafeSubscriber._onError(SafeSubscriber.java:154)
                      at rx.observers.SafeSubscriber.onError(SafeSubscriber.java:111)
                      at rx.internal.operators.OperatorSubscribeOn$1$1$1.onError(OperatorSubscribeOn.java:71)
                      at rx.internal.operators.OperatorMap$1.onError(OperatorMap.java:49)
                      at rx.internal.operators.OperatorMap$1.onNext(OperatorMap.java:58)
                      at rx.internal.util.ScalarSynchronousObservable$1.call(ScalarSynchronousObservable.java:46)
                      at rx.internal.util.ScalarSynchronousObservable$1.call(ScalarSynchronousObservable.java:35)
                      at rx.Observable$2.call(Observable.java:162)
                      at rx.Observable$2.call(Observable.java:154)
                      at rx.Observable.unsafeSubscribe(Observable.java:7710)
                      at rx.internal.operators.OperatorSubscribeOn$1$1.call(OperatorSubscribeOn.java:62)
                      at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55)
                      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
                      at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
                      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272) 
                      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
                      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
                      at java.lang.Thread.run(Thread.java:761) 
                   Caused by: java.lang.RuntimeException: java.io.IOException: closed
                      at rx.exceptions.Exceptions.propagate(Exceptions.java:53)
                      at com.ibm.csync.internals.websocket.OkHttpWebSocketConnection.lambda$sendMessage$43(OkHttpWebSocketConnection.java:74)
                      at com.ibm.csync.internals.websocket.OkHttpWebSocketConnection.access$lambda$0(OkHttpWebSocketConnection.java:0)
                      at com.ibm.csync.internals.websocket.OkHttpWebSocketConnection$$Lambda$1.call(Unknown Source)
                      at rx.internal.operators.OperatorMap$1.onNext(OperatorMap.java:55)
                      at rx.internal.util.ScalarSynchronousObservable$1.call(ScalarSynchronousObservable.java:46) 
                      at rx.internal.util.ScalarSynchronousObservable$1.call(ScalarSynchronousObservable.java:35) 
                      at rx.Observable$2.call(Observable.java:162) 
                      at rx.Observable$2.call(Observable.java:154) 
                      at rx.Observable.unsafeSubscribe(Observable.java:7710) 
                      at rx.internal.operators.OperatorSubscribeOn$1$1.call(OperatorSubscribeOn.java:62) 
                      at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55) 
                      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
                      at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
                      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272) 
                      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
                      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
                      at java.lang.Thread.run(Thread.java:761) 
                   Caused by: java.io.IOException: closed
                      at okhttp3.internal.ws.WebSocketWriter.writeMessageFrameSynchronized(WebSocketWriter.java:178)
                      at okhttp3.internal.ws.WebSocketWriter.access$600(WebSocketWriter.java:47)
                      at okhttp3.internal.ws.WebSocketWriter$FrameSink.close(WebSocketWriter.java:271)
                      at okio.RealBufferedSink.close(RealBufferedSink.java:241)
                      at okhttp3.internal.ws.RealWebSocket.sendMessage(RealWebSocket.java:131)
                      at com.ibm.csync.internals.websocket.OkHttpWebSocketConnection$LockingWebSocket.sendMessage(OkHttpWebSocketConnection.java:148)
                      at com.ibm.csync.internals.websocket.OkHttpWebSocketConnection.lambda$sendMessage$43(OkHttpWebSocketConnection.java:71)
                      at com.ibm.csync.internals.websocket.OkHttpWebSocketConnection.access$lambda$0(OkHttpWebSocketConnection.java:0) 
                      at com.ibm.csync.internals.websocket.OkHttpWebSocketConnection$$Lambda$1.call(Unknown Source) 
                      at rx.internal.operators.OperatorMap$1.onNext(OperatorMap.java:55) 
                      at rx.internal.util.ScalarSynchronousObservable$1.call(ScalarSynchronousObservable.java:46) 
                      at rx.internal.util.ScalarSynchronousObservable$1.call(ScalarSynchronousObservable.java:35) 
                      at rx.Observable$2.call(Observable.java:162) 
                      at rx.Observable$2.call(Observable.java:154) 
                      at rx.Observable.unsafeSubscribe(Observable.java:7710) 
                      at rx.internal.operators.OperatorSubscribeOn$1$1.call(OperatorSubscribeOn.java:62) 
                      at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55) 
                      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
                      at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
                      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272) 
                      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
                      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
                      at java.lang.Thread.run(Thread.java:761) 
                   Caused by: rx.exceptions.OnErrorThrowable$OnNextValue: OnError while emitting onNext value: okhttp3.RequestBody$2.class
                      at rx.internal.operators.OperatorMap$1.onNext(OperatorMap.java:58)
                      at rx.internal.util.ScalarSynchronousObservable$1.call(ScalarSynchronousObservable.java:46) 
                      at rx.internal.util.ScalarSynchronousObservable$1.call(ScalarSynchronousObservable.java:35) 
                      at rx.Observable$2.call(Observable.java:162) 
                      at rx.Observable$2.call(Observable.java:154) 
                      at rx.Observable.unsafeSubscribe(Observable.java:7710) 
                      at rx.internal.operators.OperatorSubscribeOn$1$1.call(OperatorSubscribeOn.java:62) 
                      at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55) 
                      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) 
                      at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
                      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272) 
                      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
                      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
                      at java.lang.Thread.run(Thread.java:761) 
I/Process: Sending signal. PID: 10326 SIG: 9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant