Program: 37686
Project: 37686
Buggy source:
void savePreferences(){
  if (!savePreferencesOnExit) {
    return;
  }
  try {
    if (editFrame != null && editFrame.isVisible()) {
      userPrefs.put("String_Node_Str",editFrame.getLocation().toString());
      userPrefs.put("String_Node_Str",editFrame.getSize().toString());
      userPrefs.putInt("String_Node_Str",editFrame.splitPane.getDividerLocation());
      userPrefs.put("String_Node_Str",editFrame.sourcePath);
    }
    if (execFrame != null && execFrame.isVisible()) {
      userPrefs.put("String_Node_Str",execFrame.getLocation().toString());
      userPrefs.put("String_Node_Str",execFrame.getSize().toString());
      userPrefs.putInt("String_Node_Str",execFrame.splitPane.getDividerLocation());
    }
    if (printoutFrame != null && printoutFrame.isVisible()) {
      userPrefs.put("String_Node_Str",printoutFrame.getLocation().toString());
      userPrefs.put("String_Node_Str",printoutFrame.getSize().toString());
    }
    if (memoryFrame != null && memoryFrame.isVisible()) {
      userPrefs.put("String_Node_Str",memoryFrame.getLocation().toString());
      userPrefs.put("String_Node_Str",memoryFrame.getSize().toString());
    }
    if (consoleFrame != null && consoleFrame.isVisible()) {
      userPrefs.put("String_Node_Str",consoleFrame.getLocation().toString());
      userPrefs.put("String_Node_Str",consoleFrame.getSize().toString());
    }
    if (timerFrame != null && timerFrame.isVisible()) {
      userPrefs.put("String_Node_Str",timerFrame.getLocation().toString());
      userPrefs.put("String_Node_Str",timerFrame.getSize().toString());
    }
    userPrefs.sync();
    userPrefs.flush();
  }
 catch (  BackingStoreException ex) {
    Logger.getLogger(RopeFrame.class.getName()).log(Level.SEVERE,null,ex);
  }
}

Fixed version (ground truth):
void savePreferences(){
  if (!savePreferencesOnExit) {
    return;
  }
  try {
    if (editFrame != null && editFrame.isVisible()) {
      userPrefs.put("String_Node_Str",editFrame.getLocation().toString());
      userPrefs.put("String_Node_Str",editFrame.getSize().toString());
      userPrefs.putInt("String_Node_Str",editFrame.splitPane.getDividerLocation());
      userPrefs.put("String_Node_Str",editFrame.sourcePath != null ? editFrame.sourcePath : "String_Node_Str");
    }
    if (execFrame != null && execFrame.isVisible()) {
      userPrefs.put("String_Node_Str",execFrame.getLocation().toString());
      userPrefs.put("String_Node_Str",execFrame.getSize().toString());
      userPrefs.putInt("String_Node_Str",execFrame.splitPane.getDividerLocation());
    }
    if (printoutFrame != null && printoutFrame.isVisible()) {
      userPrefs.put("String_Node_Str",printoutFrame.getLocation().toString());
      userPrefs.put("String_Node_Str",printoutFrame.getSize().toString());
    }
    if (memoryFrame != null && memoryFrame.isVisible()) {
      userPrefs.put("String_Node_Str",memoryFrame.getLocation().toString());
      userPrefs.put("String_Node_Str",memoryFrame.getSize().toString());
    }
    if (consoleFrame != null && consoleFrame.isVisible()) {
      userPrefs.put("String_Node_Str",consoleFrame.getLocation().toString());
      userPrefs.put("String_Node_Str",consoleFrame.getSize().toString());
    }
    if (timerFrame != null && timerFrame.isVisible()) {
      userPrefs.put("String_Node_Str",timerFrame.getLocation().toString());
      userPrefs.put("String_Node_Str",timerFrame.getSize().toString());
    }
    userPrefs.sync();
    userPrefs.flush();
  }
 catch (  BackingStoreException ex) {
    Logger.getLogger(RopeFrame.class.getName()).log(Level.SEVERE,null,ex);
  }
}