This happens 100% of the time for me in both the latest version (commit 7ddadef) and the initial GitHub commit (commit 02b9eff), both in my own game and in the VectorWar sample app.
Repro steps
Download the GGPO repository (commit 7ddadef)
Run configure_windows.cmd, open GGPO.sln, rebuild solution in Release/x64 (Windows 10, Visual Studio 2019 version 16.8.5)
Run start_vectorwar_2p_4s.cmd
Close one of the spectator windows
Roughly one second later, player one (who was connected to that spectator) will get an error window with the following text:
Clicking 'OK' on that error window causes the game to close
Here's the call stack I get when running player one in a Debug build:
VectorWar.exe!Platform::AssertFailed(char * msg) Line 23 C++
> VectorWar.exe!RingBuffer<GameInput,64>::push(const GameInput & t) Line 39 C++
VectorWar.exe!UdpProtocol::SendInput(GameInput & input) Line 106 C++
VectorWar.exe!Peer2PeerBackend::DoPoll(int timeout) Line 139 C++
VectorWar.exe!Peer2PeerBackend::IncrementFrame() Line 335 C++
VectorWar.exe!ggpo_advance_frame(GGPOSession * ggpo) Line 139 C++
VectorWar.exe!VectorWar_AdvanceFrame(int * inputs, int disconnect_flags) Line 351 C++
VectorWar.exe!VectorWar_RunFrame(HWND__ * hwnd) Line 426 C++
VectorWar.exe!RunMainLoop(HWND__ * hwnd) Line 84 C++
VectorWar.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * __formal, wchar_t * __formal, int __formal) Line 181 C++
This happens 100% of the time for me in both the latest version (commit 7ddadef) and the initial GitHub commit (commit 02b9eff), both in my own game and in the VectorWar sample app.
Repro steps
Here's the call stack I get when running player one in a Debug build:
And here's a video of it:
https://user-images.githubusercontent.com/2348496/144055204-1fa83a06-aa50-4c58-8edf-bb68ee1512cd.mp4