Program: 17725
Project: 17725
Buggy source:
@Override @SuppressWarnings("String_Node_Str") protected void configure(){
  bind(Server.class).to(ServerImpl.class);
  bind(ReentrantScope.class).toInstance(scope);
  bind(Application.class).to(appType).asEagerSingleton();
  bind(ChannelHandler.class).to(UpstreamHandlerImpl.class);
  bind(new CISC()).to(PipelineFactoryImpl.class);
  bind(ServerBootstrap.class).toProvider(new ServerBootstrapProvider(binder().getProvider(Settings.class),binder().getProvider(ByteBufAllocator.class)));
  scope.bindTypes(binder(),Event.class,HttpEvent.class,RequestID.class,Page.class,BasicCredentials.class,Closables.class);
  ImplicitBindings implicit=appType.getAnnotation(ImplicitBindings.class);
  if (implicit != null) {
    scope.bindTypes(binder(),implicit.value());
  }
  install(new ActeurBaseModule(scope));
  Provider<ApplicationControl> appControlProvider=binder().getProvider(ApplicationControl.class);
  Provider<Settings> set=binder().getProvider(Settings.class);
  TF eventThreadFactory=new TF(EVENT_THREADS,appControlProvider);
  TF workerThreadFactory=new TF(WORKER_THREADS,appControlProvider);
  TF backgroundThreadFactory=new TF(BACKGROUND_THREAD_POOL_NAME,appControlProvider);
  bind(ThreadGroup.class).annotatedWith(Names.named(BACKGROUND_THREAD_POOL_NAME)).toInstance(backgroundThreadFactory.tg);
  bind(ThreadGroup.class).annotatedWith(Names.named(WORKER_THREADS)).toInstance(workerThreadFactory.tg);
  bind(ThreadGroup.class).annotatedWith(Names.named(EVENT_THREADS)).toInstance(eventThreadFactory.tg);
  ThreadCount workerThreadCount=new ThreadCount(set,8,workerThreads,WORKER_THREADS);
  ThreadCount eventThreadCount=new ThreadCount(set,8,eventThreads,EVENT_THREADS);
  ThreadCount backgroundThreadCount=new ThreadCount(set,128,backgroundThreads,BACKGROUND_THREADS);
  bind(ThreadCount.class).annotatedWith(Names.named(EVENT_THREADS)).toInstance(eventThreadCount);
  bind(ThreadCount.class).annotatedWith(Names.named(WORKER_THREADS)).toInstance(workerThreadCount);
  bind(ThreadCount.class).annotatedWith(Names.named(BACKGROUND_THREAD_POOL_NAME)).toInstance(backgroundThreadCount);
  bind(ThreadFactory.class).annotatedWith(Names.named(WORKER_THREADS)).toInstance(workerThreadFactory);
  bind(ThreadFactory.class).annotatedWith(Names.named(EVENT_THREADS)).toInstance(eventThreadFactory);
  bind(ThreadFactory.class).annotatedWith(Names.named(BACKGROUND_THREAD_POOL_NAME)).toInstance(backgroundThreadFactory);
  Provider<ExecutorService> workerProvider=new ExecutorServiceProvider(workerThreadFactory,workerThreadCount,set);
  Provider<ExecutorService> backgroundProvider=new ExecutorServiceProvider(backgroundThreadFactory,backgroundThreadCount,set);
  bind(ExecutorService.class).annotatedWith(Names.named(WORKER_THREAD_POOL_NAME)).toProvider(workerProvider);
  bind(ExecutorService.class).annotatedWith(Names.named(BACKGROUND_THREAD_POOL_NAME)).toProvider(backgroundProvider);
  bind(ExecutorService.class).annotatedWith(Names.named(SCOPED_WORKER_THREAD_POOL_NAME)).toProvider(new WrappedWorkerThreadPoolProvider(workerProvider,scope));
  bind(ExecutorService.class).annotatedWith(Names.named(SCOPED_BACKGROUND_THREAD_POOL_NAME)).toProvider(new WrappedWorkerThreadPoolProvider(backgroundProvider,scope));
  bind(DateTime.class).toInstance(DateTime.now());
  bind(Duration.class).toProvider(UptimeProvider.class);
  bind(new CKTL()).toProvider(CookiesProvider.class);
  bind(String.class).annotatedWith(Names.named("String_Node_Str")).toInstance(this.appType.getSimpleName());
  bind(ServerImpl.class).asEagerSingleton();
  for (  Module m : otherModules) {
    install(m);
  }
  bind(Charset.class).toProvider(CharsetProvider.class);
  bind(ByteBufAllocator.class).toProvider(ByteBufAllocatorProvider.class);
  bind(new ETL()).toProvider(EventProvider.class).in(scope);
  bind(Codec.class).to(CodecImpl.class);
  bind(ApplicationControl.class).toProvider(ApplicationControlProvider.class).in(Scopes.SINGLETON);
  bind(ExceptionEvaluatorRegistry.class).asEagerSingleton();
  bind(KeysValues.class).toProvider(KeysValuesProvider.class);
  bind(InvalidInputExceptionEvaluator.class).asEagerSingleton();
  bind(Channel.class).toProvider(ChannelProvider.class);
  bind(HttpMethod.class).toProvider(MethodProvider.class);
  bind(Method.class).toProvider(MethodProvider2.class);
  bind(Path.class).toProvider(PathProvider.class);
  bind(BuiltInPageAnnotationHandler.class).asEagerSingleton();
  bind(ResponseHeaders.class).toProvider(ResponseHeadersProvider.class);
  bind(ScheduledExecutorService.class).annotatedWith(Names.named(DELAY_EXECUTOR)).toProvider(DelayExecutorProvider.class);
  bind(new CL()).toProvider(ChainProvider.class);
}

Fixed version (ground truth):
@Override @SuppressWarnings("String_Node_Str") protected void configure(){
  bind(Server.class).to(ServerImpl.class);
  bind(ReentrantScope.class).toInstance(scope);
  bind(Application.class).to(appType).asEagerSingleton();
  bind(ChannelHandler.class).to(UpstreamHandlerImpl.class);
  bind(new CISC()).to(PipelineFactoryImpl.class);
  bind(ServerBootstrap.class).toProvider(new ServerBootstrapProvider(binder().getProvider(Settings.class),binder().getProvider(ByteBufAllocator.class)));
  scope.bindTypes(binder(),Event.class,HttpEvent.class,RequestID.class,Page.class,BasicCredentials.class,Closables.class);
  ImplicitBindings implicit=appType.getAnnotation(ImplicitBindings.class);
  if (implicit != null) {
    scope.bindTypes(binder(),implicit.value());
  }
  scope.bindTypesAllowingNulls(binder(),EventChannelName.class);
  install(new ActeurBaseModule(scope));
  Provider<ApplicationControl> appControlProvider=binder().getProvider(ApplicationControl.class);
  Provider<Settings> set=binder().getProvider(Settings.class);
  TF eventThreadFactory=new TF(EVENT_THREADS,appControlProvider);
  TF workerThreadFactory=new TF(WORKER_THREADS,appControlProvider);
  TF backgroundThreadFactory=new TF(BACKGROUND_THREAD_POOL_NAME,appControlProvider);
  bind(ThreadGroup.class).annotatedWith(Names.named(BACKGROUND_THREAD_POOL_NAME)).toInstance(backgroundThreadFactory.tg);
  bind(ThreadGroup.class).annotatedWith(Names.named(WORKER_THREADS)).toInstance(workerThreadFactory.tg);
  bind(ThreadGroup.class).annotatedWith(Names.named(EVENT_THREADS)).toInstance(eventThreadFactory.tg);
  ThreadCount workerThreadCount=new ThreadCount(set,8,workerThreads,WORKER_THREADS);
  ThreadCount eventThreadCount=new ThreadCount(set,8,eventThreads,EVENT_THREADS);
  ThreadCount backgroundThreadCount=new ThreadCount(set,128,backgroundThreads,BACKGROUND_THREADS);
  bind(ThreadCount.class).annotatedWith(Names.named(EVENT_THREADS)).toInstance(eventThreadCount);
  bind(ThreadCount.class).annotatedWith(Names.named(WORKER_THREADS)).toInstance(workerThreadCount);
  bind(ThreadCount.class).annotatedWith(Names.named(BACKGROUND_THREAD_POOL_NAME)).toInstance(backgroundThreadCount);
  bind(ThreadFactory.class).annotatedWith(Names.named(WORKER_THREADS)).toInstance(workerThreadFactory);
  bind(ThreadFactory.class).annotatedWith(Names.named(EVENT_THREADS)).toInstance(eventThreadFactory);
  bind(ThreadFactory.class).annotatedWith(Names.named(BACKGROUND_THREAD_POOL_NAME)).toInstance(backgroundThreadFactory);
  Provider<ExecutorService> workerProvider=new ExecutorServiceProvider(workerThreadFactory,workerThreadCount,set);
  Provider<ExecutorService> backgroundProvider=new ExecutorServiceProvider(backgroundThreadFactory,backgroundThreadCount,set);
  bind(ExecutorService.class).annotatedWith(Names.named(WORKER_THREAD_POOL_NAME)).toProvider(workerProvider);
  bind(ExecutorService.class).annotatedWith(Names.named(BACKGROUND_THREAD_POOL_NAME)).toProvider(backgroundProvider);
  bind(ExecutorService.class).annotatedWith(Names.named(SCOPED_WORKER_THREAD_POOL_NAME)).toProvider(new WrappedWorkerThreadPoolProvider(workerProvider,scope));
  bind(ExecutorService.class).annotatedWith(Names.named(SCOPED_BACKGROUND_THREAD_POOL_NAME)).toProvider(new WrappedWorkerThreadPoolProvider(backgroundProvider,scope));
  bind(DateTime.class).toInstance(DateTime.now());
  bind(Duration.class).toProvider(UptimeProvider.class);
  bind(new CKTL()).toProvider(CookiesProvider.class);
  bind(String.class).annotatedWith(Names.named("String_Node_Str")).toInstance(this.appType.getSimpleName());
  bind(ServerImpl.class).asEagerSingleton();
  for (  Module m : otherModules) {
    install(m);
  }
  bind(Charset.class).toProvider(CharsetProvider.class);
  bind(ByteBufAllocator.class).toProvider(ByteBufAllocatorProvider.class);
  bind(new ETL()).toProvider(EventProvider.class).in(scope);
  bind(Codec.class).to(CodecImpl.class);
  bind(ApplicationControl.class).toProvider(ApplicationControlProvider.class).in(Scopes.SINGLETON);
  bind(ExceptionEvaluatorRegistry.class).asEagerSingleton();
  bind(KeysValues.class).toProvider(KeysValuesProvider.class);
  bind(InvalidInputExceptionEvaluator.class).asEagerSingleton();
  bind(Channel.class).toProvider(ChannelProvider.class);
  bind(HttpMethod.class).toProvider(MethodProvider.class);
  bind(Method.class).toProvider(MethodProvider2.class);
  bind(Path.class).toProvider(PathProvider.class);
  bind(BuiltInPageAnnotationHandler.class).asEagerSingleton();
  bind(ResponseHeaders.class).toProvider(ResponseHeadersProvider.class);
  bind(ScheduledExecutorService.class).annotatedWith(Names.named(DELAY_EXECUTOR)).toProvider(DelayExecutorProvider.class);
  bind(new CL()).toProvider(ChainProvider.class);
}