OpenRailAssociation / osrd

An open source web application for railway infrastructure design, capacity analysis, timetabling and simulation
https://osrd.fr
457 stars 43 forks source link

`An unknown exception was thrown` when sending STDCM request #6894

Closed axrolld closed 7 months ago

axrolld commented 7 months ago

What happened?

Sending a STDCM request with those inputs: image

I got An unknown exception was thrown error, with this detail:

image

java.lang.NullPointerException
    at fr.sncf.osrd.signaling.impl.SigSystemManagerImpl.findDriver-QmrtWgY(SigSystemManagerImpl.kt:65)
    at fr.sncf.osrd.signaling.impl.SignalingSimulatorImpl.evaluate(SignalingSimulatorImpl.kt:215)
    at fr.sncf.osrd.conflicts.SpacingRequirementAutomaton.isZoneIndexRequiredForSignal(SpacingResourceGenerator.kt:205)
    at fr.sncf.osrd.conflicts.SpacingRequirementAutomaton.findFirstNonRequiredZoneIndex(SpacingResourceGenerator.kt:241)
    at fr.sncf.osrd.conflicts.SpacingRequirementAutomaton.processPathUpdate(SpacingResourceGenerator.kt:289)
    at fr.sncf.osrd.stdcm.infra_exploration.InfraExplorerWithEnvelopeImpl.getSpacingRequirements(InfraExplorerWithEnvelopeImpl.kt:77)
    at fr.sncf.osrd.stdcm.preprocessing.implementation.BlockAvailability.getAvailability-Ap7Eq5U(BlockAvailability.kt:34)
    at fr.sncf.osrd.stdcm.graph.DelayManager.getLastBlockAvailability-Ap7Eq5U(DelayManager.kt:127)
    at fr.sncf.osrd.stdcm.graph.DelayManager.minimumDelaysPerOpening-mJsn5IA(DelayManager.kt:40)
    at fr.sncf.osrd.stdcm.graph.STDCMEdgeBuilder.getDelaysPerOpening(STDCMEdgeBuilder.kt:229)
    at fr.sncf.osrd.stdcm.graph.STDCMEdgeBuilder.makeAllEdges(STDCMEdgeBuilder.kt:141)
    at fr.sncf.osrd.stdcm.graph.STDCMGraph.getAdjacentEdges(STDCMGraph.kt:105)
    at fr.sncf.osrd.stdcm.graph.STDCMGraph.getAdjacentEdges(STDCMGraph.kt:23)
    at fr.sncf.osrd.graph.Pathfinding.runPathfinding(Pathfinding.kt:238)
    at fr.sncf.osrd.stdcm.graph.STDCMPathfindingKt.findPath(STDCMPathfinding.kt:91)
    at fr.sncf.osrd.api.stdcm.STDCMEndpoint.act(STDCMEndpoint.kt:66)
    at org.takes.facets.fork.FkRegex.lambda$new$0(FkRegex.java:153)
    at org.takes.facets.fork.FkRegex.route(FkRegex.java:217)
    at org.takes.facets.fork.FkChain.route(FkChain.java:72)
    at org.takes.facets.fork.TkFork.act(TkFork.java:98)
    at fr.sncf.osrd.cli.TkDataDog$Companion.datadog(TkDataDog.kt:24)
    at fr.sncf.osrd.cli.TkDataDog$Companion.access$datadog(TkDataDog.kt:15)
    at fr.sncf.osrd.cli.TkDataDog._init_$lambda$0(TkDataDog.kt:14)
    at org.takes.tk.TkWrap.act(TkWrap.java:58)
    at org.takes.facets.fallback.TkFallback.route(TkFallback.java:84)
    at org.takes.facets.fallback.TkFallback.lambda$new$0(TkFallback.java:66)
    at org.takes.tk.TkWrap.act(TkWrap.java:58)
    at org.takes.tk.TkSlf4j.act(TkSlf4j.java:110)
    at org.takes.http.BkBasic.print(BkBasic.java:123)
    at org.takes.http.BkBasic.accept(BkBasic.java:99)
    at org.takes.http.BkSafe.lambda$new$0(BkSafe.java:46)
    at org.takes.http.BkWrap.accept(BkWrap.java:51)
    at org.takes.http.BkParallel.lambda$new$0(BkParallel.java:81)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.base/java.lang.Thread.run(Thread.java:840)

What did you expect to happen?

I'm expecting either the request to be successful, or to send me an error message.

How can we reproduce it (as minimally and precisely as possible)?

  1. Go to X > Y > Z scenario on staging
  2. Ask for a STDCM with the inputs listed above

What operating system, browser and environment are you using?

OSRD version (top right corner Account button > Informations)

75bf2e9

Khoyo commented 7 months ago

Fixed by 86a48f554b40360c0ee6130c7c7d5c7ab1f87e8b