8227609: (fs) Files.newInputStream(...).skip(n) should allow skipping beyond file size

Brian Burkhalter brian.burkhalter at oracle.com
Fri Jul 26 14:56:49 UTC 2019


> On Jul 26, 2019, at 7:53 AM, Brian Burkhalter <brian.burkhalter at oracle.com> wrote:
> 
> I saw a test failure in the CI system with this:
> ----------System.err:(18/1120)----------
> java.io.IOException: Invalid argument
> 	at java.base/sun.nio.ch.FileDispatcherImpl.seek0(Native Method)
> 	at java.base/sun.nio.ch.FileDispatcherImpl.seek(FileDispatcherImpl.java:78)
> 	at java.base/sun.nio.ch.FileChannelImpl.position(FileChannelImpl.java:361)
> 	at java.base/sun.nio.ch.FileChannelImpl.position(FileChannelImpl.java:52)
> 	at java.base/sun.nio.ch.ChannelInputStream.skip(ChannelInputStream.java:132)
> 	at InputStreamTest.testSkip(InputStreamTest.java:115)
> InputStreamTest.java;
>  112                 assertTrue(in.skip(size/2) == size/2); // 0.5
>  113                 assertTrue(in.available() == size/2);
>  114 
>  115                 assertTrue(in.skip(Long.MAX_VALUE - size/4) ==
>  116                     Long.MAX_VALUE - size/2);
>  117                 assertTrue(in.available() == 0);
> It looks as if for some case lseek64() doesn’t like an argument of Long.MAX_VALUE. I’ll need to run this down before checking anything in.

This was on Linux-x64.

Brian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/nio-dev/attachments/20190726/ce508570/attachment.html>


More information about the nio-dev mailing list