Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6470086

(fc) FileChannel.transferTo(2147483647, 1, channel) cause "Value too large" exception

XMLWordPrintable

    • b05
    • x86
    • linux
    • Not verified

        FULL PRODUCT VERSION :
        java version "1.5.0_07"
        Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_07-b03)
        Java HotSpot(TM) Client VM (build 1.5.0_07-b03, mixed mode)


        ADDITIONAL OS VERSION INFORMATION :
        Linux 2.6.13-gentoo-r3 i686 AMD Athlon(tm) 64 Processor 3000+ GNU/Linux

        A DESCRIPTION OF THE PROBLEM :
        Using trannsferTo() for large files on many servers, we found that these specific parameters cause the exception.
        Position: 2,147,483,647
        Data length: 1
        Exception: java.io.IOException: Value too large for defined data type

        When using any other position and/or length does not cause that exception. Seems like it's a boundry-check bug in the underlying code.

        STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
        Simply use the parameters mentioned here, with any open output channel.

        EXPECTED VERSUS ACTUAL BEHAVIOR :
        EXPECTED -
        Successfull transfer of the byte.
        ACTUAL -
        The IOException mentioned here was thrown.

        ERROR MESSAGES/STACK TRACES THAT OCCUR :
        Exception: java.io.IOException: Value too large for defined data type

        REPRODUCIBILITY :
        This bug can be reproduced always.

        ---------- BEGIN SOURCE ----------
        try
        {
            long reqOffset = 2147483647L;
            int reqLength = 1;
            long sentBytes = channel.transferTo(reqOffset, reqLength, channel);
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        ---------- END SOURCE ----------

              alanb Alan Bateman
              ndcosta Nelson Dcosta (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: