Program: 15476
Project: 15476
Buggy source:
@Override public final void fireEvent(Event event){
  if (event instanceof LifecycleEvent) {
    super.fireLifecycleEvent(event);
  }
 else   if (event instanceof Hertz && Bootstrap.isFinished() && ((Hertz)event).isAsserted(10l)) {
    ServiceConfiguration config=this.getServiceConfiguration();
    if (Component.State.STOPPED.ordinal() < config.lookupState().ordinal()) {
      try {
        Threads.lookup(Empyrean.class).submit(new Runnable(){
          @Override public void run(){
            try {
              if (BasicService.this.stateMachine.getState().ordinal() > State.STOPPED.ordinal()) {
                BasicService.this.stateMachine.transition(BasicService.this.stateMachine.getState());
              }
            }
 catch (            Throwable ex) {
              LOG.debug("String_Node_Str" + ex);
            }
          }
        }
).get();
      }
 catch (      InterruptedException ex) {
        config.error(ex);
        config.lookupService().setGoal(Component.State.DISABLED);
      }
catch (      ExecutionException ex) {
        config.error(ex.getCause());
        config.lookupService().setGoal(Component.State.DISABLED);
      }
      if (Component.State.ENABLED.equals(config.lookupService().getGoal()) && Component.State.DISABLED.isIn(config)) {
        config.lookupComponent().enableTransition(config);
      }
 else       if (Component.State.DISABLED.equals(config.lookupService().getGoal()) && Component.State.ENABLED.isIn(config)) {
        config.lookupComponent().disableTransition(config);
      }
    }
  }
}

Fixed version (ground truth):
@Override public final void fireEvent(Event event){
  if (event instanceof LifecycleEvent) {
    super.fireLifecycleEvent(event);
  }
 else   if (event instanceof Hertz && Bootstrap.isFinished() && ((Hertz)event).isAsserted(10l)) {
    ServiceConfiguration config=this.getServiceConfiguration();
    if (Component.State.STOPPED.ordinal() < config.lookupState().ordinal()) {
      try {
        Threads.lookup(Empyrean.class).submit(new Runnable(){
          @Override public void run(){
            try {
              if (BasicService.this.stateMachine.getState().ordinal() > State.NOTREADY.ordinal()) {
                BasicService.this.stateMachine.transition(BasicService.this.stateMachine.getState());
              }
 else               if (State.NOTREADY.isIn(BasicService.this.getServiceConfiguration())) {
                BasicService.this.stateMachine.transition(State.DISABLED);
              }
            }
 catch (            Throwable ex) {
              LOG.debug("String_Node_Str" + ex);
            }
          }
        }
).get();
      }
 catch (      InterruptedException ex) {
        config.error(ex);
        config.lookupService().setGoal(Component.State.DISABLED);
      }
catch (      ExecutionException ex) {
        config.error(ex.getCause());
        config.lookupService().setGoal(Component.State.DISABLED);
      }
      if (Component.State.ENABLED.equals(config.lookupService().getGoal()) && Component.State.DISABLED.isIn(config)) {
        config.lookupComponent().enableTransition(config);
      }
 else       if (Component.State.DISABLED.equals(config.lookupService().getGoal()) && Component.State.ENABLED.isIn(config)) {
        config.lookupComponent().disableTransition(config);
      }
    }
  }
}