This can be reproduced by looking at the threebase_voidray.py example, and adding a second call to run_game with a different map. On the second map, calls to get_next_expansion() will produce an arbitrary location. It appears that some state is persisting from the old game; when I look at the expansion itself, the tags of the resources are from the first game (and don't match any resource patches in the current game).
This also occurs when re-running a script with a single run_game call from ipython
This can be reproduced by looking at the threebase_voidray.py example, and adding a second call to run_game with a different map. On the second map, calls to get_next_expansion() will produce an arbitrary location. It appears that some state is persisting from the old game; when I look at the expansion itself, the tags of the resources are from the first game (and don't match any resource patches in the current game).
This also occurs when re-running a script with a single run_game call from ipython