gtfs-r data issue

Skip to first unread message

Brandon Perdue

Jan 28, 2022, 3:09:26 PM1/28/22
to onebusaway-developers
I'm not sure if this is a OBA issue or not, but trying to fix it is driving me crazy so I thought I'd ask here to see if anybody had any ideas.  We recently made a temporary service change due to some staffing shortages, and ever since we updated our static gtfs data in OBA our realtime data has stopped showing.  The gtfs-r feeds are still live and being updated.  Everything in them looks correct, but in the OBA app we are only seeing scheduled buses. I've restarted the server, tested the access to the gtfs-r files from the server, and re-imported the static gtfs data multiple times.

Nothing in the OBA server setting have changed and it is still accessing the gtfs-r files at the same location.  I've even compared the trip ids in the realtime vehiclepositions file with the static gtfs files.  Every one I test exists in both the static and realtime data.

Brandon Perdue

Jan 28, 2022, 5:47:43 PM1/28/22
to onebusaway-developers
I am seeing the following in the logs:

2022-01-28 12:12:01,807 WARN  [] : Error updating from GTFS-realtime data sources
        at org.onebusaway.transit_data_federation.impl.realtime.gtfs_realtime.GtfsRealtimeTripLibrary.getBlockStartTimeForTripStartTime(
        at org.onebusaway.transit_data_federation.impl.realtime.gtfs_realtime.GtfsRealtimeTripLibrary.getTripDescriptorAsBlockDescriptor(
        at org.onebusaway.transit_data_federation.impl.realtime.gtfs_realtime.GtfsRealtimeTripLibrary.groupTripUpdatesAndVehiclePositions(
        at org.onebusaway.transit_data_federation.impl.realtime.gtfs_realtime.GtfsRealtimeSource.handeUpdates(
        at org.onebusaway.transit_data_federation.impl.realtime.gtfs_realtime.GtfsRealtimeSource.refresh(
        at org.onebusaway.transit_data_federation.impl.realtime.gtfs_realtime.GtfsRealtimeSource$
        at java.util.concurrent.Executors$
        at java.util.concurrent.FutureTask.runAndReset(
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(
        at java.util.concurrent.ScheduledThreadPoolExecutor$
        at java.util.concurrent.ThreadPoolExecutor.runWorker(
        at java.util.concurrent.ThreadPoolExecutor$

Surrounded by a bunch of warnings like:
2022-01-28 14:44:11,824 WARN  [] : block STA_1448 does not exist on service date ServiceIdDate(2022-1-28)
2022-01-28 14:44:11,824 WARN  [] : block STA_1448 does not exist on service date ServiceIdDate(2022-1-28)

Sheldon A. Brown

Jan 28, 2022, 6:21:03 PM1/28/22
Check your calendar file to make sure those trips are active. The logs hint they aren’t. 

Good luck!

Sent from my mobile device (I'll be brief)

On Jan 28, 2022, at 5:47 PM, Brandon Perdue <> wrote:

You received this message because you are subscribed to the Google Groups "onebusaway-developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
To view this discussion on the web visit

Devin Braun

Jan 28, 2022, 6:52:34 PM1/28/22
to onebusaway-developers
I believe that OBA uses block_id to update real-time as well as trip_id.  I've found that when we merge two service periods together, the tool can change the block_ids and this is what has caused real-time data errors in the past.  The other thing you want to check is that your new bundle actually went live.  I'm not sure how you're set up, but sometimes the old information is being served.  If you go to the web interface and view the schedule for a stop, you can see the trip_ids it's using when you click on each time in the schedule.  Then when you click on those, you can see the block_id it's using.


Brandon Perdue

Jan 28, 2022, 6:54:43 PM1/28/22
to onebusaway-developers
Thanks for the input on that.  I'll dig through the data we have and see what I can find.

Sean Barbeau

Jan 31, 2022, 11:11:25 AM1/31/22
to onebusaway-developers
When checking if something is an OBA issue or not you might want to run the data through the GTFS Realtime Validator:

I actually don't think we currently check for this particular case, though (assuming it's what Sheldon/Devin said), so I opened a new issue for a new rule for this:

Reply all
Reply to author
0 new messages