I'm still not 100% sure if that is the real problem but I have found a way how an invalid state triggering that assert could be reached by deleting stations during the calculation of their link graph. It seems the PAXLink AI in the saves by _frozen does that but I can't reproduce the exact sequence of events. Anyway, the bug I've found is fixed in gbfdccd1b-cd. That version is savegame-compatible with the previous ones and I've added a few asserts to detect the problem earlier if it persists. Thanks for the report.
PAXLink will add/remove feeder stations for the airport quite often. It will try to not have more feeder stations than needed to provide an airport with enough passengers to supply the current aircraft. In my experience the number of feeder buses and stations will go up and down quite a lot. (which is probably one of the reasons why the AI is not very good to survive economically)
_frozen: Note that PAXLink has no code to adopt to cargodist. Thus it may or may not give problem when passengers now do not all get off at the airport but will also want to go further using buses. Among other things, the AI can not tell if passengers at the airport are waiting for a local bus to get to their destination or if they wait for an aircraft to the other town.
That said, if it works for you and you like to have it in your game, I'm more than happy that someone enjoys this AI that I've spent quite a lot of time to develop.
_________________My OpenTTD contributions
(AIs, Game Scripts, patches, OpenTTD Auto Updater, and some sprites)Junctioneer
(a traffic intersection simulator)