nonfatal internal JIT (3.00.039(x)) error 'GetRegisterA' has occurred i

XMLWordPrintable

    • 1.1.6
    • x86
    • windows_95, windows_nt
    • Verified



        Name: tb29552 Date: 05/12/98


        When the following test program is run, warnings are returned from the JIT.

        public class test {

        public static void main(String[] args) throws Exception
        {
        test t = new test();
        t.S009();
        }

        protected void S009() throws Exception
        {
        int numpages = 10;

        Page[] origpage = new Page[numpages];
        int[] origrid = new int[numpages];
        long[] origpnum = new long[numpages];
        T_Row row1 = new T_Row("bax");

        for (int i = 0; i < numpages; i++)
        {
        origpage[i] = new Page(i, 2);

        origrid[i] = origpage[i].getrid();
        origpnum[i] = origpage[i].getPageNumber();
        }

        // check that pages are not reused before transaction is committed
        for (int i = 0; i < numpages-1; i++)
        {
        for (int j = i+1; j < numpages; j++)
        {
        if (origpnum[i] == origpnum[j])
        break;
        }
        }

        Page[] newpage = new Page[numpages];
        int[] newrid = new int[numpages];
        long[] newpnum = new long[numpages];
        T_Row row2 = new T_Row("foobar");

        for (int i = 0; i < numpages; i++)
        {
        newpage[i] = new Page(i, 3);
        newpnum[i] = newpage[i].getPageNumber();
        newrid[i] = newpage[i].getrid();
        }

        // if any page is reused, make sure the rid is not reused
        int reuse = 0;
        for (int i = 0; i < numpages; i++)
        {
        for (int j = 0; j < numpages; j++)
        {
        if (origpnum[i] == newpnum[j])
        {
        reuse++;
        if (origrid[i] == newrid[j])
        break; // inner loop
        }
        }
        }
        }
        }

        class Page
        {
        int rid, pnum;
        Page(int r, int p)
        {
        rid = r;
        pnum = p;
        }

        int getPageNumber()
        {
        return pnum;
        }

        int getrid()
        {
        return rid;
        }
        }

        class T_Row {

        Object[] col;

        public T_Row(int numberOfColumns) {
        super();
        col = new Object[numberOfColumns];
        }

        public T_Row(String data) {
        this(1);
        col[0] = data;
        }

        public Object[] getRow() {
        return col;
        }

        public void setColumn(int columnId, String data)
        {
        col[columnId] = data;
        }

        public int nColumns() {
        return col.length;
        }

        public String toString() {
        StringBuffer sb = new StringBuffer("");
        for (int i = 0; i < nColumns(); i++) {
        sb.append(col[i].toString());
        if (i < (nColumns() - 1))
        sb.append(",");
        }
        sb.append("");

        return sb.toString();
        }
        }

        Here is the output from java test:
        A nonfatal internal JIT (3.00.039(x)) error 'GetRegisterA' has occurred in :
          'test.S009 ()V': Interpreting method.
          Please report this error in detail to http://java.sun.com/cgi-bin/bugreport.cg
        i
        (Review ID: 30101)
        ======================================================================

        This still happens with the JIT 3.00.045 (JIT Update for 1.1.6 Early Access 1)
         
        mick.fleming@Ireland 1998-06-03

              Assignee:
              Deepa Viswanathan (Inactive)
              Reporter:
              Tim Bell
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: