Skip to content

[reduce] initial value not allowed to be null anymore #3484

@renaudcerrato

Description

@renaudcerrato

Since I switched to 1.0.15, one of my observable is throwing an NPE - if I'm revert back to 1.0.14, everything is fine.

It seems the reduce operator does'nt accept null for initial value anymore.

Fatal Exception: java.lang.IllegalStateException: Exception thrown on Scheduler.Worker thread. Add `onError` handling.
       at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java)
       at android.os.Handler.handleCallback(Handler.java)
       at android.os.Handler.dispatchMessage(Handler.java)
       at android.os.Looper.loop(Looper.java)
       at android.app.ActivityThread.main(ActivityThread.java)
       at java.lang.reflect.Method.invoke(Method.java)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java)
Caused by rx.exceptions.OnErrorNotImplementedException: null elements not allowed
       at rx.Observable$27.onError(Observable.java)
       at rx.observers.SafeSubscriber._onError(SafeSubscriber.java)
       at rx.observers.SafeSubscriber.onError(SafeSubscriber.java)
       at rx.internal.operators.OperatorObserveOn$ObserveOnSubscriber.pollQueue(OperatorObserveOn.java)
       at rx.internal.operators.OperatorObserveOn$ObserveOnSubscriber$2.call(OperatorObserveOn.java)
       at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java)
       at android.os.Handler.handleCallback(Handler.java)
       at android.os.Handler.dispatchMessage(Handler.java)
       at android.os.Looper.loop(Looper.java)
       at android.app.ActivityThread.main(ActivityThread.java)
       at java.lang.reflect.Method.invoke(Method.java)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java)
Caused by java.lang.NullPointerException: null elements not allowed
       at rx.internal.util.unsafe.SpscLinkedQueue.offer(SpscLinkedQueue.java)
       at rx.internal.operators.OperatorScan$InitialProducer.<init>(OperatorScan.java)
       at rx.internal.operators.OperatorScan.call(OperatorScan.java)
       at rx.internal.operators.OperatorScan.call(OperatorScan.java)
       at rx.Observable$2.call(Observable.java)
       at rx.Observable$2.call(Observable.java)
       at rx.Observable$2.call(Observable.java)
       at rx.Observable$2.call(Observable.java)
       at rx.Observable$2.call(Observable.java)
       at rx.Observable$2.call(Observable.java)
       at rx.Observable.unsafeSubscribe(Observable.java)
       at rx.internal.operators.OperatorMerge$MergeSubscriber.onNext(OperatorMerge.java)
       at rx.internal.operators.OperatorMerge$MergeSubscriber.onNext(OperatorMerge.java)
       at rx.internal.operators.OperatorMap$1.onNext(OperatorMap.java)
       at rx.observers.SerializedObserver.onNext(SerializedObserver.java)
       at rx.observers.SerializedSubscriber.onNext(SerializedSubscriber.java)
       at rx.internal.operators.OperatorDebounceWithTime$DebounceState.emit(OperatorDebounceWithTime.java)
       at rx.internal.operators.OperatorDebounceWithTime$1$1.call(OperatorDebounceWithTime.java)
       at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java)
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java)
       at java.util.concurrent.FutureTask.run(FutureTask.java)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java)
       at java.lang.Thread.run(Thread.java)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions