This code throws MissingBackpressureException:
Observable<Integer> o1 = Observable.from(1, 1).concatWith(Observable.just(-1).repeat());
Observable<Integer> o2 = Observable.from(2, 2, 2, 2);
Observable.zip(o1, o2, (a, b) -> a + b).forEach(System.out::println);
It should emit 3, 3, 1, 1 and end correctly.