opentripplanner / OpenTripPlanner

An open source multi-modal trip planner
http://www.opentripplanner.org
Other
2.17k stars 1.02k forks source link

Cannot return null from a non-@Nullable @Provides method #5762

Closed mpaine-act closed 6 months ago

mpaine-act commented 6 months ago

Expected behavior

Building Graph.obj on Windows 10 would work

Observed behavior

Java 21 Set Java found @ C:\Program Files\Microsoft\jdk-21.0.2.13-hotspot Building Graph.obj java -Xmx12G -jar O:\target\otp-2.5.0-shaded.jar --build C:\Users\user1\otp\graphs\bayarea --save Press Enter to continue...: 12:26:19.721 INFO [main] (OtpStartupInfo.java:40) OTP STARTING UP (version: 2.5.0, ser.ver.id: 148, commit: b301ea7c70f2ce7bb22c7f8e7fba6f8654cea3a5, branch: master) using Java 21.0.2 12:26:19.727 INFO [main] (ApplicationShutdownSupport.java:27) Adding shutdown hook 'server-shutdown-info'. 12:26:19.741 INFO [main] (OtpStartupInfo.java:45)


/ \ _ | | () _ | | | _ _ _ | | | | ' \ / \ '_ | || '| | ' | |) | |/ ` | ' | ' \ / \ '| | || | |) | _/ | | | || | | | |) | /| | (| | | | | | | | / | \/| ./ _|| ||||| |_| ./|| ||_,|| ||| ||_|| || |_| Version: 2.5.0 Ser.ver.id: 148 Commit: b301ea7c70f2ce7bb22c7f8e7fba6f8654cea3a5 Branch: master Build: 2024-03-13T13:25:20+01:00

12:26:19.741 INFO [main] (OTPMain.java:107) Searching for configuration and input files in C:\Users\user1\otp\graphs\bayarea 12:26:19.989 INFO [main] (ConfigFileLoader.java:130) Load JSON configuration file 'C:\Users\user1\otp\graphs\bayarea\otp-config.json' 12:26:20.009 INFO [main] (ConfigFileLoader.java:131) Summarizing 'otp-config.json': { "otpFeatures" : { "ActuatorAPI" : true, "APIBikeRental" : false, "APIServerInfo" : true, "APIUpdaterStatus" : true, "AsyncGraphQLFetchers" : true, "Co2Emissions" : true, "ConsiderPatternsForDirectTransfers" : true, "DataOverlay" : true, "DebugUi" : true, "FaresV2" : true, "FlexRouting" : false, "FloatingBike" : true, "GoogleCloudStorage" : false, "GtfsGraphQlApi" : true, "GtfsGraphQlApiRentalStationFuzzyMatching" : false, "LegacyRestApi" : true, "MinimumTransferTimeIsDefinitive" : false, "OptimizeTransfers" : true, "ParallelRouting" : false, "RealtimeResolver" : true, "ReportApi" : true, "RestAPIPassInDefaultConfigAsJson" : true, "SandboxAPIGeocoder" : false, "SandboxAPIMapboxVectorTilesApi" : false, "SandboxAPIParkAndRideApi" : false, "SandboxAPITravelTime" : false, "TransferAnalyzer" : false, "TransferConstraints" : true, "TransmodelGraphQlApi" : true } } 12:26:20.033 INFO [main] (ConfigFileLoader.java:130) Load JSON configuration file 'C:\Users\user1\otp\graphs\bayarea\build-config.json' 12:26:20.039 INFO [main] (ConfigFileLoader.java:131) Summarizing 'build-config.json': { "areaVisibility" : true, "boardingLocationTags" : [ ], "buildReportDir" : "", "dataImportReport" : false, "distanceBetweenElevationSamples" : 10, "embedRouterConfig" : true, "maxDataImportIssuesPerFile" : 1000, "multiThreadElevationCalculations" : false, "platformEntriesLinking" : true, "staticBikeParkAndRide" : true, "staticParkAndRide" : true, "subwayAccessTime" : 2.0, "transitModelTimeZone" : "US/Pacific", "osmDefaults" : { "osmTagMapping" : "default", "timeZone" : "US/Pacific" } } 12:26:20.188 INFO [main] (ConfigFileLoader.java:130) Load JSON configuration file 'C:\Users\user1\otp\graphs\bayarea\router-config.json' 12:26:20.189 INFO [main] (ConfigFileLoader.java:131) Summarizing 'router-config.json': { "routingDefaults" : { "numItineraries" : 6 }, "updaters" : [ ] } 12:26:20.283 INFO [main] (OTPFeature.java:138) Features turned on: APIServerInfo APIUpdaterStatus ConsiderPatternsForDirectTransfers DebugUi FloatingBike GtfsGraphQlApi OptimizeTransfers TransferConstraints TransmodelGraphQlApi ActuatorAPI AsyncGraphQLFetchers Co2Emissions DataOverlay FaresV2 LegacyRestApi RealtimeResolver ReportApi RestAPIPassInDefaultConfigAsJson 12:26:20.285 INFO [main] (OTPFeature.java:139) Features turned off: APIBikeRental GtfsGraphQlApiRentalStationFuzzyMatching MinimumTransferTimeIsDefinitive ParallelRouting FlexRouting GoogleCloudStorage SandboxAPIGeocoder SandboxAPIMapboxVectorTilesApi SandboxAPIParkAndRideApi SandboxAPITravelTime TransferAnalyzer 12:26:20.361 INFO [main] (GraphBuilderDataSources.java:229) Data source location(s): HTTPS, C:\Users\user1\otp\graphs\bayarea 12:26:20.367 INFO [main] (GraphBuilderDataSources.java:232) Existing files expected to be read or written: 12:26:20.372 INFO [main] (GraphBuilderDataSources.java:235) - ⚙️ build-config.json C:\Users\user1\otp\graphs\bayarea 2024-03-20 15:14:38 570 bytes 12:26:20.372 INFO [main] (GraphBuilderDataSources.java:235) - ⚙️ otp-config.json C:\Users\user1\otp\graphs\bayarea 2024-03-21 12:13:16 1 kB 12:26:20.375 INFO [main] (GraphBuilderDataSources.java:235) - ⚙️ router-config.json C:\Users\user1\otp\graphs\bayarea 2024-03-21 12:20:30 97 bytes 12:26:20.377 INFO [main] (GraphBuilderDataSources.java:235) - 🌍 norcal-latest.osm.pbf C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:33:47 575.9 MB 12:26:20.378 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 3D_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:18 381 kB 12:26:20.380 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 AC_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:08 8.6 MB 12:26:20.382 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 AF_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:08 8 kB 12:26:20.383 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 AM_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:09 119 kB 12:26:20.384 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 BA_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:08 744 kB 12:26:20.386 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 CC_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:10 2.7 MB 12:26:20.388 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 CE_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:08 20 kB 12:26:20.389 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 CM_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:09 403 kB 12:26:20.392 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 CT_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:09 300 kB 12:26:20.393 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 DE_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:10 66 kB 12:26:20.395 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 EM_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:10 132 kB 12:26:20.396 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 FS_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:10 93 kB 12:26:20.397 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 GF_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:10 30 kB 12:26:20.399 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 GG_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:11 1.1 MB 12:26:20.402 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 MA_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:11 1.0 MB 12:26:20.403 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 MB_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:11 42 kB 12:26:20.405 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 MV_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:12 272 kB 12:26:20.407 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 PE_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:12 70 kB 12:26:20.408 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 RV_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:12 30 kB 12:26:20.409 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 SA_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:15 84 kB 12:26:20.411 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 SB_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:13 46 kB 12:26:20.413 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 SC_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:19 4.7 MB 12:26:20.414 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 SF_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:14 15.9 MB 12:26:20.415 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 SI_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:13 185 kB 12:26:20.417 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 SM_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:13 1.7 MB 12:26:20.419 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 SO_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:15 879 kB 12:26:20.422 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 SR_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:15 213 kB 12:26:20.424 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 SS_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:09 33 kB 12:26:20.426 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 ST_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:15 543 kB 12:26:20.428 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 TF_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:17 4 kB 12:26:20.429 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 UC_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:18 108 kB 12:26:20.431 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 VC_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:18 97 kB 12:26:20.431 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 VN_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:18 447 kB 12:26:20.433 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 WC_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:19 326 kB 12:26:20.434 INFO [main] (GraphBuilderDataSources.java:235) - 🚌 WH_gtfs.zip C:\Users\user1\otp\graphs\bayarea 2024-03-20 14:24:11 1.7 MB 12:26:20.520 INFO [main] (ConstructApplication.java:123) Wiring up and configuring graph builder task. 12:26:20.606 ERROR [main] (OTPMain.java:60) An uncaught error occurred inside OTP: Cannot return null from a non-@Nullable @Provides method java.lang.NullPointerException: Cannot return null from a non-@Nullable @Provides method at dagger.internal.Preconditions.checkNotNullFromProvides(Preconditions.java:63) at org.opentripplanner.graph_builder.module.configure.GraphBuilderModules_ProvideDataOverlayFactoryFactory.provideDataOverlayFactory(GraphBuilderModules_ProvideDataOverlayFactoryFactory.java:50) at org.opentripplanner.graph_builder.module.configure.GraphBuilderModules_ProvideDataOverlayFactoryFactory.get(GraphBuilderModules_ProvideDataOverlayFactoryFactory.java:41) at org.opentripplanner.graph_builder.module.configure.GraphBuilderModules_ProvideDataOverlayFactoryFactory.get(GraphBuilderModules_ProvideDataOverlayFactoryFactory.java:14) at dagger.internal.DoubleCheck.get(DoubleCheck.java:47) at org.opentripplanner.graph_builder.module.configure.DaggerGraphBuilderFactory$GraphBuilderFactoryImpl.dataOverlayFactory(DaggerGraphBuilderFactory.java:322) at org.opentripplanner.graph_builder.GraphBuilder.create(GraphBuilder.java:175) at org.opentripplanner.standalone.configure.ConstructApplication.createGraphBuilder(ConstructApplication.java:124) at org.opentripplanner.standalone.OTPMain.startOTPServer(OTPMain.java:139) at org.opentripplanner.standalone.OTPMain.main(OTPMain.java:55) 12:26:20.613 INFO [server-shutdown-info] (OtpStartupInfo.java:43) OTP SHUTTING DOWN (version: 2.5.0, ser.ver.id: 148, commit: b301ea7c70f2ce7bb22c7f8e7fba6f8654cea3a5, branch: master)

Days : 0 Hours : 0 Minutes : 0 Seconds : 3 Milliseconds : 918 Ticks : 39189934 TotalDays : 4.53587199074074E-05 TotalHours : 0.00108860927777778 TotalMinutes : 0.0653165566666667 TotalSeconds : 3.9189934 TotalMilliseconds : 3918.9934

Version of OTP used (exact commit hash or JAR name)

2.5.0 RTM (https://github.com/opentripplanner/OpenTripPlanner/releases/download/v2.5.0/otp-2.5.0-shaded.jar)

Data sets in use (links to GTFS and OSM PBF files)

Most of the GTFS files from https://api.511.org/transit/operators Only https://download.geofabrik.de/north-america/us/california/norcal-latest.osm.pbf

Command line used to start OTP

java -Xmx12G -jar O:\target\otp-2.5.0-shaded.jar --build C:\Users\user1\otp\graphs\bayarea --save

Router config and graph build config JSON

[router.config] { "routingDefaults": { "numItineraries": 6 }, "updaters": [ ] }

[build.config] { "areaVisibility": true, "boardingLocationTags": [], "buildReportDir": "", "dataImportReport": false, "distanceBetweenElevationSamples": 10, "embedRouterConfig": true, "maxDataImportIssuesPerFile": 1000, "multiThreadElevationCalculations": false, "platformEntriesLinking": true, "staticBikeParkAndRide": true, "staticParkAndRide": true, "subwayAccessTime": 2.0, "transitModelTimeZone": "US/Pacific", "osmDefaults": { "osmTagMapping": "default", "timeZone": "US/Pacific" } }

Steps to reproduce the problem

1) Setup Java 21, download latest 2.5.0 release jar, download PBF and GTFS-*.zip from 511 (see logs), run Java.

leonardehrenfried commented 6 months ago

The stacktrace suggests that it is caused by you enabling the sandbox feature DataOverlay but not providing any configuration or data for it.

https://docs.opentripplanner.org/en/dev-2.x/sandbox/DataOverlay/

What was your intention by enabling all these features?

mpaine-act commented 6 months ago

Hi Leonard, thanks for catching that. Setting that to false let me continue.

I will look closer at what features are enabled and configured, but I am just kicking the tires and seeing what new features do what. My agency has been stuck on version 1.5 as all of the 2.x released haven't had great success due to worse itinerary plans overall (among other reasons).

leonardehrenfried commented 6 months ago

I'm going to close this. Please reopen if you disagree.

OTP2 is very configurable and I'm confident the results that you want to see are few config options away.

If you're keen to migrate but find it hard to do so yourself, there are companies and individuals that offer professional OTP services.