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

Need help debugging production crashes in rxjava #6067

Closed
ghost opened this issue Jul 2, 2018 · 4 comments
Closed

Need help debugging production crashes in rxjava #6067

ghost opened this issue Jul 2, 2018 · 4 comments
Labels
2.x Missing-Details Could be a question or a bug report, but not enough details are provided.

Comments

@ghost
Copy link

ghost commented Jul 2, 2018

I think it's unlikely these crashes are RxJava's doing, but I'm posting here to try to get to help to debug this situation.

  • rxjava 2.1.13

Crash Reports 1

at io.reactivex.internal.observers.ConsumerSingleObserver.dispose (ConsumerSingleObserver.java)
or .onError (ConsumerSingleObserver.java)
or .onSubscribe (ConsumerSingleObserver.java)
at io.reactivex.internal.operators.flowable.FlowableSingleSingle$SingleElementSubscriber.dispose (FlowableSingleSingle.java)
or .onError (FlowableSingleSingle.java)
or .onSubscribe (FlowableSingleSingle.java)
at io.reactivex.internal.operators.flowable.FlowableDoOnEach$DoOnEachSubscriber.onError (FlowableDoOnEach.java)
or .requestFusion (FlowableDoOnEach.java)
at io.reactivex.internal.operators.flowable.FlowableObserveOn$BaseObserveOnSubscriber.checkTerminated (FlowableObserveOn.java)
or .onError (FlowableObserveOn.java)
or .request (FlowableObserveOn.java)
or .requestFusion (FlowableObserveOn.java)
at io.reactivex.internal.operators.flowable.FlowableObserveOn$ObserveOnSubscriber.runAsync (FlowableObserveOn.java)
at io.reactivex.internal.operators.flowable.FlowableObserveOn$BaseObserveOnSubscriber.run (FlowableObserveOn.java)
at io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run (HandlerScheduler.java)
at android.os.Handler.handleCallback (Handler.java:751)
at android.os.Handler.dispatchMessage (Handler.java:95)
at android.os.Looper.loop (Looper.java:154)
at android.app.ActivityThread.main (ActivityThread.java:6123)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:757)

Crash reports 2

o.reactivex.exceptions.CompositeException:
at io.reactivex.internal.observers.ConsumerSingleObserver.a (ConsumerSingleObserver.java:26)
at io.reactivex.internal.operators.flowable.FlowableSingleSingle$SingleElementSubscriber.a (FlowableSingleSingle.java:17)
at io.reactivex.internal.operators.flowable.FlowableDoOnEach$DoOnEachSubscriber.a (FlowableDoOnEach.java:44)
at io.reactivex.internal.operators.flowable.FlowableObserveOn$BaseObserveOnSubscriber.a (FlowableObserveOn.java:35)
at io.reactivex.internal.operators.flowable.FlowableObserveOn$ObserveOnSubscriber.h (FlowableObserveOn.java:29)
at io.reactivex.internal.operators.flowable.FlowableObserveOn$BaseObserveOnSubscriber.run (FlowableObserveOn.java:17)
at io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run (HandlerScheduler.java:2)
at android.os.Handler.handleCallback (Handler.java:789)
at android.os.Handler.dispatchMessage (Handler.java:98)
at android.os.Looper.loop (Looper.java:164)
at android.app.ActivityThread.main (ActivityThread.java:6944)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:327)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1374)

Any idea on what one can do to further debug these?

@akarnokd
Copy link
Member

akarnokd commented Jul 2, 2018

These partial stacktraces make no sense. The exception type and message is missing and the lines don't match with source code at all (like referring an import statement?).

@akarnokd akarnokd added 2.x Missing-Details Could be a question or a bug report, but not enough details are provided. labels Jul 2, 2018
@ghost
Copy link
Author

ghost commented Jul 2, 2018

Thanks @akarnokd for weighing in. Just an offside, do you think it could be an unobfuscated trace? Usually even still they look more complete reports #1. Totally bizarre that Google Play Console reports the correct progaurd mapping file. Sounds like there's no way to understand this without a more complete log.

@akarnokd
Copy link
Member

akarnokd commented Jul 2, 2018

Report 1 indicates a crash upon disposing a Single. You have something like observeOn().doOnEach().single(). My guess is that you talk to some database on the wrong thread when disposing or you access a null reference when trying to access some objects.

The CompositeException could mean a crash in an error handler.

@akarnokd
Copy link
Member

akarnokd commented Jul 8, 2018

I'm closing this issue due to inactivity. If you have further input on the issue, don't hesitate to reopen this issue or post a new one.

@akarnokd akarnokd closed this as completed Jul 8, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2.x Missing-Details Could be a question or a bug report, but not enough details are provided.
Projects
None yet
Development

No branches or pull requests

1 participant