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

(fs) MappedByteBuffer.force() throws IOException / ENOSPC

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P1
    • Resolution: Fixed
    • Affects Version/s: 1.4.2
    • Fix Version/s: 1.4.2_07
    • Component/s: core-libs
    • Labels:
    • Subcomponent:
    • Resolved In Build:
      b03
    • CPU:
      sparc
    • OS:
      solaris_8

      Backports

        Description

        My ISV has one bug and could not provide standalone test case.

        the program exports data to database, it works fine with jdk1.4.1_06
        but fails with jdk1.4.2_02 , 1.4.2_04, 1.4.2_05.
        I assume the problem is related to libnio.so , when i swap it with jdk1.4.1_06's
        libnio.so , the program willnot fail(no Exception thrown).
        Below is error message during exception occuring

        5.07.04 14:33 com.sap.inst.jload.Jload logStackTrace
        SEVERE: java.io.IOException: Not enough space
                at java.nio.MappedByteBuffer.force0(Native Method)
                at java.nio.MappedByteBuffer.force(MappedByteBuffer.java:138)
                at com.sap.inst.jload.io.DataFile.putEntry(DataFile.java:287)
                at com.sap.inst.jload.db.DBTable.unload(DBTable.java:190)
                at com.sap.inst.jload.Jload.dbExport(Jload.java:172)
                at com.sap.inst.jload.Jload.executeJob(Jload.java:383)
                at com.sap.inst.jload.Jload.main(Jload.java:541)

        It could not be no enough space problem. since it works fine with jdk1.4.1_06
        and fails on jdk1.4.2x

        I provide a test landscape. to use this test landscape please follow below
        steps

        You can telnet suncc19 (129.157.142.19) with your sun ID
        Then from suncc19, you can telnet 172.16.8.156
        Login lroot (root user)
        Pass sap

        cd /install/unix_pack
        Run ./testrun

        The file /install/unix_pack/testrun is a script. You could switch jdk version here

        #setenv JAVA_HOME /usr/j2sdk1.4.2_04 //this is jdk1.4.2_04
        setenv JAVA_HOME /usr/j2se // this is jdk1.4.1_06

        If test go through no exception happens, you have to stop program by contral + c
        Then check result at jload.log

        If test fails, you will see vm exit. You could check result in jload.log

        Test will pass with jdk1.4.1_06
        , will fail with jdk1.4.2x



        Ps: if you need reboot machine
        Switch to su - sunadm
        Then tyep stopsap all
        Wait until sap system stops completely
        Then you could reboot machine

        Blew oupput is result when i type command df -k before Exception occurs on
        test landscape machine

        /dev/dsk/c0t0d0s0 4129290 1928960 2159038 48% /
        /proc 0 0 0 0% /proc
        mnttab 0 0 0 0% /etc/mnttab
        fd 0 0 0 0% /dev/fd
        swap 4061256 104 4061152 1% /var/run
        swap 4065416 4264 4061152 1% /tmp
        /dev/md/dsk/d10 63566161 35139049 27791451 56% /data
        ###@###.### 10/15/04 21:30 GMT
        ###@###.### 10/15/04 21:31 GMT

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  busersunw Btplusnull User (Inactive)
                  Reporter:
                  duke J. Duke (Inactive)
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:
                    Imported:
                    Indexed: