View Issue Details

IDProjectCategoryView StatusLast Update
0005065The Dark ModCodingpublic29.12.2019 12:31
Reportergrayman Assigned Toduzenko  
Status assignedResolutionopen 
Product VersionSVN 
Target VersionTDM 2.08Fixed in Version 
Summary0005065: target_endlevel causes a crash
DescriptionI'm trying to transition from one map to another using the target_endlevel entity.

It works in 2.07, but crashes in the latest SVN (15740/8423).
Steps To ReproduceUse the attached pk4 to test.

The player starts behind two friendly AI (

Walk around them to the door and frob it.

The game should switch to a different map (

In 2.07, this works fine. In SVN, the crash occurs before the second map appears.
TagsNo tags attached.




28.11.2019 16:35


switchmaps.pk4 (24,803 bytes)


08.12.2019 04:27

developer   ~0011898

I checked it some time ago, and as far as I remember, there crash was in VertexCache.
Assigned it to Duzenko, since he was the only one to change it after 2.07.


29.12.2019 09:14

developer   ~0011958

With com_smp 1 I get a hang in frontend wait
With com_smp 0 I get a crash with stack trace
> TheDarkModx64NoTools.exe!R_ReallyFreeStaticTriSurf(srfTriangles_s * tri) Line 377 C++
     TheDarkModx64NoTools.exe!R_FreeDeferredTriSurfs(frameData_t * frame) Line 471 C++
     TheDarkModx64NoTools.exe!R_ToggleSmpFrame() Line 187 C++
     TheDarkModx64NoTools.exe!idRenderSystemLocal::EndFrame(int * frontEndMsec, int * backEndMsec) Line 688 C++
     TheDarkModx64NoTools.exe!idSessionLocal::UpdateScreen(bool outOfSequence) Line 2740 C++
     TheDarkModx64NoTools.exe!idCommonLocal::Frame() Line 2512 C++
Both ways I'm not sure on a fix
Am I correct that fm's like NHAT should be broken now?


29.12.2019 10:48

administrator   ~0011965

No, NHAT is three different missions. Each mission knows nothing about the next.

I checked released missions, and the only one using target_endlevel is the "Sound Trainer". The first map includes helmet-less guards to test your blackjacking skills. Next to your starting position, a lever sends you to the second map, where you can test with helmeted guards.

That mission works fine in 2.07, but crashes with the current SVN, so it's a second data point.


29.12.2019 11:36

developer   ~0011969

If it crashes in "ReallyFreeStaticTriSurf" in one of the allocators, it may not have anything to do with the VertexCache at all, but potentially your threading changes in the frontend. I remember vaguely that in my own attempts to thread the frontend, I had removed/replaced all of these allocators because they were inherently not thread-safe. Of course, since you probably used a different approach, my findings from way back then may not apply, but it's just an idea. Either way, I don't think I can help you with this.


29.12.2019 11:50

developer   ~0011971

I think by default all parallel stuff is disabled. Especially with com_smp 0. Let's fix it first.


29.12.2019 12:31

developer   ~0011974

The revision 8477 seems to resolve the single thread case but I still think @cabalistic needs to look at frontend sync when changing maps on the fly

Issue History

Date Modified Username Field Change
28.11.2019 16:35 grayman New Issue
28.11.2019 16:35 grayman File Added: switchmaps.pk4
28.11.2019 16:36 grayman Description Updated View Revisions
28.11.2019 16:36 grayman Steps to Reproduce Updated View Revisions
05.12.2019 21:54 grayman Severity normal => crash
08.12.2019 04:23 stgatilov Assigned To => duzenko
08.12.2019 04:23 stgatilov Status new => assigned
08.12.2019 04:27 stgatilov Note Added: 0011898
29.12.2019 09:14 duzenko Note Added: 0011958
29.12.2019 09:16 duzenko Assigned To duzenko => cabalistic
29.12.2019 10:48 grayman Note Added: 0011965
29.12.2019 11:36 cabalistic Note Added: 0011969
29.12.2019 11:37 cabalistic Assigned To cabalistic => duzenko
29.12.2019 11:50 stgatilov Note Added: 0011971
29.12.2019 12:31 duzenko Note Added: 0011974