b73: IllegalAccessError: tried to access class java.util.stream.BaseStream

Paul Sandoz paul.sandoz at oracle.com
Wed Jan 16 07:51:11 PST 2013


On Jan 16, 2013, at 4:17 PM, Dmitry Bessonov <dmitry.bessonov at oracle.com> wrote:

> 
> import java.util.Arrays;
> import java.util.stream.Stream;
> 
> public class IllegalAccessErrorTest {
> 
>     public static void main(String[] args) {
> 
>         Stream stream = Arrays.asList("a", "b").stream();
>         System.err.println("iterator = " + stream.iterator());
>         Iterable iterable = stream::iterator;
>         System.err.println("iterable = " + iterable);
>     }
> }
> 
> when compiled/run on b73 the output is:
> 
> 
> iterator = java.util.stream.ReferencePipeline$6 at 3256a5
> Exception in thread "main" java.lang.IllegalAccessError: tried to access 
> class java.util.stream.BaseStream from class IllegalAccessErrorTest
>     at IllegalAccessErrorTest.main(IllegalAccessErrorTest.java:10)
> 

Interesting. BaseStream was made package private.

Looks like a bug in the runtime translation of the method reference.

Paul.


> 
> with b72 no exceptions are seen
> 
> -Dmitry
> 
> 



More information about the lambda-dev mailing list