RxJava mergeDelayError OnErrorFailedException Error: occurred when trying to propagate error to Observer.onError
<p>When I use <code>mergeDelayError</code> on a list of observables to execute each observable before erroring out, I get:</p>

<pre><code>OnErrorFailedException: Error occurred when trying to propagate error to Observer.onError
</code></pre>

<p>Code:</p>

<pre><code>return Observable.mergeDelayError(Observable.from(observableList));
</code></pre>

<p>Where I subscribe to the observable with an argument for <code>onError</code> (which is also not executed).</p>

<p>However, when I tried use <code>onErrorResumeNext</code> to debug this, I found that propagating the observable error caused no issues. What is happening here?</p>

<pre><code>return Observable.mergeDelayError(Observable.from(observableList)).onErrorResumeNext(new Func1&lt;Throwable, Observable&lt;? extends Pair&lt;String, Map&lt;Long, Set&lt;ProgressGradedItemBL&gt;&gt;&gt;&gt;&gt;() {
    @Override
    public Observable&lt;? extends Pair&lt;String, Map&lt;Long, Set&lt;ProgressGradedItemBL&gt;&gt;&gt;&gt; call(Throwable throwable) {
        return Observable.error(throwable);
    }
});
</code></pre>

<p>Here's the stacktrace I get without <code>onErrorResumeNext</code>:</p>

<pre><code>rx.exceptions.OnErrorFailedException: Error occurred when trying to propagate error to Observer.onError
    at rx.observers.SafeSubscriber._onError(SafeSubscriber.java:175)
    at rx.observers.SafeSubscriber.onError(SafeSubscriber.java:97)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.drainAndComplete(OperatorMerge.java:466)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.completeInner(OperatorMerge.java:449)
    at rx.internal.operators.OperatorMerge$InnerSubscriber.emit(OperatorMerge.java:599)
    at rx.internal.operators.OperatorMerge$InnerSubscriber.onCompleted(OperatorMerge.java:542)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.drainAndComplete(OperatorMerge.java:472)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.completeInner(OperatorMerge.java:449)
    at rx.internal.operators.OperatorMerge$InnerSubscriber.emit(OperatorMerge.java:614)
    at rx.internal.operators.OperatorMerge$InnerSubscriber.onCompleted(OperatorMerge.java:542)
    at rx.internal.operators.OnSubscribeCombineLatest$MultiSourceProducer.tick(OnSubscribeCombineLatest.java:151)
    at rx.internal.operators.OnSubscribeCombineLatest$MultiSourceProducer.onCompleted(OnSubscribeCombineLatest.java:183)
    at rx.internal.operators.OnSubscribeCombineLatest$MultiSourceRequestableSubscriber.onCompleted(OnSubscribeCombineLatest.java:236)
    at rx.internal.operators.OperatorMap$1.onCompleted(OperatorMap.java:43)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.drainAndComplete(OperatorMerge.java:472)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.onCompleted(OperatorMerge.java:435)
    at rx.internal.operators.OperatorMap$1.onCompleted(OperatorMap.java:43)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.drainAndComplete(OperatorMerge.java:472)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.completeInner(OperatorMerge.java:449)
    at rx.internal.operators.OperatorMerge$InnerSubscriber.emit(OperatorMerge.java:614)
    at rx.internal.operators.OperatorMerge$InnerSubscriber.onCompleted(OperatorMerge.java:542)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.drainAndComplete(OperatorMerge.java:472)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.onCompleted(OperatorMerge.java:435)
    at rx.internal.operators.OperatorMap$1.onCompleted(OperatorMap.java:43)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.drainAndComplete(OperatorMerge.java:472)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.completeInner(OperatorMerge.java:449)
    at rx.internal.operators.OperatorMerge$InnerSubscriber.emit(OperatorMerge.java:614)
    at rx.internal.operators.OperatorMerge$InnerSubscriber.onCompleted(OperatorMerge.java:542)
    at rx.internal.operators.OperatorDistinctUntilChanged$1.onCompleted(OperatorDistinctUntilChanged.java:64)
    at rx.internal.operators.OperatorDoOnEach$1.onCompleted(OperatorDoOnEach.java:53)
    at rx.internal.operators.OperatorMap$1.onCompleted(OperatorMap.java:43)
    at rx.internal.operators.OperatorFilter$1.onCompleted(OperatorFilter.java:42)
    at rx.internal.operators.OperatorSubscribeOn$1$1$1.onCompleted(OperatorSubscribeOn.java:66)
    at rx.observers.SerializedObserver.onCompleted(SerializedObserver.java:99)
    at rx.observers.SerializedSubscriber.onCompleted(SerializedSubscriber.java:46)
    at rx.internal.operators.OperatorConcat$ConcatSubscriber.subscribeNext(OperatorConcat.java:158)
    at rx.internal.operators.OperatorConcat$ConcatSubscriber.completeInner(OperatorConcat.java:150)
    at rx.internal.operators.OperatorConcat$ConcatInnerSubscriber.onCompleted(OperatorConcat.java:212)
    at rx.internal.operators.OperatorDoOnEach$1.onCompleted(OperatorDoOnEach.java:53)
    at rx.internal.operators.OperatorDoOnEach$1.onCompleted(OperatorDoOnEach.java:53)
    at rx.internal.operators.OperatorMap$1.onCompleted(OperatorMap.java:43)
    at rx.internal.operators.OperatorDoOnEach$1.onCompleted(OperatorDoOnEach.java:53)
</code></pre>