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

nonfatal internal JIT (3.00.057(x)) error 'BinaryNonCommunitive' has occurred

    Details

    • Subcomponent:
    • CPU:
      generic, x86
    • OS:
      generic, windows_95, windows_nt

      Description

      Symantec Java! JustInTime Compiler Version 3.00.057(x) for JDK 1.1.x
      Copyright (C) 1996-98 Symantec Corporation

      A nonfatal internal JIT (3.00.057(x)) error 'BinaryNonCommunitive' has occurred in :
        'J_tf505.<init> (Ljava/lang/String;)V': Interpreting method.
        Please report this error in detail to http://java.sun.com/cgi-bin/bugreport.cgi


      The test case is attached to this bug as dfn.zip

      To reproduce:

      1) Extract dfn.zip from this bug report
      2) unpack dfn.zip in a temporary directory
         (This will create a <wherever>\dfn directory)
      3) cd dfn
      4) Edit J_tf505.bat so the CLASSPATH is set correctly
      5) Launch the demo by executing J_tf505.bat

      Name: krT82822 Date: 12/05/99


      java version "1.1.8"

      Error Message:
      A nonfatal internal JIT (3.00.072b(x)) error 'BinaryNonCommunative' has occured
      in: 'HistogramCanvas.paint (Ljava/awt/Graphics;)V': interpreting method.

      source code for HistogramCanvas.paint is as follows
      public void paint(Graphics g)
      {
       int[] numChars = new int[26];
       final char values[] = {'a','b','c','d','e','f','g','h','i','j','k','l','m',
       'n','o','p','q','r','s','t','u','v','w','x','y','z'};
       int greatest = 0;
       int pWidth = getSize().width / 27, pHeight = 1;
       for(int i=0; i<26; i++)
        numChars[i] = 0;
       for(int i=0; i<text.length(); i++)
       {
        char c = text.charAt(i);
        int cVal = Character.getNumericValue(c);
        if((cVal>=10)&&(cVal<=35))
         numChars[cVal-10]++;
       }
       for(int i=0; i<26; i++)
        if(numChars[i] > numChars[greatest])
         greatest=i;
       
       double gs = getSize().height, nc = numChars[greatest], scale = 0;
       if(nc > 0)
        scale = gs/nc;
       for(int i=0; i<26; i++)
       {
        double temp = numChars[i]*scale;
        pHeight=(int)temp;
        g.fillRect((i+1)*pWidth, getSize().height-pHeight, pWidth-1, pHeight-10);
        g.drawString(""+values[i],((i+1)*pWidth)+(pWidth/2),getSize().height-1)
       /// The above line is what is causing the error, but it did work fine until
       /// the 2 drawString methods were added below
       g.setFont(new Font("TimesRoman", Font.PLAIN, 9);
        if(numChars[i] != 0)
         if(numChars[i]<100)
          g.drawString(""+numChars[i],((i+1)*pWidth)+(pWidth/2),getSize().height-
          pHeight-10);
         else
          g.drawString(""+numChars[i],((i+1)*pWidth),getSize().height-pHeight-5);
        g.setFont(new Font("TimesRoman",Font.PLAIN,12);
       }
      }
      (Review ID: 98652)
      ======================================================================

        Attachments

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved:
                Imported:
                Indexed: