Skip to content

ClassCastException when processing a GBFS V3 update #6967

@vpaturet

Description

@vpaturet

When using GBFS V3 feeds, we experience the following error for some updates:

Error while running polling updater VehicleRentalUpdater{source: org.opentripplanner.updater.vehicle_rental.datasources.gbfs.GbfsVehicleRentalDataSource@4cdbc69a}
java.lang.ClassCastException: class java.util.HashMap$Node cannot be cast to class java.util.HashMap$TreeNode (java.util.HashMap$Node and java.util.HashMap$TreeNode are in module java.base of loader 'bootstrap')
	at java.base/java.util.HashMap$TreeNode.moveRootToFront(HashMap.java:1994)
	at java.base/java.util.HashMap$TreeNode.treeify(HashMap.java:2110)
	at java.base/java.util.HashMap.treeifyBin(HashMap.java:778)
	at java.base/java.util.HashMap.putVal(HashMap.java:650)
	at java.base/java.util.HashMap.put(HashMap.java:618)
	at org.opentripplanner.framework.i18n.TranslatedString.getI18NString(TranslatedString.java:93)
	at org.opentripplanner.updater.vehicle_rental.datasources.gbfs.v3.GbfsFeedMapper.optionalLocalizedString(GbfsFeedMapper.java:170)
	at org.opentripplanner.updater.vehicle_rental.datasources.gbfs.v3.GbfsFeedMapper.localizedString(GbfsFeedMapper.java:182)
	at org.opentripplanner.updater.vehicle_rental.datasources.gbfs.v3.GbfsStationInformationMapper.mapStationInformation(GbfsStationInformationMapper.java:59)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575)
	at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
	at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
	at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622)
	at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627)
	at org.opentripplanner.updater.vehicle_rental.datasources.gbfs.v3.GbfsFeedMapper.getUpdates(GbfsFeedMapper.java:92)
	at org.opentripplanner.updater.vehicle_rental.datasources.gbfs.GbfsFeedLoaderAndMapper.getUpdated(GbfsFeedLoaderAndMapper.java:107)
	at org.opentripplanner.updater.vehicle_rental.datasources.gbfs.GbfsVehicleRentalDataSource.getUpdates(GbfsVehicleRentalDataSource.java:47)
	at org.opentripplanner.updater.vehicle_rental.VehicleRentalUpdater.runPolling(VehicleRentalUpdater.java:125)
	at org.opentripplanner.updater.spi.PollingGraphUpdater.run(PollingGraphUpdater.java:74)
	at org.opentripplanner.updater.GraphUpdaterManager.lambda$startUpdaters$0(GraphUpdaterManager.java:100)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
	at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1583)

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

dev-2.x

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

Norwegian GBFS V3 feed

Metadata

Metadata

Assignees

No one assigned

    Labels

    !BugApply to issues describing a bug and PRs witch fixes it.Vehicle Rental

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions