Program: 70660
Project: 70660
Buggy source:
private void startMovie(){
  String movieFileName=filename.getText();
  myMovieMaker.setRenderingAudioToFile(recordAudio.isSelected());
  myMovieMaker.setRenderingAudioToText(recordAudioTxt.isSelected());
  myMovieMaker.setAudioNormalized(normalizeAudio.isSelected());
  if (movieFileName.equals("String_Node_Str")) {
    JOptionPane.showMessageDialog(this,"String_Node_Str","String_Node_Str",JOptionPane.ERROR_MESSAGE);
    filename.requestFocusInWindow();
  }
 else {
    stopButton.setEnabled(true);
    startButton.setEnabled(false);
    frameButton.setEnabled(true);
    tmpDirectory=ArtisynthPath.getTempDir().getAbsolutePath();
    File testdir=new File(tmpDirectory);
    if (!testdir.exists()) {
      System.out.println("String_Node_Str" + tmpDirectory);
      testdir.mkdirs();
    }
 else     if (!testdir.isDirectory()) {
      System.err.println("String_Node_Str" + tmpDirectory + "String_Node_Str");
      filename.requestFocusInWindow();
      return;
    }
    if (myMain.getRootModel() instanceof HasAudio) {
      if (recordAudio.isSelected()) {
        myMovieMaker.setAudioFileName(tmpDirectory + "String_Node_Str");
      }
      if (recordAudioTxt.isSelected()) {
        System.out.println("String_Node_Str");
        myMovieMaker.setAudioFileName(ArtisynthPath.getHomeDir() + "String_Node_Str" + filename.getText()+ "String_Node_Str");
      }
      boolean renderToFile=recordAudio.isSelected() || recordAudioTxt.isSelected();
      ((HasAudio)myMain.getRootModel()).setRenderAudioToFile(renderToFile);
    }
    System.out.println(myMovieMaker.getCaptureArea());
    if (automaticFrames.isSelected()) {
      myMovieMaker.setGrabbing(true);
    }
    savedFrameRate=myMain.getFrameRate();
    myMain.setFrameRate(myMovieMaker.getFrameRate() / myMovieMaker.getSpeed());
    myFrame.setAlwaysOnTop(myMovieMaker.isAlwaysOnTop());
    setAreaSelectionFrame(null);
    showCaptureFrame.setSelected(false);
    try {
      myMovieMaker.setDataPath(tmpDirectory);
      if (myMain.getScheduler().isPlaying() == false && beginRecordOnStart.isSelected()) {
        myMain.getScheduler().play();
      }
      isRecordingStarted=true;
    }
 catch (    Exception e) {
      System.out.println("String_Node_Str" + e);
      myMain.setFrameRate(savedFrameRate);
      myMovieMaker.setGrabbing(false);
      myFrame.setAlwaysOnTop(false);
    }
  }
}

Fixed version (ground truth):
private void startMovie(){
  String movieFileName=filename.getText();
  myMovieMaker.setRenderingAudioToFile(recordAudio.isSelected());
  myMovieMaker.setRenderingAudioToText(recordAudioTxt.isSelected());
  myMovieMaker.setAudioNormalized(normalizeAudio.isSelected());
  if (movieFileName.equals("String_Node_Str")) {
    JOptionPane.showMessageDialog(this,"String_Node_Str","String_Node_Str",JOptionPane.ERROR_MESSAGE);
    filename.requestFocusInWindow();
  }
 else {
    stopButton.setEnabled(true);
    startButton.setEnabled(false);
    frameButton.setEnabled(true);
    tmpDirectory=workingDirField.getText();
    File testdir=new File(tmpDirectory);
    if (!testdir.exists()) {
      System.out.println("String_Node_Str" + tmpDirectory);
      testdir.mkdirs();
    }
 else     if (!testdir.isDirectory()) {
      System.err.println("String_Node_Str" + tmpDirectory + "String_Node_Str");
      filename.requestFocusInWindow();
      return;
    }
    if (myMain.getRootModel() instanceof HasAudio) {
      if (recordAudio.isSelected()) {
        myMovieMaker.setAudioFileName(tmpDirectory + "String_Node_Str");
      }
      if (recordAudioTxt.isSelected()) {
        System.out.println("String_Node_Str");
        myMovieMaker.setAudioFileName(ArtisynthPath.getHomeDir() + "String_Node_Str" + filename.getText()+ "String_Node_Str");
      }
      boolean renderToFile=recordAudio.isSelected() || recordAudioTxt.isSelected();
      ((HasAudio)myMain.getRootModel()).setRenderAudioToFile(renderToFile);
    }
    System.out.println(myMovieMaker.getCaptureArea());
    if (automaticFrames.isSelected()) {
      myMovieMaker.setGrabbing(true);
    }
    savedFrameRate=myMain.getFrameRate();
    myMain.setFrameRate(myMovieMaker.getFrameRate() / myMovieMaker.getSpeed());
    myFrame.setAlwaysOnTop(myMovieMaker.isAlwaysOnTop());
    setAreaSelectionFrame(null);
    showCaptureFrame.setSelected(false);
    try {
      myMovieMaker.setDataPath(tmpDirectory);
      if (myMain.getScheduler().isPlaying() == false && beginRecordOnStart.isSelected()) {
        myMain.getScheduler().play();
      }
      isRecordingStarted=true;
    }
 catch (    Exception e) {
      System.out.println("String_Node_Str" + e);
      myMain.setFrameRate(savedFrameRate);
      myMovieMaker.setGrabbing(false);
      myFrame.setAlwaysOnTop(false);
    }
  }
}