Program: 160404
Project: 160404
Buggy source:
public void update(){
  try {
    serverInfo.setVersion(bimServer.getSConverter().convertFromSObject(bimServer.getVersionChecker().getLocalVersion(),null));
  }
 catch (  BimserverDatabaseException e) {
    LOGGER.error("String_Node_Str",e);
  }
  if (bimServer.getDatabase().getMigrator().migrationRequired()) {
    setServerState(ServerState.MIGRATION_REQUIRED);
    if (bimServer.getConfig().isAutoMigrate()) {
      try {
        bimServer.getDatabase().getMigrator().migrate();
        setServerState(ServerState.RUNNING);
      }
 catch (      MigrationException|InconsistentModelsException e) {
        LOGGER.error("String_Node_Str",e);
      }
    }
  }
 else   if (bimServer.getDatabase().getMigrator().migrationImpossible()) {
    setServerState(ServerState.MIGRATION_IMPOSSIBLE);
  }
 else {
    DatabaseSession session=bimServer.getDatabase().createSession();
    try {
      boolean adminFound=false;
      ServerSettings settings=bimServer.getServerSettingsCache().getServerSettings();
      IfcModelInterface users=session.getAllOfType(StorePackage.eINSTANCE.getUser(),OldQuery.getDefault());
      for (      IdEObject idEObject : users.getValues()) {
        if (idEObject instanceof User) {
          User user=(User)idEObject;
          if (user.getUserType() == UserType.ADMIN) {
            adminFound=true;
            break;
          }
        }
      }
      if (settings.getSiteAddress().isEmpty() || !adminFound) {
        setServerState(ServerState.NOT_SETUP);
      }
 else {
        setServerState(ServerState.RUNNING);
      }
    }
 catch (    BimserverDatabaseException e) {
      LOGGER.error("String_Node_Str",e);
    }
 finally {
      session.close();
    }
  }
}

Fixed version (ground truth):
public void update(){
  try {
    serverInfo.setVersion(bimServer.getSConverter().convertFromSObject(bimServer.getVersionChecker().getLocalVersion()));
  }
 catch (  BimserverDatabaseException e) {
    LOGGER.error("String_Node_Str",e);
  }
  if (bimServer.getDatabase().getMigrator().migrationRequired()) {
    setServerState(ServerState.MIGRATION_REQUIRED);
    if (bimServer.getConfig().isAutoMigrate()) {
      try {
        bimServer.getDatabase().getMigrator().migrate();
        setServerState(ServerState.RUNNING);
      }
 catch (      MigrationException|InconsistentModelsException e) {
        LOGGER.error("String_Node_Str",e);
      }
    }
  }
 else   if (bimServer.getDatabase().getMigrator().migrationImpossible()) {
    setServerState(ServerState.MIGRATION_IMPOSSIBLE);
  }
 else {
    DatabaseSession session=bimServer.getDatabase().createSession();
    try {
      boolean adminFound=false;
      ServerSettings settings=bimServer.getServerSettingsCache().getServerSettings();
      IfcModelInterface users=session.getAllOfType(StorePackage.eINSTANCE.getUser(),OldQuery.getDefault());
      for (      IdEObject idEObject : users.getValues()) {
        if (idEObject instanceof User) {
          User user=(User)idEObject;
          if (user.getUserType() == UserType.ADMIN) {
            adminFound=true;
            break;
          }
        }
      }
      if (settings.getSiteAddress().isEmpty() || !adminFound) {
        setServerState(ServerState.NOT_SETUP);
      }
 else {
        setServerState(ServerState.RUNNING);
      }
    }
 catch (    BimserverDatabaseException e) {
      LOGGER.error("String_Node_Str",e);
    }
 finally {
      session.close();
    }
  }
}