Zandronum Chat on our Discord Server Get the latest version: 3.1
Source Code

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0002031Zandronum[All Projects] Bugpublic2014-12-20 17:522018-10-01 00:06
ReporterWatermelon 
Assigned ToTorr Samaho 
PrioritynormalSeveritymajorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version1.3 
Target Version1.4Fixed in Version1.4 
Summary0002031: Demo crashes due to NULL pByteStream
DescriptionA player joins the game and it causes the demo to crash. Interestingly, no one crashed in game.

This is the stack trace:

    zandronum.exe!client_SpawnPlayer(BYTESTREAM_s * pByteStream=0x00000000, bool bMorph=true) Line 4146 C++
     zandronum.exe!CLIENT_ProcessCommand(long lCommand=0, BYTESTREAM_s * pByteStream=0x00000000) Line 1534 C++
     zandronum.exe!CLIENTDEMO_ReadPacket() Line 544 + 0xc bytes C++
     zandronum.exe!G_Ticker() Line 1476 C++
     zandronum.exe!TryRunTics() Line 1954 C++
     zandronum.exe!D_DoomLoop() Line 1170 C++
Steps To Reproduce- Start the demo

zandronum -playdemo 2014.12.19_22.07.43_idl2014a.idl2014alobby_1a.hudtimer_v3bpk3.zandrospree2rc2pk3.odaflagxpk3.ctfcap2c1pk3.cld -file idl2014a.wad idl2014alobby_1a.wad hudtimer_v3b.pk3 zandrospree2rc2.pk3 odaflagx.pk3 ctfcap2c1.pk3

- Do skipmap 1-2 times to get to Map29
- Skip around 3 minutes and 50 seconds
- Wait until crash

For immediate crash:
4 x demo_skiptonextmap
Additional Information'https://www.sendspace.com/file/il49fe [^]'
Attached Filestxt file icon valgrind_2031.txt [^] (13,526 bytes) 2014-12-29 02:28 [Show Content]

- Relationships

-  Notes
User avatar (0011077)
Watermelon (developer)
2014-12-20 18:00

This appears to happen as someone connects. I don't know why it's calling spawnPlayer though. Unless coincidentally someone spawned as someone connects and that causes a problem?
User avatar (0011078)
Watermelon (developer)
2014-12-20 18:49

This does not happen on the demo that I have of the same game at the same time.
User avatar (0011082)
ZzZombo (reporter)
2014-12-22 01:54

Quote from Watermelon
I don't know why it's calling spawnPlayer though.

How so? A player is connected and put into the world, so of course, a player spawning function is called.
User avatar (0011106)
Torr Samaho (administrator)
2014-12-28 18:02

This is really tricky. I can reproduce the crash locally with VC++ in debug mode (and this reveals that pByteStream=0x00000000 is not true, the steam is valid), I can't really see why it crashes yet though. One problem is that the server seems to instruct the client to spawn a morphed spectator. If I fix that, the client crashes when trying to return a flag.
User avatar (0011117)
Edward-san (developer)
2014-12-29 02:29

Per Torr's request, made it run Valgrind on that demo, by using compiled 1.3 (1.4 alpha did not work...). Result (filtered from other messages which are unrelated) is attached.
User avatar (0011118)
Torr Samaho (administrator)
2014-12-29 08:32

When you say 1.3 are you referring to changeset 3e26f5eca13742bcaf1f451dd8d3d01fd05771aa?
User avatar (0011120)
Edward-san (developer)
2014-12-29 09:23

Yes.
User avatar (0011121)
Torr Samaho (administrator)
2014-12-29 12:46

Thanks! With the Valgrind output I could figure out why the client crashed. The crashes should be fixed now (fixed in 69afd5006b32bfcf5b8bfcea342e8c2f63e74b7e). Unfortunately, the demo is still broken: It can't be parsed properly, but it's not apparent why.

Based on what is happening in the demo before the crash, probably somebody can figure out under which circumstances such a parsing problem can be reproduced.
User avatar (0011133)
Edward-san (developer)
2014-12-29 18:20
edited on: 2014-12-29 18:21

I just want to inform you that applying the fix to 1.3 code and running the demo again with Valgrind, I got no errors, just the 'unknown map' message.

User avatar (0011134)
Torr Samaho (administrator)
2014-12-29 19:41

Thanks for checking. This is further evidence that the demo stream itself is broken or parsed improperly.
User avatar (0011152)
Torr Samaho (administrator)
2014-12-31 12:19

Marking this as resolved, since the crashes are fixed. If somebody encounters new problems with demos recorded by 1.4 or 2.0, please open a new ticket.

Issue Community Support
This issue is already marked as resolved.
If you feel that is not the case, please reopen it and explain why.
Supporters: No one explicitly supports this issue yet.
Opponents: No one explicitly opposes this issue yet.

- Issue History
Date Modified Username Field Change
2014-12-20 17:52 Watermelon New Issue
2014-12-20 18:00 Watermelon Note Added: 0011077
2014-12-20 18:12 Watermelon Steps to Reproduce Updated View Revisions
2014-12-20 18:12 Watermelon Additional Information Updated View Revisions
2014-12-20 18:49 Watermelon Note Added: 0011078
2014-12-21 16:57 Watermelon Status new => confirmed
2014-12-22 01:54 ZzZombo Note Added: 0011082
2014-12-28 16:27 Torr Samaho Steps to Reproduce Updated View Revisions
2014-12-28 16:28 Torr Samaho Steps to Reproduce Updated View Revisions
2014-12-28 16:30 Torr Samaho Assigned To => Torr Samaho
2014-12-28 16:30 Torr Samaho Status confirmed => assigned
2014-12-28 18:02 Torr Samaho Note Added: 0011106
2014-12-29 02:28 Edward-san File Added: valgrind_2031.txt
2014-12-29 02:29 Edward-san Note Added: 0011117
2014-12-29 08:32 Torr Samaho Note Added: 0011118
2014-12-29 09:23 Edward-san Note Added: 0011120
2014-12-29 12:46 Torr Samaho Note Added: 0011121
2014-12-29 18:20 Edward-san Note Added: 0011133
2014-12-29 18:21 Edward-san Note Edited: 0011133 View Revisions
2014-12-29 18:21 Edward-san Note Edited: 0011133 View Revisions
2014-12-29 19:41 Torr Samaho Note Added: 0011134
2014-12-31 12:19 Torr Samaho Note Added: 0011152
2014-12-31 12:19 Torr Samaho Status assigned => resolved
2014-12-31 12:19 Torr Samaho Fixed in Version => 1.4
2014-12-31 12:19 Torr Samaho Resolution open => fixed
2018-10-01 00:06 Blzut3 Status resolved => closed






Questions or other issues? Contact Us.

Links


Copyright © 2000 - 2024 MantisBT Team
Powered by Mantis Bugtracker