-
Bug
-
Resolution: Done
-
Medium
-
None
-
S22 SIMPLY Oct18-Oct31, S23 SIMPLY Nov1-Nov15, S24 SIMPLY Nov 15 - Nov 28, S25 SIMPLY Nov 29 - Dec 11, S26 SIMPLY Dec 12 - Dec 24
If network connectivity is removed during streaming, Findaway will crash the entire process with an uncaught exception:
10-30 21:13:23.570 31222 31481 D OkHttp : <-- HTTP FAILED: java.net.SocketTimeoutException: timeout 10-30 21:13:23.573 31222 31481 W System.err: io.reactivex.exceptions.OnErrorNotImplementedException: The exception was not handled due to missing onError handler in the subscribe() method call. Further reading: https://github.com/ReactiveX/RxJava/wiki/Error-Handling | java.lang.RuntimeException: java.net.SocketTimeoutException: timeout 10-30 21:13:23.573 31222 31481 W System.err: at io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:704) 10-30 21:13:23.574 31222 31481 W System.err: at io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:701) 10-30 21:13:23.574 31222 31481 W System.err: at io.reactivex.internal.observers.LambdaObserver.onError(LambdaObserver.java:77) 10-30 21:13:23.574 31222 31481 W System.err: at io.reactivex.internal.observers.LambdaObserver.onNext(LambdaObserver.java:67) 10-30 21:13:23.574 31222 31481 W System.err: at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainNormal(ObservableObserveOn.java:201) 10-30 21:13:23.574 31222 31481 W System.err: at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(ObservableObserveOn.java:255) 10-30 21:13:23.574 31222 31481 W System.err: at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66) 10-30 21:13:23.574 31222 31481 W System.err: at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57) 10-30 21:13:23.574 31222 31481 W System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:237) 10-30 21:13:23.574 31222 31481 W System.err: at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272) 10-30 21:13:23.574 31222 31481 W System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 10-30 21:13:23.574 31222 31481 W System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 10-30 21:13:23.575 31222 31481 W System.err: at java.lang.Thread.run(Thread.java:761) 10-30 21:13:23.575 31222 31481 W System.err: Caused by: java.lang.RuntimeException: java.net.SocketTimeoutException: timeout 10-30 21:13:23.575 31222 31481 W System.err: at rx.exceptions.Exceptions.propagate(Exceptions.java:58) 10-30 21:13:23.575 31222 31481 W System.err: at rx.observables.BlockingObservable.blockForSingle(BlockingObservable.java:464) 10-30 21:13:23.575 31222 31481 W System.err: at rx.observables.BlockingObservable.first(BlockingObservable.java:167) 10-30 21:13:23.575 31222 31481 W System.err: at io.audioengine.mobile.persistence.Download.getContent(Download.java:166) 10-30 21:13:23.575 31222 31481 W System.err: at io.audioengine.mobile.persistence.Download.start(Download.java:216) 10-30 21:13:23.576 31222 31481 W System.err: at io.audioengine.mobile.persistence.DownloadManager.download(DownloadManager.java:64) 10-30 21:13:23.576 31222 31481 W System.err: at io.audioengine.mobile.persistence.DownloadManager.accept(DownloadManager.java:386) 10-30 21:13:23.576 31222 31481 W System.err: at io.reactivex.internal.observers.LambdaObserver.onNext(LambdaObserver.java:63) 10-30 21:13:23.576 31222 31481 W System.err: ... 9 more 10-30 21:13:23.577 31222 31481 W System.err: Caused by: java.net.SocketTimeoutException: timeout 10-30 21:13:23.577 31222 31481 W System.err: at okio.Okio$4.newTimeoutException(Okio.java:227) 10-30 21:13:23.577 31222 31481 W System.err: at okio.AsyncTimeout.exit(AsyncTimeout.java:274) 10-30 21:13:23.577 31222 31481 W System.err: at okio.AsyncTimeout$2.read(AsyncTimeout.java:242) 10-30 21:13:23.577 31222 31481 W System.err: at okio.RealBufferedSource.indexOf(RealBufferedSource.java:325) 10-30 21:13:23.577 31222 31481 W System.err: at okio.RealBufferedSource.indexOf(RealBufferedSource.java:314) 10-30 21:13:23.577 31222 31481 W System.err: at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:210) 10-30 21:13:23.577 31222 31481 W System.err: at okhttp3.internal.http1.Http1Codec.readResponseHeaders(Http1Codec.java:189) 10-30 21:13:23.577 31222 31481 W System.err: at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:67) 10-30 21:13:23.577 31222 31481 W System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) 10-30 21:13:23.578 31222 31481 W System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) 10-30 21:13:23.578 31222 31481 W System.err: at io.audioengine.mobile.AudioEngineModule$1.intercept(AudioEngineModule.java:75) 10-30 21:13:23.578 31222 31481 W System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) 10-30 21:13:23.578 31222 31481 W System.err: at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45) 10-30 21:13:23.578 31222 31481 W System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) 10-30 21:13:23.578 31222 31481 W System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) 10-30 21:13:23.578 31222 31481 W System.err: at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93) 10-30 21:13:23.578 31222 31481 W System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) 10-30 21:13:23.578 31222 31481 W System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) 10-30 21:13:23.578 31222 31481 W System.err: at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93) 10-30 21:13:23.578 31222 31481 W System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) 10-30 21:13:23.579 31222 31481 W System.err: at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:120) 10-30 21:13:23.579 31222 31481 W System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) 10-30 21:13:23.579 31222 31481 W System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) 10-30 21:13:23.579 31222 31481 W System.err: at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.java:212) 10-30 21:13:23.579 31222 31481 W System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) 10-30 21:13:23.579 31222 31481 W System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) 10-30 21:13:23.579 31222 31481 W System.err: at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:179) 10-30 21:13:23.579 31222 31481 W System.err: at okhttp3.RealCall.execute(RealCall.java:63) 10-30 21:13:23.579 31222 31481 W System.err: at retrofit2.OkHttpCall.execute(OkHttpCall.java:174) 10-30 21:13:23.579 31222 31481 W System.err: at retrofit2.adapter.rxjava.RxJavaCallAdapterFactory$RequestArbiter.request(RxJavaCallAdapterFactory.java:171) 10-30 21:13:23.579 31222 31481 W System.err: at rx.internal.operators.OperatorTake$1$1.request(OperatorTake.java:109) 10-30 21:13:23.580 31222 31481 W System.err: at rx.Subscriber.setProducer(Subscriber.java:211) 10-30 21:13:23.580 31222 31481 W System.err: at rx.internal.operators.OperatorTake$1.setProducer(OperatorTake.java:93) 10-30 21:13:23.580 31222 31481 W System.err: at retrofit2.adapter.rxjava.RxJavaCallAdapterFactory$CallOnSubscribe.call(RxJavaCallAdapterFactory.java:152) 10-30 21:13:23.580 31222 31481 W System.err: at retrofit2.adapter.rxjava.RxJavaCallAdapterFactory$CallOnSubscribe.call(RxJavaCallAdapterFactory.java:138) 10-30 21:13:23.580 31222 31481 W System.err: at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48) 10-30 21:13:23.580 31222 31481 W System.err: at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30) 10-30 21:13:23.580 31222 31481 W System.err: at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48) 10-30 21:13:23.580 31222 31481 W System.err: at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30) 10-30 21:13:23.580 31222 31481 W System.err: at rx.Observable.subscribe(Observable.java:10238) 10-30 21:13:23.580 31222 31481 W System.err: at rx.Observable.subscribe(Observable.java:10205) 10-30 21:13:23.580 31222 31481 W System.err: at rx.observables.BlockingObservable.blockForSingle(BlockingObservable.java:444) 10-30 21:13:23.581 31222 31481 W System.err: ... 15 more 10-30 21:13:23.583 31222 31481 E AndroidRuntime: FATAL EXCEPTION: RxCachedThreadScheduler-2 10-30 21:13:23.583 31222 31481 E AndroidRuntime: Process: org.nypl.simplified.simplye, PID: 31222 10-30 21:13:23.583 31222 31481 E AndroidRuntime: io.reactivex.exceptions.OnErrorNotImplementedException: The exception was not handled due to missing onError handler in the subscribe() method call. Further reading: https://github.com/ReactiveX/RxJava/wiki/Error-Handling | java.lang.RuntimeException: java.net.SocketTimeoutException: timeout 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:704) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:701) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at io.reactivex.internal.observers.LambdaObserver.onError(LambdaObserver.java:77) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at io.reactivex.internal.observers.LambdaObserver.onNext(LambdaObserver.java:67) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainNormal(ObservableObserveOn.java:201) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(ObservableObserveOn.java:255) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:237) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at java.lang.Thread.run(Thread.java:761) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: Caused by: java.lang.RuntimeException: java.net.SocketTimeoutException: timeout 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at rx.exceptions.Exceptions.propagate(Exceptions.java:58) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at rx.observables.BlockingObservable.blockForSingle(BlockingObservable.java:464) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at rx.observables.BlockingObservable.first(BlockingObservable.java:167) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at io.audioengine.mobile.persistence.Download.getContent(Download.java:166) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at io.audioengine.mobile.persistence.Download.start(Download.java:216) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at io.audioengine.mobile.persistence.DownloadManager.download(DownloadManager.java:64) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at io.audioengine.mobile.persistence.DownloadManager.accept(DownloadManager.java:386) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at io.reactivex.internal.observers.LambdaObserver.onNext(LambdaObserver.java:63) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: ... 9 more 10-30 21:13:23.583 31222 31481 E AndroidRuntime: Caused by: java.net.SocketTimeoutException: timeout 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at okio.Okio$4.newTimeoutException(Okio.java:227) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at okio.AsyncTimeout.exit(AsyncTimeout.java:274) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at okio.AsyncTimeout$2.read(AsyncTimeout.java:242) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at okio.RealBufferedSource.indexOf(RealBufferedSource.java:325) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at okio.RealBufferedSource.indexOf(RealBufferedSource.java:314) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:210) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at okhttp3.internal.http1.Http1Codec.readResponseHeaders(Http1Codec.java:189) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:67) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at io.audioengine.mobile.AudioEngineModule$1.intercept(AudioEngineModule.java:75) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) 10-30 21:13:23.583 31222 31481 E AndroidRuntime: at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:120) 10-30 21:13:23.584 31222 31481 E AndroidRuntime: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) 10-30 21:13:23.584 31222 31481 E AndroidRuntime: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) 10-30 21:13:23.584 31222 31481 E AndroidRuntime: at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.java:212) 10-30 21:13:23.584 31222 31481 E AndroidRuntime: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) 10-30 21:13:23.584 31222 31481 E AndroidRuntime: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) 10-30 21:13:23.584 31222 31481 E AndroidRuntime: at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:179) 10-30 21:13:23.584 31222 31481 E AndroidRuntime: at okhttp3.RealCall.execute(RealCall.java:63) 10-30 21:13:23.584 31222 31481 E AndroidRuntime: at retrofit2.OkHttpCall.execute(OkHttpCall.java:174) 10-30 21:13:23.584 31222 31481 E AndroidRuntime: at retrofit2.adapter.rxjava.RxJavaCallAdapterFactory$RequestArbiter.request(RxJavaCallAdapterFactory.java:171) 10-30 21:13:23.584 31222 31481 E AndroidRuntime: at rx.internal.operators.OperatorTake$1$1.request(OperatorTake.java:109) 10-30 21:13:23.584 31222 31481 E AndroidRuntime: at rx.Subscriber.setProducer(Subscriber.java:211) 10-30 21:13:23.584 31222 31481 E AndroidRuntime: at rx.internal.operators.OperatorTake$1.setProducer(OperatorTake.java:93) 10-30 21:13:23.584 31222 31481 E AndroidRuntime: at retrofit2.adapter.rxjava.RxJavaCallAdapterFactory$CallOnSubscribe.call(RxJavaCallAdapterFactory.java:152) 10-30 21:13:23.584 31222 31481 E AndroidRuntime: at retrofit2.adapter.rxjava.RxJavaCallAdapterFactory$CallOnSubscribe.call(RxJavaCallAdapterFactory.java:138) 10-30 21:13:23.584 31222 31481 E AndroidRuntime: at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48) 10-30 21:13:23.584 31222 31481 E AndroidRuntime: at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30) 10-30 21:13:23.584 31222 31481 E AndroidRuntime: at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48) 10-30 21:13:23.584 31222 31481 E AndroidRuntime: at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30) 10-30 21:13:23.584 31222 31481 E AndroidRuntime: at rx.Observable.subscribe(Observable.java:10238) 10-30 21:13:23.584 31222 31481 E AndroidRuntime: at rx.Observable.subscribe(Observable.java:10205) 10-30 21:13:23.584 31222 31481 E AndroidRuntime: at rx.observables.BlockingObservable.blockForSingle(BlockingObservable.java:444) 10-30 21:13:23.584 31222 31481 E AndroidRuntime: ... 15 more 10-30 21:13:23.598 448 931 W ActivityManager: Force finishing activity org.nypl.simplified.simplye/org.nypl.simplified.app.player.AudioBookPlayerActivity