faq 89260060 - matsim-org/matsim-code-examples GitHub Wiki

NullPointerException in SignalsModule

by Theresa Thunig on 2016-10-20 13:59:00


Camila Feliciano asked on Okt 20, 2016:

I was running a simulation with signals and got another error. Can you help me again?
2016-10-19 16:43:45,694 ERROR MatsimRuntimeModifications:60 ERROR --- This is an unexpected shutdown!
 2016-10-19 16:43:45,694 ERROR MatsimRuntimeModifications:63 Shutdown possibly caused by the following Exception:
 com.google.inject.ProvisionException: Unable to provision, see the following errors:


 1) Error in custom provider, java.lang.NullPointerException

  at 
 org.matsim.contrib.signals.controler.SignalsModule.provideSignalSystemsManager(SignalsModule.java:47)
  (via modules: com.google.inject.util.Modules$CombinedModule -> 
 com.google.inject.util.Modules$CombinedModule -> 
 org.matsim.core.controler.AbstractModule$4 -> 
 com.google.inject.util.Modules$OverrideModule -> 
 org.matsim.core.controler.AbstractModule$4 -> 
 com.google.inject.util.Modules$OverrideModule -> 
 org.matsim.contrib.signals.controler.SignalsModule)
  while locating org.matsim.contrib.signals.model.SignalSystemsManager
  for parameter 0 at org.matsim.contrib.signals.controler.SignalsModule.provideQSimSignalEngine(SignalsModule.java:54)

  at 
 org.matsim.contrib.signals.controler.SignalsModule.provideQSimSignalEngine(SignalsModule.java:54)
  (via modules: com.google.inject.util.Modules$CombinedModule -> 
 com.google.inject.util.Modules$CombinedModule -> 
 org.matsim.core.controler.AbstractModule$4 -> 
 com.google.inject.util.Modules$OverrideModule -> 
 org.matsim.core.controler.AbstractModule$4 -> 
 com.google.inject.util.Modules$OverrideModule -> 
 org.matsim.contrib.signals.controler.SignalsModule)
  while locating org.matsim.contrib.signals.mobsim.QSimSignalEngine

  while locating 
 org.matsim.core.mobsim.framework.listeners.MobsimListener annotated with
  @com.google.inject.multibindings.Element(setName=,uniqueId=65, 
 type=MULTIBINDER, keyType=)


 1 error
  at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1025)
  at org.matsim.core.controler.NewControler.runMobSim(NewControler.java:117)
  at org.matsim.core.controler.AbstractController$7.run(AbstractController.java:203)
  at org.matsim.core.controler.AbstractController.iterationStep(AbstractController.java:235)
  at org.matsim.core.controler.AbstractController.mobsim(AbstractController.java:199)
  at org.matsim.core.controler.AbstractController.iteration(AbstractController.java:158)
  at org.matsim.core.controler.AbstractController.doIterations(AbstractController.java:125)
  at org.matsim.core.controler.AbstractController.access$000(AbstractController.java:30)
  at org.matsim.core.controler.AbstractController$1.run(AbstractController.java:95)
  at org.matsim.core.controler.MatsimRuntimeModifications.run(MatsimRuntimeModifications.java:48)
  at org.matsim.core.controler.MatsimRuntimeModifications.run(MatsimRuntimeModifications.java:31)
  at org.matsim.core.controler.AbstractController.run(AbstractController.java:103)
  at org.matsim.core.controler.NewControler.run(NewControler.java:79)
  at org.matsim.core.controler.Controler.run(Controler.java:190)
  at signals.RunJveSignals.main(RunJveSignals.java:60)
 Caused by: java.lang.NullPointerException
  at org.matsim.contrib.signals.builder.FromDataBuilder.createAndAddSignalSystemControllerFromData(FromDataBuilder.java:104)
  at org.matsim.contrib.signals.builder.FromDataBuilder.createAndInitializeSignalSystemsManager(FromDataBuilder.java:147)
  at org.matsim.contrib.signals.controler.SignalsModule.provideSignalSystemsManager(SignalsModule.java:48)
  at org.matsim.contrib.signals.controler.SignalsModule$$FastClassByGuice$$5c4c9e2e.invoke(<generated>)
  at com.google.inject.internal.ProviderMethod$FastClassProviderMethod.doProvision(ProviderMethod.java:272)
  at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:172)
  at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)
  at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:53)
  at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:61)
  at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45)
  at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016)
  at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
  at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012)
  at com.google.inject.spi.ProviderLookup$1.get(ProviderLookup.java:104)
  at com.google.inject.spi.ProviderLookup$1.get(ProviderLookup.java:104)
  at com.google.inject.spi.ProviderLookup$1.get(ProviderLookup.java:104)
  at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:167)
  at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)
  at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:53)
  at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:61)
  at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45)
  at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:56)
  at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016)
  at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
  at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012)
  ... 14 more

Comments: 2


Re: NullPointerException in SignalsModule

by Theresa Thunig on 2016-10-20 14:03:36

I guess you forgot the line scenario.addScenarioElement(...) in your controler.

Or, if you have the line there, you do not use the scenario where you add the element: Do you create your controler by new Controler(scenario) as it is shown e.g. in RunSignalSystemsExample?

Please let me know if it works.
Theresa


Re: NullPointerException in SignalsModule

by Theresa Thunig on 2016-10-20 20:52:46

Dear Camila,

could it be that you define a signal system ID in your signal system file for which you do not give a signal control in your signal control file?

Can you please attach (per drag and drop) your signal input files if this does not solve the problem?

Cheers,
Theresa

⚠️ **GitHub.com Fallback** ⚠️