MantisBT - Zandronum
View Issue Details
0003261Zandronum[All Projects] Bugpublic2017-09-11 14:352023-01-01 16:24
Dusk 
Dusk 
normalcrashN/A
needs reviewopen 
 
3.1 
0003261: Resolve the player_t::mo null pointer nonsense
The underlying codebase seems to assume that all valid players have a valid mo pointer. Something on our end breaks this invariant which has caused a lot of crashes in the past.

I think we should resolve this once and for all.
No tags attached.
Issue History
2017-09-11 14:35DuskNew Issue
2017-09-11 14:35DuskAssigned To => Dusk
2017-09-11 14:35DuskStatusnew => assigned
2017-09-11 17:02DuskNote Added: 0018271
2017-09-11 17:02DuskStatusassigned => needs review
2018-10-08 21:01IvanNote Added: 0020035

Notes
(0018271)
Dusk   
2017-09-11 17:02   
Looks like this was very easy to fix. Turns out that when a player joins from spectators, the server destroys the player body and creates a new one with two separate commands, meaning there's a window inside what anything could happen.

I changed this now, and removed the null check bandaids which should be superfluous now. This needs a testing session or two to check whether it's stable or not.
(0020035)
Ivan   
2018-10-08 21:01   
Can someone provide a build to test this?