Please refer to the following sample code.
This file can be compiled before jdk 9 b94 (JDK 8 can compile too). It looks a regression in javac (type inference?). I can reproduce on both Linux/mac, so looks to be OS independent.
I saw a bunch of changes on javac were integrated in jdk 9 b94. The following items may be related: 
JDK-8067767
JDK-8046685
JDK-8142931
import java.util.stream.Stream;
public class TypeInfer {
    public static <E extends Exception> void perform(Func<? extends E>... args) throws E {
        perform(Stream.of(args));
    }
    public static <E extends Exception> void perform(Func<? extends E> args) throws E {
        perform(Stream.of(args));
    }
    public static <E extends Exception> void perform(Stream<Func<? extends E>> list) throws E {
    }
    public interface Func<E extends Exception> {
        void func();// throws E;
    }
}
Javac output with jdk 9 after b94:
TypeInfer.java:4: error: unreported exception Exception; must be caught or declared to be thrown
                perform(Stream.of(args));
                       ^
Note: TypeInfer.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error
2 warnings