View Issue Details

IDProjectCategoryView StatusLast Update
0005673The Dark ModCodingpublic18.07.2021 09:02
Reporterduzenko Assigned Tocabalistic  
PrioritynormalSeverityminorReproducibilityalways
Status assignedResolutionopen 
PlatformPCOSWindowsOS Version10
Product VersionSVN 
Target 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

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 View Revisions
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