ddnet/src
bors[bot] e8667b6075
Merge #5658
5658: Fix game freezing up on duplicate snapshot r=def- a=Fireball-Teeworlds

If a duplicate snapshot is received (for the same tick), we add both to the SnapshotStorage and end up with the same snapshot as both Cur and Prev. This results in GameInfraTick returning "inf" and results in "NaN" downstream in a few places, getting the CollLine logic stuck.

Some debug info (tcpdump, gdb, perf): https://gist.github.com/Fireball-Teeworlds/ad0016d2551a2e4d4cb5691023493856

Apparently this doesn't really happen in the wild, unless you have a buggy network stack. In which case it happens frequently enough to pinpoint the issue :D

 (fixes #5657)

## Checklist

- [X] Tested the change ingame
- [ ] Provided screenshots if it is a visual change
- [ ] Tested in combination with possibly related configuration options
- [ ] Written a unit test (especially base/) or added coverage to integration test
- [X] Considered possible null pointers and out of bounds array indexing
- [X] Changed no physics that affect existing maps
- [X] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-addresssanitizer--undefinedbehavioursanitizer-or-valgrinds-memcheck) (optional)


Co-authored-by: Fireball <fireball.teeworlds@gmail.com>
2022-07-26 13:46:40 +00:00
..
android More vector naming format 2022-06-15 19:37:37 +02:00
antibot Merge pull request #3961 from fokkonaut/pr-antibot 2021-12-19 19:33:56 +01:00
base Merge #5205 2022-07-10 23:31:21 +00:00
engine Merge #5658 2022-07-26 13:46:40 +00:00
game Fix shift with negative exponent in TeamMask 2022-07-22 16:42:56 +02:00
macos Huge variable naming format 2022-07-08 18:01:29 +02:00
mastersrv mastersrv: Small convenience function 2022-06-13 17:00:54 +02:00
steam Huge variable naming format 2022-07-08 18:01:29 +02:00
test Merge #5205 2022-07-10 23:31:21 +00:00
tools Warn about pnglite-incompatible PNGs on load 2022-07-14 18:22:46 +02:00