MantisBT - Zandronum
View Issue Details
0002994Zandronum[All Projects] Bugpublic2017-01-24 19:272024-01-29 20:57
arkore 
Torr Samaho 
highcrashalways
resolvedfixed 
LinuxUbuntu10.04 x86-64
2.1 
 
0002994: Crashes when a new player connects to server (only when all players disconnected previously).
Server constantly crashing with fatal error:
*** Fatal Error ***
Address not mapped to object (signal 11)
Address: 0x370
1. Join irc.zandronum.com #tspg-painkiller.
2. Create an account and identify yourself.
3. Login to tspg website, your account, slots, and save this into slot 1:
.host iwad="doom2.wad" hostname="$$$ MY TEST SERVER $$$" wad="hpbar-v15b.pk3,chillax-v9.7.3.wad,ro_pb_2.2_zan_01.pk3,ro-ark-1g.pk3,arkcore-1g4.pk3,arkcore-ro-1g.pk3" config=arkcorechillaxro.cfg gamemode=survival skill=1
4. In irc #tspg-painkiller window, type .load 1
5. Join server. Enter game.
6. Use rcon to changemap to any other map. (this step might be optional).
7. Now leave the server.
8. Ensure that everyone has left the server.
9. Now have someone else join the server. Crash.
I tried to re-produce this locally, but I cannot. I think I cannot re-produce because the game remembered me some how.
No tags attached.
txt 9d85faeedf715ab54233ab934e966782.txt (12,102) 2017-01-24 19:27
https://zandronum.com/tracker/file_download.php?file_id=2015&type=bug
txt 5e7ffbbdb12a1d41dd7d2b3311bc1543.txt (22,723) 2017-01-24 19:27
https://zandronum.com/tracker/file_download.php?file_id=2016&type=bug
log zandronum-crash-01_22_2017-22_50_04.29911.log (16,006) 2017-01-24 21:08
https://zandronum.com/tracker/file_download.php?file_id=2017&type=bug
log zandronum-crash-01_23_2017-02_12_47.9466.log (16,079) 2017-01-24 21:08
https://zandronum.com/tracker/file_download.php?file_id=2018&type=bug
Issue History
2017-01-24 19:27arkoreNew Issue
2017-01-24 19:27arkoreFile Added: 9d85faeedf715ab54233ab934e966782.txt
2017-01-24 19:27arkoreFile Added: 5e7ffbbdb12a1d41dd7d2b3311bc1543.txt
2017-01-24 20:45Edward-sanNote Added: 0016682
2017-01-24 20:45Edward-sanStatusnew => feedback
2017-01-24 21:08arkoreFile Added: zandronum-crash-01_22_2017-22_50_04.29911.log
2017-01-24 21:08arkoreFile Added: zandronum-crash-01_23_2017-02_12_47.9466.log
2017-01-25 20:55Edward-sanNote Added: 0016687
2017-01-25 20:55Edward-sanAssigned To => Torr Samaho
2017-01-25 20:55Edward-sanStatusfeedback => assigned
2017-01-29 18:10Torr SamahoNote Added: 0016716
2017-01-29 18:21Torr SamahoStatusassigned => needs testing
2017-01-29 21:00arkoreNote Added: 0016720
2024-01-29 20:57Ru5tK1ngNote Added: 0023041
2024-01-29 20:57Ru5tK1ngStatusneeds testing => resolved
2024-01-29 20:57Ru5tK1ngResolutionopen => fixed

Notes
(0016682)
Edward-san   
2017-01-24 20:45   
Did you check with the zandronum server tspg version?
(0016687)
Edward-san   
2017-01-25 20:55   
The crash logs show that there's an ACS script which calls 'strlen' with an invalid argument.

If'https://bitbucket.org/Torr_Samaho/zandronum-zdoom-sync/commits/62e4cfc78a7f20d68cf59f4e6c5a733311fe6d3a [^]' is backported, the problem should be gone.
(0016716)
Torr Samaho   
2017-01-29 18:10   
I backported the fix.
(0016720)
arkore   
2017-01-29 21:00   
Thanks, I'll get around to testing this.

I managed to fix it on my end too. There were several problems causing crashes or maybe it was only one problem. E.g. Significant SetActivator() usage from an OPEN script(which wiki recommends against doing), while having other scripts running and also using SetActivator(), while having Delay() usage.

It all came down to the fact that I wasn't clearing the player's TID after they died (because I was trying something new this time, and I thought it would work).

This resulted in multiple players(your corpses) having the same TID, and so when you try to use UseActorInventory() it crashes.

Or if a player died, and remained dead, and a new player connects to the server and server immediately crashes.

Anyways.

I've taken what I learned (about TID assignment and re-assignment on DEATH(or RESPAWN)) and finally updated the zdoom wiki(https://zdoom.org/wiki/Thing_ChangeTID), adding an example snippet of code of using RESPAWN(instead of DEATH) to clear the player's TID, and adding a note about how it's very important that the player's TID be cleared on DEATH(or RESPAWN).

Thanks,
(0023041)
Ru5tK1ng   
2024-01-29 20:57   
Fix was backported into 3.0.