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

JIT(3.00.078(x))error "Unuse64"

XMLWordPrintable

    • generic, x86
    • generic, windows_95, windows_nt

      Name: tb29552 Date: 01/18/99

      Error message:

      JIT(3.00.078(x))error "Unuse64"
      DDDDDDIILjava/lang/String;)Ljavax/media/j3d/Shape3D Interpreting method

      Code producing error:
        (A complete test case is attached to this bug report in
      Unuse64.zip.Z. Refer to the "Comments" section for more information.)

          private TransformGroup createRadar(double radarLat, double radarLon, double minElev,
           double maxElev, double minAzim, double maxAzim,
           int elevGrid, int azimGrid, String radarColor)
          {

            float[] vertx = new float[6];
           int numArr=0;
           int arrcnt=0;
           double elev2;

        // Draw the radar coverage (nominal)
           LineArray rcov = new LineArray(10000,LineArray.COORDINATES| LineArray.COLOR_3);

          // center of radar coverage
           float[] offset = new float[3];

           offset[0] = 1.01f*(float)(Math.cos(radarLon)*Math.cos(radarLat));
           offset[1] = 1.01f*(float)Math.sin(radarLat);
           offset[2] = -1.01f*(float)(Math.sin(radarLon)*Math.cos(radarLat));

            // Create a transform group node for the center of the radar.
           Transform3D radcent = new Transform3D();
           radcent.set(new Vector3d(offset[0], offset[1], offset[2]));
           Transform3D radrotz = new Transform3D();
           Transform3D radrotx = new Transform3D();
           Transform3D radroty = new Transform3D();
           radrotz.rotZ(15.0/180.0*Math.PI); // why is this rotation necessary?
           radrotx.rotX(-radarLat);
           radroty.rotY(radarLon + Math.PI/2.0);

           TransformGroup radTrans = new TransformGroup(radcent);
           TransformGroup radRotx = new TransformGroup(radrotx);
           TransformGroup radRoty = new TransformGroup(radroty);
           TransformGroup radRotz = new TransformGroup(radrotz);
           radTrans.addChild(radRotx);
           radRotx.addChild(radRoty);
           radRoty.addChild(radRotz);
           radTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
           radTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
           radTrans.setCapability(TransformGroup.ENABLE_PICK_REPORTING);

           // Create a three-color axis for perspective

            LineArray radcoord = new LineArray(6,LineArray.COORDINATES| LineArray.COLOR_3);
            vertx[0] = 0.0f; vertx[1] = 0.0f; vertx[2] = 0.0f;
            vertx[3] = 1.0f; vertx[4] = 0.0f; vertx[5] = 0.0f;
            radcoord.setCoordinates(0,vertx);
            radcoord.setColor(0,red);
            radcoord.setColor(1,red);
            vertx[0] = 0.0f; vertx[1] = 0.0f; vertx[2] = 0.0f;
            vertx[3] = 0.0f; vertx[4] = 1.0f; vertx[5] = 0.0f;
            radcoord.setCoordinates(2,vertx);
            radcoord.setColor(2,green);
            radcoord.setColor(3,green);
            vertx[0] = 0.0f; vertx[1] = 0.0f; vertx[2] = 0.0f;
            vertx[3] = 0.0f; vertx[4] = 0.0f; vertx[5] = 1.0f;
            radcoord.setCoordinates(4,vertx);
            radcoord.setColor(4,blue);
            radcoord.setColor(5,blue);

        // Shape3D radxyz = new Shape3D(radcoord);

        // radRotz.addChild(radxyz); // add the coordinate system to the rotation group

           // center of radar
           double elev = minElev/180.0*Math.PI;
           vertx[0] = 0.0f; vertx[1] = 0.0f; vertx[2] = 0.0f;
           vertx[3] = 0.5f*(float)Math.cos(minAzim/180.0*Math.PI);
           vertx[4] = 0.5f*(float)Math.sin(minAzim/180.0*Math.PI);
           vertx[5] = (float)Math.sin(elev);

           // lower limits of radar
           rcov.setCoordinates(0,vertx);
           int cnt=2;
           for (int i = (int) minAzim; i < (int) maxAzim; i++)
            {
             vertx[0] = vertx[3]; vertx[1] = vertx[4]; vertx[2] = vertx[5];
             vertx[3] = 0.5f*(float)(Math.cos((double)i/180.0*Math.PI));
             vertx[4] = 0.5f*(float)Math.sin((double)i/180.0*Math.PI);
             vertx[5] = 0.5f*(float)(Math.sin(elev));
             rcov.setCoordinates(cnt,vertx);
             cnt+=2;
            }
           vertx[0] = vertx[3];
           vertx[1] = vertx[4];
           vertx[2] = vertx[5];
           vertx[3] = 0.0f; // center of radar coverage
           vertx[4] = 0.0f;
           vertx[5] = 0.0f;
           rcov.setCoordinates(cnt,vertx);
           cnt+=2;

           // top of radar coverage

           elev = maxElev/180.0*Math.PI;
           vertx[0] = 0.0f; vertx[1] = 0.0f; vertx[2] = 0.0f;
           vertx[3] = 0.5f*(float)(Math.cos(minAzim/180.0*Math.PI)*Math.cos(elev));
           vertx[4] = 0.5f*(float)(Math.sin(minAzim/180.0*Math.PI)*Math.cos(elev));
           vertx[5] = 0.5f*(float)Math.sin(elev);
           rcov.setCoordinates(cnt,vertx);
           cnt+=2;
           for (int i = (int) minAzim; i < (int) maxAzim; i++)
            {
             vertx[0] = vertx[3]; vertx[1] = vertx[4]; vertx[2] = vertx[5];
             vertx[3] = 0.5f*(float)(Math.cos((double)i/180.0*Math.PI)*Math.cos(elev));
             vertx[4] = 0.5f*(float)(Math.sin((double)i/180.0*Math.PI)*Math.cos(elev));
             vertx[5] = 0.5f*(float)(Math.sin(elev));
             rcov.setCoordinates(cnt,vertx);
             cnt+=2;
            }
           vertx[0] = vertx[3]; vertx[1] = vertx[4]; vertx[2] = vertx[5];
           vertx[3] = 0.0f; // center of radar coverage
           vertx[4] = 0.0f;
           vertx[5] = 0.0f;
           rcov.setCoordinates(cnt,vertx);
           cnt+=2;

         // secondary horizontal grid lines
           for (int ielev = (int) minElev+elevGrid; ielev < (int) maxElev; ielev += elevGrid)
           {
             elev = (double)ielev/180.0*Math.PI;
             vertx[0] = 0.0f; vertx[1] = 0.0f; vertx[2] = 0.0f;
             vertx[3] = 0.5f*(float)(Math.cos(minAzim/180.0*Math.PI)*Math.cos(elev));
             vertx[4] = 0.5f*(float)(Math.sin(minAzim/180.0*Math.PI)*Math.cos(elev));
             vertx[5] = 0.5f*(float)Math.sin(elev);
             rcov.setCoordinates(cnt,vertx);
             cnt+=2;
             for (int i = (int) minAzim; i < (int) maxAzim; i++)
             {
               vertx[0] = vertx[3]; vertx[1] = vertx[4]; vertx[2] = vertx[5];
               vertx[3] = 0.5f*(float)(Math.cos((double)i/180.0*Math.PI)*Math.cos(elev));
               vertx[4] = 0.5f*(float)(Math.sin((double)i/180.0*Math.PI)*Math.cos(elev));
               vertx[5] = 0.5f*(float)(Math.sin(elev));
               rcov.setCoordinates(cnt,vertx);
               cnt+=2;
              }
             vertx[0] = vertx[3]; vertx[1] = vertx[4]; vertx[2] = vertx[5];
             vertx[3] = 0.0f; // center of radar coverage
             vertx[4] = 0.0f;
             vertx[5] = 0.0f;
             rcov.setCoordinates(cnt,vertx);
             cnt+=2;

           // vertical grid lines
             for (int i = (int) minAzim+azimGrid; i < (int) maxAzim; i+=azimGrid)
              {
                vertx[0] = 0.5f*(float)(Math.cos((double)i/180.0*Math.PI)*Math.cos(elev));
                vertx[1] = 0.5f*(float)(Math.sin((double)i/180.0*Math.PI)*Math.cos(elev));
                vertx[2] = 0.5f*(float)Math.sin(elev);
                elev2 = (double)(elevGrid)/180.0*Math.PI + elev;
                vertx[3] = 0.5f*(float)(Math.cos((double)i/180.0*Math.PI)*Math.cos(elev2));
                vertx[4] = 0.5f*(float)(Math.sin((double)i/180.0*Math.PI)*Math.cos(elev2));
                vertx[5] = 0.5f*(float)Math.sin(elev2);
                rcov.setCoordinates(cnt,vertx);
                cnt+=2;
              }

            }

           Color3f rad1color = findColor(radarColor);
           for (int i = 0; i< cnt; i++)
             rcov.setColor(i,rad1color);
           Shape3D rshape = new Shape3D(rcov);
           // disable picking for this object
           rshape.setPickable(false);
           rshape.setCapability(Shape3D.ALLOW_APPEARANCE_WRITE);

           // attach to transform group
           radRotz.addChild(rshape);

           return radTrans;

          }
      (Review ID: 52602)
      ======================================================================

      Name: skT88420 Date: 05/27/99


      1. Running some program gives a JIT error.
      2. The URL it told me to go to didn't work.
      3. Running w/ JIT off gives no such error, as expected.
      4. I thought there was some way to identify the version of the
      DLL but didn't see it in the output at the bottom.
      In the dir jre/bin dir this seems to be the
      size of it:
        413696 Mar 27 17:59 symcjit.dll


      d:\dev\ilumos\af\log>java ilumos.af.log.AFLogFile k:/SLASH/export/home4/steve/dev/top/log/eas-19990525103126.log
      java ilumos.af.log.AFLogFile k:/SLASH/export/home4/steve/dev/top/log/eas-19990525103126.log
      name : eas-19990525103126.log
      full name : K:\SLASH\export\home4\steve\dev\top\log\eas-19990525103126.log
      A nonfatal internal JIT (3.00.078(x)) error 'Unuse64' has occurred in :
        'ilumos/af/log/AFLogFile.readAll ()V': Interpreting method.
        Please report this error in detail to http://java.sun.com/cgi-bin/bugreport.cgi

      first time : 927653486820
      last time : 927656783445
      size : 2

      d:\dev\ilumos\af\log>java -version
      java -version
      java version "1.2.1"
      Classic VM (build JDK-1.2.1-A, native threads)

      d:\dev\ilumos\af\log>java -fullversion
      java -fullversion
      java full version "JDK-1.2.1-A"

      d:\dev\ilumos\af\log>
      (Review ID: 83584)
      ======================================================================

            Unassigned Unassigned
            tbell Tim Bell
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: