View Issue Details

IDProjectCategoryView StatusLast Update
0006505The Dark ModDistributionpublic10.04.2024 12:36
ReporterBikerdude Assigned To 
PrioritynormalSeveritynormalReproducibilityalways
Status newResolutionopen 
PlatformPCOSWindowsOS Version10 (23H2)
Product VersionTDM 2.12 
Summary0006505: Crashing on map load: The Painters Wife
DescriptionWhile working on the non-archived version of this mission, 2.12 keeps crashing to desktop with no error.
Steps To Reproduce- run tdm.
- type 'map city' or click on 'start mission'.
- games crashes to desktop with no error.

Additional InformationI have attached a dump file - https://drive.google.com/file/d/1k8frmbFq77d4iUoZIzXvs6Ilu7CxFu7u/view?usp=sharing
TagsNo tags attached.

Activities

Bikerdude

Bikerdude

18.03.2024 20:43

reporter   ~0016573

Untitled.png (4,157 bytes)   
Untitled.png (4,157 bytes)   
Bikerdude

Bikerdude

18.03.2024 20:50

reporter   ~0016574

TheDarkModx64.sln (1,265 bytes)   

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.9.34701.34
MinimumVisualStudioVersion = 10.0.40219.1
Project("{911E67C6-3D85-4FCE-B560-20A9C3E3FF48}") = "TheDarkModx64", "E:\Darkmod\TheDarkModx64.exe", "{2F2A1DAF-BA04-4FD6-A246-49011F2C62B6}"
	ProjectSection(DebuggerProjectSystem) = preProject
		PortSupplier = 00000000-0000-0000-0000-000000000000
		Executable = E:\Darkmod\TheDarkModx64.exe
		RemoteMachine = B1GFR3D
		StartingDirectory = E:\Darkmod
		Environment = Default
		LaunchingEngine = 00000000-0000-0000-0000-000000000000
		UseLegacyDebugEngines = No
		LaunchSQLEngine = No
		AttachLaunchAction = No
		IORedirection = Auto
	EndProjectSection
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Release|x64 = Release|x64
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{2F2A1DAF-BA04-4FD6-A246-49011F2C62B6}.Release|x64.ActiveCfg = Release|x64
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
	GlobalSection(ExtensibilityGlobals) = postSolution
		SolutionGuid = {BE29E492-23A9-4960-AA3F-F5442F7B782C}
	EndGlobalSection
EndGlobal
TheDarkModx64.sln (1,265 bytes)   
Bikerdude

Bikerdude

20.03.2024 15:48

reporter   ~0016576

Im now getting the crash with 2.11a aswell

https://drive.google.com/file/d/1cwgYkXb1L0p2DlylI81199amMTXu23ja/view?usp=sharing
stgatilov

stgatilov

20.03.2024 18:36

administrator   ~0016577

It took me some time to notice the crashdump is here.

Well, I see that the crash happens during loading func_static_335's model "models/darkmod/mechanical/factory_machines/control_junction_switch_off.lwo" for collision.
Perhaps deleting this model will fix the issue.

I'll look in more detail why it crashes: there is some dangling pointer.
Bikerdude

Bikerdude

20.03.2024 20:24

reporter   ~0016578

That model has no collection mesh, its a DR exported model. The original was "models/darkmod/mechanical/factory_machines/control_junction_sect_003.lwo"

Replacing with original models -
- 2.12 will still crash on map load.
- 2.11a I was able to do repeated dmap/map cycles (sp dmap/map - close & open tdm, dmap/map - close and reopen, rince and repeat etc). with both the old and replacement models.

So I dont think its this model specifically.
Untitled.jpg (236,173 bytes)   
Untitled.jpg (236,173 bytes)   
Bikerdude

Bikerdude

20.03.2024 20:37

reporter   ~0016579

And just to rules faulty RAM in my PC, I have also done a complete single pass in memtestX86 with no errors found.
Bikerdude

Bikerdude

20.03.2024 21:03

reporter   ~0016580

Checking Event viewer, Im getting the same Exception code: 0xc0000005 each time. All the search results are all suggesting a number of things, but the consensure is a memory problem. But as I have done a single pass of MemTestX86, Im not leaning that way atm.

So in the meantime I will have to dig into that Exception code and see if ANY of the perported fixes will do anything.
stgatilov

stgatilov

21.03.2024 06:41

administrator   ~0016581

That crash in 2.11a happens in the same place, but the entity+model is different.
Bikerdude

Bikerdude

22.03.2024 11:25

reporter   ~0016582

Ive seen this now aswell a few times so figured I would add this to the tracker.

If I leave TDM running in the background with a TPW loaded, I am also seeing the game eventually crashing also, see link to dump file below.

- https://drive.google.com/file/d/1VCHo9Y__kNDfDQppcuQT6jsuykAxJXHj/view?usp=sharing
Bikerdude

Bikerdude

23.03.2024 22:31

reporter   ~0016584

On a fresh/vanilla install of windows 11, crash appear to have been resolved. But as a result of Win11 'still' being a steaming pos, I did a fresh install of windows 10. And the crashing is back -

https://drive.google.com/file/d/1zdYFO6X6vWI35WPL07a-8QMLTOzKmf1I/view?usp=sharing
stgatilov

stgatilov

24.03.2024 15:03

administrator   ~0016588

The latest crash is in the same place in same circumstances:
     TheDarkModx64.exe!idCollisionModelManagerLocal::TryMergePolygons(cm_model_s * model, cm_polygon_s * p1, cm_polygon_s * p2) Line 1302 C++
     [Inline Frame] TheDarkModx64.exe!idCollisionModelManagerLocal::MergePolygonWithTreePolygons(cm_model_s * node, cm_node_s *) Line 1484 C++
     TheDarkModx64.exe!idCollisionModelManagerLocal::MergeTreePolygons(cm_model_s * model, cm_node_s * node) Line 1547 C++
     TheDarkModx64.exe!idCollisionModelManagerLocal::MergeTreePolygons(cm_model_s * model, cm_node_s * node) Line 1558 C++
     TheDarkModx64.exe!idCollisionModelManagerLocal::MergeTreePolygons(cm_model_s * model, cm_node_s * node) Line 1558 C++
     TheDarkModx64.exe!idCollisionModelManagerLocal::MergeTreePolygons(cm_model_s * model, cm_node_s * node) Line 1558 C++
     TheDarkModx64.exe!idCollisionModelManagerLocal::MergeTreePolygons(cm_model_s * model, cm_node_s * node) Line 1558 C++
     TheDarkModx64.exe!idCollisionModelManagerLocal::MergeTreePolygons(cm_model_s * model, cm_node_s * node) Line 1558 C++
     TheDarkModx64.exe!idCollisionModelManagerLocal::FinishModel(cm_model_s * model) Line 2945 C++
     TheDarkModx64.exe!idCollisionModelManagerLocal::LoadRenderModel(const char * fileName, const idDeclSkin * skin) Line 3106 C++
     TheDarkModx64.exe!idCollisionModelManagerLocal::LoadModel(const char * modelName, const bool precache, const idDeclSkin * skin) Line 3605 C++
     TheDarkModx64.exe!idEntity::InitDefaultPhysics(const idVec3 & origin, const idMat3 & axis) Line 5279 C++
> TheDarkModx64.exe!idEntity::Spawn() Line 1325 C++
The second pointer "p2" is wrong, it is not even aligned properly:
    if ( p1->material != p2->material ) {
        return NULL;
    }

Now it is func_static_36.
stgatilov

stgatilov

24.03.2024 15:13

administrator   ~0016589

And the crashdump during gameplay is also inside collisionmodel:
> TheDarkModx64.exe!idCollisionModelManagerLocal::TranslateTrmThroughPolygon(cm_traceWork_s * tw, cm_polygon_s * p) Line 627 C++
     [Inline Frame] TheDarkModx64.exe!idCollisionModelManagerLocal::TraceTrmThroughNode(cm_traceWork_s *) Line 82 C++
     TheDarkModx64.exe!idCollisionModelManagerLocal::TraceThroughAxialBSPTree_r(cm_traceWork_s * tw, cm_node_s * node, float p1f, float p2f, idVec3 & p1, idVec3 & p2) Line 119 C++
     TheDarkModx64.exe!idCollisionModelManagerLocal::TraceThroughModel(cm_traceWork_s * tw) Line 214 C++
     TheDarkModx64.exe!idCollisionModelManagerLocal::Translation(trace_s * results, const idVec3 & start, const idVec3 & end, const idTraceModel * trm, const idMat3 & trmAxis, int contentMask, int model, const idVec3 & modelOrigin, const idMat3 & modelAxis) Line 1059 C++
     TheDarkModx64.exe!idClip::Translation(trace_s & results, const idVec3 & start, const idVec3 & end, const idClipModel * mdl, const idMat3 & trmAxis, int contentMask, const idEntity * passEntity, bool ignoreWorld) Line 1078 C++
     TheDarkModx64.exe!idPhysics_Monster::SlideMove(idVec3 & start, idVec3 & velocity, const idVec3 & delta) Line 130 C++
     TheDarkModx64.exe!idPhysics_Monster::StepMove(idVec3 & start, idVec3 & velocity, const idVec3 & delta) Line 221 C++
     TheDarkModx64.exe!idPhysics_Monster::Evaluate(int timeStepMSec, int endTimeMSec) Line 611 C++
     TheDarkModx64.exe!idEntity::RunPhysics() Line 5440 C++
     TheDarkModx64.exe!idAI::AnimMove() Line 6041 C++
     TheDarkModx64.exe!idAI::Think() Line 2597 C++
Happened on func_static_4085.

Here we have a polygon which looks fine, except that its numEdges is -1066139648 instead of 3.

It looks like something is corrupting memory.
Bikerdude

Bikerdude

10.04.2024 12:36

reporter   ~0016627

I dont know what has changed for 213, but since moving to the latest SVN (dev17008-10685 ), the crashing is not happening anywhere near as often. Its basically back to 211 levels, where TDM will only crash if I have done a number of consecutive dmap/map cycles, maxing out the available assigned memory.

Issue History

Date Modified Username Field Change
18.03.2024 20:34 Bikerdude New Issue
18.03.2024 20:43 Bikerdude Note Added: 0016573
18.03.2024 20:43 Bikerdude File Added: Untitled.png
18.03.2024 20:50 Bikerdude Note Added: 0016574
18.03.2024 20:50 Bikerdude File Added: TheDarkModx64.sln
20.03.2024 15:48 Bikerdude Note Added: 0016576
20.03.2024 18:36 stgatilov Note Added: 0016577
20.03.2024 20:24 Bikerdude Note Added: 0016578
20.03.2024 20:24 Bikerdude File Added: Untitled.jpg
20.03.2024 20:37 Bikerdude Note Added: 0016579
20.03.2024 21:03 Bikerdude Note Added: 0016580
21.03.2024 06:41 stgatilov Note Added: 0016581
22.03.2024 11:26 Bikerdude Note Added: 0016582
23.03.2024 22:31 Bikerdude Note Added: 0016584
24.03.2024 15:03 stgatilov Note Added: 0016588
24.03.2024 15:13 stgatilov Note Added: 0016589
10.04.2024 12:36 Bikerdude Note Added: 0016627