View Issue Details

IDProjectCategoryView StatusLast Update
0005673The Dark ModCodingpublic08.08.2021 14:20
Reporterduzenko Assigned Tocabalistic  
PrioritynormalSeverityminorReproducibilityalways
Status assignedResolutionfixed 
PlatformPCOSWindowsOS Version10
Product VersionSVN 
Target VersionTDM 2.10Fixed in VersionTDM 2.10 
Summary0005673: Crash with r_showViewEntities and LOD
DescriptionCrash in RB_ShowViewEntitys when LOD model changes/hides
Steps To ReproduceStart any test map from https://forums.thedarkmod.com/index.php?/topic/17283-hide_distance-broken-again/
Set r_showViewEntities 1
Walk around the map
Additional InformationStack trace

     dddddddd() Unknown
     [Frames below may be incorrect and/or missing] Unknown
> TheDarkModNoTools.exe!R_IssueEntityDefCallback(idRenderEntityLocal * def=0x277b5560) Line 970 C++
     TheDarkModNoTools.exe!R_EntityDefDynamicModel(idRenderEntityLocal * def=0x277b5560) Line 1007 C++
     TheDarkModNoTools.exe!RB_ShowViewEntitys(viewEntity_s * vModels=0x20b55d80) Line 921 C++
     TheDarkModNoTools.exe!RB_RenderDebugTools(drawSurf_s * * drawSurfs=0x20b5f380, int numDrawSurfs=40) Line 2469 C++
     TheDarkModNoTools.exe!RB_STD_DrawView() Line 1109 C++
     TheDarkModNoTools.exe!RB_DrawView() Line 1117 C++
     TheDarkModNoTools.exe!RB_ExecuteBackEndCommands(const emptyCommand_t * cmds=0x20b6f380) Line 839 C++
     TheDarkModNoTools.exe!R_IssueRenderCommands(frameData_t * frameData=0x03092b0c) Line 142 C++
     TheDarkModNoTools.exe!idRenderSystemLocal::EndFrame(int * frontEndMsec=0x00000000, int * backEndMsec=0x00000000) Line 638 C++
     TheDarkModNoTools.exe!idSessionLocal::UpdateScreen(bool outOfSequence=false) Line 2745 C++
     TheDarkModNoTools.exe!idCommonLocal::Frame() Line 2553 C++
     TheDarkModNoTools.exe!WinMain(HINSTANCE__ * hInstance=0x00730000, HINSTANCE__ * hPrevInstance=0x00000000, char * lpCmdLine=0x05fe7253, int nCmdShow=10) Line 1221 C++
     [External Code]
TagsNo tags attached.

Activities

duzenko

duzenko

18.07.2021 08:28

developer   ~0014170

With some added debug code I was able to find the stacktrace where entity ref gets deleted
It's still puzzling why the viewDef keeps a pointer to it, considering that they get rebuilt every frame
image.png (28,800 bytes)   
image.png (28,800 bytes)   
duzenko

duzenko

18.07.2021 08:54

developer   ~0014171

Next stop in R_SetEntityDefViewEntity
Enumerating each added viewEntity_t after the delete above only show valid entity ref's
However RB_ShowViewEntitys receives a chain of viewEntity_t with an invalid pointer between entities 10 and 15
At this point I start suspecting the backend is not rendering the actually last frame data available, even with SMP off
duzenko

duzenko

18.07.2021 09:02

developer   ~0014172

Assigning to @cabalistic as related to frameData management
cabalistic

cabalistic

01.08.2021 10:34

developer   ~0014226

You're right in that the backend was always one frame behind, independent of whether SMP is active or not. I changed that with 9527 and can't reproduce the crash anymore, so I'm hoping that's all there is to it.
duzenko

duzenko

01.08.2021 13:00

developer   ~0014228

Can't repeat the crash any more on the current svn
stgatilov

stgatilov

08.08.2021 14:20

administrator   ~0014260

I had to revert rev 9527 because it broke mission success screen.
Instead of normal background and the skull, the last in-game frame is simply stuck on-screen when mission ends.
Perhaps mission failure screen has the same problem --- did not check.

Feel free to restore the original fix, but please fix and test mission success (use tdm_end_mission), mission failure, save/load, i.e. some typical switches =)

Issue History

Date Modified Username Field Change
18.07.2021 08:26 duzenko New Issue
18.07.2021 08:28 duzenko Note Added: 0014170
18.07.2021 08:28 duzenko File Added: image.png
18.07.2021 08:44 duzenko Description Updated
18.07.2021 08:54 duzenko Note Added: 0014171
18.07.2021 09:02 duzenko Note Added: 0014172
18.07.2021 09:02 duzenko Assigned To => cabalistic
18.07.2021 09:02 duzenko Status new => assigned
01.08.2021 10:34 cabalistic Status assigned => feedback
01.08.2021 10:34 cabalistic Note Added: 0014226
01.08.2021 13:00 duzenko Status feedback => closed
01.08.2021 13:00 duzenko Resolution open => fixed
01.08.2021 13:00 duzenko Note Added: 0014228
05.08.2021 15:16 duzenko Status closed => feedback
05.08.2021 15:16 duzenko Resolution fixed => reopened
05.08.2021 15:16 duzenko Status feedback => resolved
05.08.2021 15:17 duzenko Resolution reopened => fixed
05.08.2021 15:25 nbohr1more Fixed in Version => TDM 2.10
08.08.2021 14:20 stgatilov Status resolved => assigned
08.08.2021 14:20 stgatilov Note Added: 0014260