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

Error when compiling project files

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P3 P3
    • None
    • 1.2.1, 1.2.2
    • tools
    • x86, sparc
    • solaris_7, windows_nt

                 node.setIfName(cbqIfNameStr);
                      if (icon!=null)
                      {
                          node.defaultIcon=icon;
                          node.wasSelected=true;
                      }
                  }
                  else
                      node = new interfaceTreeNode(cbqStr,2,index); //create a tree node with type = not CBQ
                                                         
                  treeModel.insertNodeInto(node, apRoot, 0);
                  addChildrenNode(index,node);
              }
              tree.show();
              expandAll(tree);
              
              //Listen for when the selection changes.
              tree.addTreeSelectionListener(this);
                                          
          }
          
          public void valueChanged(TreeSelectionEvent e)
          {
              if (tree.getSelectionCount() == 1)
              {
                  TreePath[] selected = tree.getSelectionPaths();
                  interfaceTreeNode selectedNode = (interfaceTreeNode)selected[0].getLastPathComponent();
                  if ((selectedNode.wasSelected==true) && (selectedNode.type==1))
                  {
                      selectedNode.wasSelected =false;
                      selectedNode.defaultIcon=null;
                  }
                  else if ((selectedNode.wasSelected==false) && (selectedNode.type==1))
                  {
                      selectedNode.wasSelected =true;
                      selectedNode.defaultIcon=null;
                  }
               }
          }
          
          
          public void expandAll(JTree tree)
          {
              int row = 0;
              while (row < tree.getRowCount())
                   tree.expandRow(row++);
          }
          public void addChildrenNode(int index,interfaceTreeNode parentNode)
          {
              int[] indexArray = selectAp.findHighIfIndex(index);
              CbqTreeModel treeModel = (CbqTreeModel)tree.getModel();
              for (int j=0;j<indexArray.length;j++)
              {
                  int index2 = indexArray[j];
                  if (index2==0) //no more child, break
                      break;
                  String cbqStr = selectAp.findIfIndexName(index2);
                  int[] slotPort=selectAp.findSlotPortInfo(index2);
                  if (slotPort!=null)
                      cbqStr = "slot."+slotPort[0]+"."+slotPort[1]+" "+ cbqStr;
                  else
                      cbqStr = "virtual " + cbqStr;
                  interfaceTreeNode node = new interfaceTreeNode(cbqStr,2,index2); //create a tree node with type = not CBQ
                  treeModel.insertNodeInto(node, parentNode, 0);
                  addChildrenNode(index2,node);
              }
          }
              
          class CbqTreeModel extends DefaultTreeModel
          {
            public CbqTreeModel(TreeNode root)
            {
               super(root, false);
            }
            public void insertNodeInto(MutableTreeNode newChild,MutableTreeNode parent, int index)
            {
               parent.insert(newChild, index);
               
               int[] newIndexs = new int[1];
               
               newIndexs[0] = parent.getIndex(newChild);
               nodesWereInserted(parent, newIndexs);
            }
         }
         
         class SymWindow extends java.awt.event.WindowAdapter
         {
            public void windowClosing(java.awt.event.WindowEvent event)
            {
               Object object = event.getSource();
               if (object == RuleInterfaceDlg.this)
               {
                  if (apply)
                      applyAction();
      closeDialog();
               }
            }
         }
         
      }

      (Review ID: 96047)
      ======================================================================

      Name: skT88420 Date: 10/01/99


      In the midst of a compile that has worked before (and works every
      night on our nightly build machine) the compiler emitted the
      following messages:

      sun.tools.java.CompilerError: invalid slot: 0: aload -1
      This error possibly resulted from poorly constructed class paths.
      at java.lang.Throwable.fillInStackTrace(Native Method)
      at java.lang.Throwable.fillInStackTrace(Compiled Code)
      at java.lang.Throwable.<init>(Compiled Code)
      at java.lang.Error.<init>(Error.java:50)
      at sun.tools.java.CompilerError.<init>(CompilerError.java:29)
      at sun.tools.asm.Instruction.size(Compiled Code)
      at sun.tools.asm.Assembler.write(Compiled Code)
      at sun.tools.javac.SourceClass.compileClass(Compiled Code)
      at sun.tools.javac.SourceClass.compile(Compiled Code)
      at sun.tools.javac.Main.compile(Compiled Code)
      at sun.tools.javac.Main.main(Main.java:733)
      (Review ID: 96049)
      ======================================================================


      Name: skT88420 Date: 10/01/99


      sun.tools.java.CompilerError: invalid slot: 0: aload -1
      This error possibly resulted from poorly constructed class paths.
              at java.lang.Throwable.fillInStackTrace(Native Method)
              at java.lang.Throwable.fillInStackTrace(Compiled Code)
              at java.lang.Throwable.<init>(Compiled Code)
              at java.lang.Error.<init>(Error.java:50)
              at sun.tools.java.CompilerError.<init>(CompilerError.java:29)
              at sun.tools.asm.Instruction.size(Compiled Code)
              at sun.tools.asm.Assembler.write(Compiled Code)
              at sun.tools.javac.SourceClass.compileClass(Compiled Code)
              at sun.tools.javac.SourceClass.compile(Compiled Code)
              at sun.tools.javac.Main.compile(Compiled Code)
              at sun.tools.javac.Main.main(Main.java:733)
      error: An error has occurred in the compiler; please file a bug report (http://java.sun.com/cgi-bin/bugreport.cgi).


      package xedia.ruleset;

      /*
      A basic implementation of the JDialog class.
      */



      import java.awt.*;
      import javax.swing.*;
      import javax.swing.JTree;
      import javax.swing.tree.*;
      import javax.swing.event.*;
      import java.awt.event.*;
      import java.util.Enumeration;
      import xedia.database.DbAccessPoint;
      import xedia.builder.BuilderProgressListener;
      import xedia.builder.Doc;
      import xedia.builder.snmp.SnmpVpn;
      import xedia.builder.AppEventStrings;
      import xedia.builder.Doc;
      import xedia.log.LogMessage;
      import xedia.builder.BuilderLogMessage;
      import xedia.database.*;

      public class RuleInterfaceDlg extends javax.swing.JDialog implements xedia.builder.BuilderProgressListener, TreeSelectionListener
      {
          interfaceTreeNode root = null;
          interfaceTreeNode apRoot = null;
          DbAccessPoint selectAp;
          int cbqInterfaceArraySize=0;
          private DbRuleSet ruleset = null;
          DbRuleInterface currentInterface;
          public boolean apply = false;
          
              
      public RuleInterfaceDlg(Frame parent)
      {
      super(parent);
      setModal(true);
              setLocationRelativeTo(parent);

      // This code is automatically generated by Visual Cafe when you add
      // components to the visual environment. It instantiates and initializes
      // the components. To modify the code, only use code syntax that matches
      // what Visual Cafe can generate, or Visual Cafe may be unable to back
      // parse your Java file into its visual environment.
      //{{INIT_CONTROLS
      setTitle("Interface Dialog");
      getContentPane().setLayout(null);
      setSize(510,488);
      setVisible(false);
      doneButton.setText("OK");
      doneButton.setActionCommand("Done");
      getContentPane().add(doneButton);
      doneButton.setBounds(384,36,96,24);
      refreshButton.setText("Refresh");
      refreshButton.setActionCommand("Refresh");
      getContentPane().add(refreshButton);
      refreshButton.setBounds(384,156,96,24);
      applyButton.setText("Apply");
      applyButton.setActionCommand("Apply");
      getContentPane().add(applyButton);
      applyButton.setBounds(384,116,96,24);
      cancelButton.setText("Cancel");
      cancelButton.setActionCommand("Cancel");
      getContentPane().add(cancelButton);
      cancelButton.setBounds(384,76,96,24);
      getContentPane().add(refreshButton);
      JScrollPane1.setOpaque(true);
      getContentPane().add(JScrollPane1);
      JScrollPane1.setBounds(12,36,336,408);
      JScrollPane1.getViewport().add(tree);
      tree.setBounds(0,0,333,405);
      tree.hide();
      JLabel1.setText("To override, select CBQ Interface(s) and click Apply:");
      getContentPane().add(JLabel1);
      JLabel1.setBounds(12,0,408,36);
      JLabel2.setText("");
      getContentPane().add(JLabel2);
      JLabel2.setBounds(12,456,336,24);

      //}}

      //{{REGISTER_LISTENERS
      SymWindow aSymWindow = new SymWindow();
      this.addWindowListener(aSymWindow);
      SymAction lSymAction = new SymAction();
      doneButton.addActionListener(lSymAction);
      applyButton.addActionListener(lSymAction);
      cancelButton.addActionListener(lSymAction);
      refreshButton.addActionListener(lSymAction);
      //}}
      }


      public RuleInterfaceDlg(Frame parent, DbAccessPoint ap, DbRuleInterface rInterface)
      {
      this(parent);
      this.selectAp=ap;
      this.ruleset=ruleset;
      this.currentInterface=rInterface;
      if (rInterface.cbqInterfaceArray!=null)
      cbqInterfaceArraySize=rInterface.cbqInterfaceArray.length;
      }

          public RuleInterfaceDlg()
      {
      this((Frame)null);

      }
      public RuleInterfaceDlg(String sTitle)
      {
      this();
      setTitle(sTitle);
      }

      public void setVisible(boolean b)
      {
      if (b)
      setLocation(50, 50);
      super.setVisible(b);
      }


      public void addNotify()
      {
      // Record the size of the window prior to calling parents addNotify.
      Dimension size = getSize();

      super.addNotify();

      if (frameSizeAdjusted)
      return;
      frameSizeAdjusted = true;

      // Adjust size of frame according to the insets
      Insets insets = getInsets();
      setSize(insets.left + insets.right + size.width, insets.top + insets.bottom + size.height);
      }

      // Used by addNotify
      boolean frameSizeAdjusted = false;

      //{{DECLARE_CONTROLS
      javax.swing.JButton doneButton = new javax.swing.JButton();
      javax.swing.JButton applyButton = new javax.swing.JButton();
      javax.swing.JButton cancelButton = new javax.swing.JButton();
      javax.swing.JButton refreshButton = new javax.swing.JButton();
      javax.swing.JScrollPane JScrollPane1 = new javax.swing.JScrollPane();
      javax.swing.JTree tree = new javax.swing.JTree();
      javax.swing.JLabel JLabel1 = new javax.swing.JLabel();
      javax.swing.JLabel JLabel2 = new javax.swing.JLabel();
      //}}


      class SymAction implements java.awt.event.ActionListener
      {
      public void actionPerformed(java.awt.event.ActionEvent event)
      {
      Object object = event.getSource();
      if (object == doneButton)
      doneButton_actionPerformed(event);
      else if (object == applyButton)
      applyButton_actionPerformed(event);
      else if (object == cancelButton)
      cancelButton_actionPerformed(event);
      else if (object == refreshButton)
      refreshButton_actionPerformed(event);
      }
      }

      void refreshButton_actionPerformed(java.awt.event.ActionEvent event)
      {
      JLabel2.setText("Refresh button was clicked...");
      tree.removeTreeSelectionListener(this);
      getInterfaceData(true);
      }

      public void getInterfaceData(boolean bGetNow)
      {
      if (!isDataAvailable() || bGetNow)
              {
                  setButtonsState(false);
                  JLabel2.setText("Get Interface Table is in progress. Please wait...");
                  DbAccessPoint[] apArray={selectAp};
                  Doc.log.sendMessage(new BuilderLogMessage(LogMessage.APP, LogMessage.INFO, "Get Interface Table is in progress for hub: " + selectAp.getSysName()+ "..."));
      setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
      SnmpVpn snmpVpn;
                  snmpVpn = new SnmpVpn(Doc.getCurrentVpn());
                  snmpVpn.apArray = apArray;
                  snmpVpn.requestType = SnmpVpn.QueryInterfaceTable;
                  snmpVpn.addBuilderProgressListener((xedia.builder.BuilderProgressListener)this);
                  snmpVpn.start();
              }
              else
                  loadTree();
      }

          public void progressAction (xedia.builder.BuilderProgressEvent e)
          {
              final int type = e.type;
              final int failureCount = e.failureCount;
              SwingUtilities.invokeLater(new Runnable() {
                  public void run()
                  {
                      switch (type)
                      {
                          case xedia.builder.BuilderProgressEvent.COMPLETE:
      setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
      if (failureCount > 0)
                              {
                                  cancelButton.setEnabled(true);
                                  String str="Get Interface Table failed for Hub: " + selectAp.getSysName();
                                  JLabel2.setText("Get Interface Table failed...");
                                  JOptionPane.showMessageDialog(null,
                                                       str + "\nCheck the Application Log Panel for full details.",
                                                      "Get Interface Table Failure" ,
                                                      JOptionPane.OK_OPTION);
                              }
                              else
                              {
                                  setButtonsState(true);
                                  JLabel2.setText("Get Interface Table is complete...");
                                  Doc.log.sendMessage(new BuilderLogMessage(LogMessage.APP, LogMessage.INFO, "Get Interface Table succeeded for hub: " + selectAp.getSysName()+ "."));
                              }

      if ( (root!=null) && (apRoot!=null) )
      {
      deleteTreeNodes(root);
      CbqTreeModel treeModel = (CbqTreeModel)tree.getModel();
      treeModel.removeNodeFromParent(apRoot);
      root=null;
      }
      loadTree();
                              break;
                      }
                  }
              });
          }

         void applyAction()
         {
      CbqTreeModel treeModel = (CbqTreeModel)tree.getModel();
              interfaceTreeNode child;
              
              initializeCbqInterfaceArray();
              
              for (int i = 0; i < apRoot.getChildCount(); i++)
              {
                  child = (interfaceTreeNode)apRoot.getChildAt(i);
                  if ( (child.type==1) && (child.wasSelected) )
                      addtoCbqInterfaceArray(child.getIfName());
              }
              
              selectAp.mergeAssociationOverride(currentInterface);
              apply = true;
         }
          
          void setButtonsState(boolean mode)
          {
              doneButton.setEnabled(mode);
      applyButton.setEnabled(mode);
      cancelButton.setEnabled(mode);
      refreshButton.setEnabled(mode);
          }
          
      void applyButton_actionPerformed(java.awt.event.ActionEvent event)
      {
      JLabel2.setText("Apply button was clicked...");
              applyAction();
      }

          public void initializeCbqInterfaceArray()
          {
              if (cbqInterfaceArraySize==0)
                  return;
              for(int i=0;i<cbqInterfaceArraySize;i++)
              {
                  String entry=currentInterface.cbqInterfaceArray[i];
                  entry =null;
              }
              cbqInterfaceArraySize=0;
              currentInterface.cbqInterfaceArray=null;
          }
          
          public void addtoCbqInterfaceArray(String target)
          {
              if (currentInterface.cbqInterfaceArray == null)
                  resizeCbqInterfaceArray(1);
              if (currentInterface.cbqInterfaceArray.length == cbqInterfaceArraySize)
                  resizeCbqInterfaceArray(currentInterface.cbqInterfaceArray.length+1);
              currentInterface.cbqInterfaceArray[cbqInterfaceArraySize++] = target;
          }
         
          protected void resizeCbqInterfaceArray(int newSize)
          {
              String[] oldArray = currentInterface.cbqInterfaceArray;
              currentInterface.cbqInterfaceArray = new String[newSize];
              if (oldArray != null)
                   System.arraycopy(oldArray, 0 , currentInterface.cbqInterfaceArray, 0, cbqInterfaceArraySize);
          }
         
      void cancelButton_actionPerformed(java.awt.event.ActionEvent event)
      {
      closeDialog();
      }

      void doneButton_actionPerformed(java.awt.event.ActionEvent event)
      {
      JLabel2.setText("OK button was clicked...");
              applyAction();
      closeDialog();
      }

          void closeDialog()
          {
             setVisible(false);
          }

      void deleteTreeNodes(interfaceTreeNode parentNode)
      {
      CbqTreeModel treeModel = (CbqTreeModel)tree.getModel();

      interfaceTreeNode parent=parentNode;
      int childCount=treeModel.getChildCount(parentNode);

      for (int i=childCount-1;i >=0 ;i--)
      {
      interfaceTreeNode node = (interfaceTreeNode)treeModel.getChild(parentNode,i);
      int count=treeModel.getChildCount(node);
      if (count > 0)
      deleteTreeNodes(node);
      else
      {
      if (!node.isRoot() && (node.type!=0))
      treeModel.removeNodeFromParent(node);
      }
      }
      if (!parentNode.isRoot() && (parentNode.type!=0))
      treeModel.removeNodeFromParent(parentNode);
      }

          boolean isDataAvailable()
          {
              if ( (selectAp.snmpIfTableArray==null) || (selectAp.snmpIfArray==null)
                   || (selectAp.snmpIfStackArray==null) )
              {
                  return false;
              }
              return true;
          }
                      
          public void loadTree()
          {
              String rootStr=currentInterface.name;
              root = new interfaceTreeNode(rootStr,2,0);
              tree.setModel(new CbqTreeModel(root));
              tree.addSelectionRow(0);
              tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
              interfaceTreeCellRenderer renderer = new interfaceTreeCellRenderer();
              tree.setCellRenderer(renderer);
              apRoot = new interfaceTreeNode(selectAp.getIpAddress(),0,0);
              CbqTreeModel treeModel = (CbqTreeModel)tree.getModel();
              treeModel.insertNodeInto(apRoot, root, 0);
                              
              int [] cbqIndex = selectAp.findHighIfIndex(0);
              String cbqStr,cbqIfNameStr;
              interfaceTreeNode node;
              
              if (cbqIndex==null)
                  return;
              // Add tree nodes on CBQ level
              for (int i=0;i<cbqIndex.length;i++)
              {
                  int index = cbqIndex[i];
                  cbqStr = selectAp.findIfIndexName(index);
                  cbqIfNameStr = cbqStr;
                  int cbqX = cbqStr.indexOf("cbq");
                  
                  int[] slotPort=selectAp.findSlotPortInfo(index);
                  if (slotPort!=null)
                      cbqStr = "slot."+slotPort[0]+"."+slotPort[1]+" "+ cbqStr;
                  else
                      cbqStr = "virtual " + cbqStr;
                  if (cbqX!=-1)
                  {
                      ImageIcon icon=null;
                      if (currentInterface.cbqInterfaceArray!=null)
                      {
                          for (int j=0;j<currentInterface.cbqInterfaceArray.length;j++)
                          {
                              String entry=currentInterface.cbqInterfaceArray[j];
                              if ( entry.compareTo(cbqIfNameStr) == 0 )
                              {
                                  icon=interfaceTreeCellRenderer.ifCheckIcon;
                                  break;
                              }
                          }
                      }
                      node = new interfaceTreeNode(cbqStr,1,index); //create a tree node with type = CBQ
           

            wmaddoxsunw William Maddox (Inactive)
            skonchad Sandeep Konchady
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: