Program: 70706
Project: 70706
Buggy source:
/** 
 * to create the new window frame
 * @param windowName
 * @param width
 * @param height
 */
public Main(String windowName,int width,int height,GLVersion glVersion){
  myMain=this;
  if (glVersion == GLVersion.GL3) {
    GLVersionInfo vinfo=GLSupport.getGLVersionSupported();
    if ((vinfo.getMajorVersion() < myGLVersion.getMajorVersion()) || ((vinfo.getMajorVersion() == myGLVersion.getMajorVersion()) && (vinfo.getMinorVersion() < myGLVersion.getMinorVersion()))) {
      System.err.println("String_Node_Str" + glVersion.toString() + "String_Node_Str");
      System.err.println("String_Node_Str" + glVersion.getMajorVersion() + "String_Node_Str"+ glVersion.getMinorVersion());
      System.err.println("String_Node_Str" + vinfo.getMajorVersion() + "String_Node_Str"+ vinfo.getMinorVersion());
      glVersion=GLVersion.GL2;
    }
  }
  myGLVersion=glVersion;
  if (demosFilename.value != null) {
    readDemoNames(demosFilename.value);
  }
 else {
    myDemoModels=new AliasTable();
  }
  readScriptNames();
  if (historyFilename.value != null) {
    readModelHistory(historyFilename.value);
  }
  myEditorManager=new EditorManager(this);
  myUndoManager=new UndoManager();
  myInverseManager=new InverseManager(this);
  mySelectionManager=new SelectionManager();
  if (width > 0) {
    ToolTipManager.sharedInstance().setLightWeightPopupEnabled(false);
    try {
      SwingUtilities.invokeAndWait(new MainFrameConstructor(windowName,this,width,height));
    }
 catch (    InvocationTargetException|InterruptedException e) {
      e.printStackTrace();
    }
    myMenuBarHandler=myFrame.getMenuBarHandler();
    mySelectionManager.setNavPanel(myFrame.getNavPanel());
    myFrame.getNavPanel().setSelectionManager(mySelectionManager);
    myKeyHandler=new GenericKeyHandler(this);
    myViewer=myFrame.getViewer();
    myViewer.addRenderListener(myMenuBarHandler);
    myViewerManager=new ViewerManager(myViewer);
    myViewerManager.setDefaultOrthographic(orthographic.value);
    myViewerManager.setDefaultDrawGrid(drawGrid.value);
    myViewerManager.setDefaultDrawAxes(drawAxes.value);
    myViewerManager.setDefaultAxisLength(axisLength.value);
    AxisAngle REW=getDefaultViewOrientation(getRootModel());
    myViewer.setDefaultAxialView(AxisAlignedRotation.getNearest(new RotationMatrix3d(REW)));
    initializeViewer(myViewer,REW);
    setSelectionMode(SelectionMode.Select);
    addSelectionListener(new SelectionHandler());
    Dragger3dHandler draggerHandler=new Dragger3dHandler();
    translator3d.addListener(draggerHandler);
    scalar3d.addListener(draggerHandler);
    rotator3d.addListener(draggerHandler);
    transrotator3d.addListener(draggerHandler);
    constrainedTranslator3d.addListener(draggerHandler);
    myViewerManager.addDragger(translator3d);
    myViewerManager.addDragger(scalar3d);
    myViewerManager.addDragger(rotator3d);
    myViewerManager.addDragger(transrotator3d);
    myViewerManager.addDragger(constrainedTranslator3d);
    setViewerSize(width,height);
    myPullController=new PullController(mySelectionManager);
  }
  createWorkspace();
}

Fixed version (ground truth):
/** 
 * to create the new window frame
 * @param windowName
 * @param width
 * @param height
 */
public Main(String windowName,int width,int height,GLVersion glVersion){
  myMain=this;
  if (glVersion == GLVersion.GL3) {
    GLVersionInfo vinfo=GLSupport.getMaxGLVersionSupported();
    if ((vinfo.getMajorVersion() < myGLVersion.getMajorVersion()) || ((vinfo.getMajorVersion() == myGLVersion.getMajorVersion()) && (vinfo.getMinorVersion() < myGLVersion.getMinorVersion()))) {
      System.err.println("String_Node_Str" + glVersion.toString() + "String_Node_Str");
      System.err.println("String_Node_Str" + glVersion.getMajorVersion() + "String_Node_Str"+ glVersion.getMinorVersion());
      System.err.println("String_Node_Str" + vinfo.getMajorVersion() + "String_Node_Str"+ vinfo.getMinorVersion());
      glVersion=GLVersion.GL2;
    }
  }
  myGLVersion=glVersion;
  if (demosFilename.value != null) {
    readDemoNames(demosFilename.value);
  }
 else {
    myDemoModels=new AliasTable();
  }
  readScriptNames();
  if (historyFilename.value != null) {
    readModelHistory(historyFilename.value);
  }
  myEditorManager=new EditorManager(this);
  myUndoManager=new UndoManager();
  myInverseManager=new InverseManager(this);
  mySelectionManager=new SelectionManager();
  if (width > 0) {
    ToolTipManager.sharedInstance().setLightWeightPopupEnabled(false);
    try {
      SwingUtilities.invokeAndWait(new MainFrameConstructor(windowName,this,width,height));
    }
 catch (    InvocationTargetException|InterruptedException e) {
      e.printStackTrace();
    }
    myMenuBarHandler=myFrame.getMenuBarHandler();
    mySelectionManager.setNavPanel(myFrame.getNavPanel());
    myFrame.getNavPanel().setSelectionManager(mySelectionManager);
    myKeyHandler=new GenericKeyHandler(this);
    myViewer=myFrame.getViewer();
    myViewer.addRenderListener(myMenuBarHandler);
    myViewerManager=new ViewerManager(myViewer);
    myViewerManager.setDefaultOrthographic(orthographic.value);
    myViewerManager.setDefaultDrawGrid(drawGrid.value);
    myViewerManager.setDefaultDrawAxes(drawAxes.value);
    myViewerManager.setDefaultAxisLength(axisLength.value);
    AxisAngle REW=getDefaultViewOrientation(getRootModel());
    myViewer.setDefaultAxialView(AxisAlignedRotation.getNearest(new RotationMatrix3d(REW)));
    initializeViewer(myViewer,REW);
    setSelectionMode(SelectionMode.Select);
    addSelectionListener(new SelectionHandler());
    Dragger3dHandler draggerHandler=new Dragger3dHandler();
    translator3d.addListener(draggerHandler);
    scalar3d.addListener(draggerHandler);
    rotator3d.addListener(draggerHandler);
    transrotator3d.addListener(draggerHandler);
    constrainedTranslator3d.addListener(draggerHandler);
    myViewerManager.addDragger(translator3d);
    myViewerManager.addDragger(scalar3d);
    myViewerManager.addDragger(rotator3d);
    myViewerManager.addDragger(transrotator3d);
    myViewerManager.addDragger(constrainedTranslator3d);
    setViewerSize(width,height);
    myPullController=new PullController(mySelectionManager);
  }
  createWorkspace();
}