Jump to content
The Dark Mod Forums

seeStakeoutsignal caught: Segmentation fault


Recommended Posts

Thank you!

Hmm...

It seems that you replicated this on 2.09 beta 2.

You should use the new "installer" and choose "custom version" to select the most recent beta ( 2.09 beta 4 )

I will try regressing to beta 2 this evening so I can verify further.

  • Sad 1

Please visit TDM's IndieDB site and help promote the mod:

 

http://www.indiedb.com/mods/the-dark-mod

 

(Yeah, shameless promotion... but traffic is traffic folks...)

Link to post
Share on other sites

@nbohr1more , why don't you downgrade to beta209-02 yourself? 😃
I'm uploading all PDB files to google drive.

I have reproduced some sort of crash using the provided savegame.

I loaded the quicksave before stairs, and went down. Nothing happened.
I left the game and went to take shower 🤪 when I returned, it has already crashed. No idea what happened and how long it took.
It happened to me on Windows.
 

Here is the stacktrace:

>    TheDarkModx64.exe!ai::State::OnVisualStimBlood(idEntity * stimSource, idAI * owner) Line 3575    C++
     TheDarkModx64.exe!ai::State::DelayedVisualStim(idEntity * stimSource, idAI * owner) Line 1161    C++
     TheDarkModx64.exe!idClass::ProcessEventArgPtr(const idEventDef * ev, __int64 * data) Line 1047    C++
     TheDarkModx64.exe!idEvent::ServiceEvents() Line 598    C++
     TheDarkModx64.exe!idGameLocal::RunFrame(const usercmd_t * clientCmds, int timestepMs) Line 3392    C++
     TheDarkModx64.exe!idSessionLocal::RunGameTic(int timestepMs) Line 3070    C++
     [Inline Frame] TheDarkModx64.exe!idSessionLocal::RunGameTics() Line 3112    C++
     TheDarkModx64.exe!idSessionLocal::FrontendThreadFunction() Line 3158    C++
     [Inline Frame] TheDarkModx64.exe!idSessionLocal::StartFrontendThread::__l2::<lambda_6b7828b12cf509cf76fb3406570c8cd1>::operator()(void *) Line 3252    C++
     TheDarkModx64.exe!<lambda_6b7828b12cf509cf76fb3406570c8cd1>::<lambda_invoker_cdecl>(void * x) Line 3254    C++
  • owner is "watchGuard4"
  • stimSource is "CBloodMarker_atdm:blood_marker_43"

When I look at stimSource, its _spilledBy member is pointing to some location, which is apparently deleted.

To be honest, I am quite surprise at the amount of game code which uses raw long-living entity pointers without any care that it can be deleted. EntityPtr should be used almost everywhere for this purpose.

UPDATE: Yes, reproduced it from the first take. Waited in shadows immediately after the stairs for at most 30 seconds. Same stack trace.

Link to post
Share on other sites

I think here is what happened:

  1. @JBERT hurt the guy named "Mozir" enough to generate a blood spill. (UPDATE: confirmed that this blood spill was Mozir's).
  2. When you go down the stairs, "spawnGuards2" script function is called, which removes "Mozir" entity.
  3. Something happens to the blood spill (e.g. it gets noticed by someone), and the game crashes on dangling pointer.

@JBERT, did this issue blocked you from finishing the mission?
Do you need workaround to let you proceed from this save?

  • Like 1
Link to post
Share on other sites
31 minutes ago, stgatilov said:

I think here is what happened:

  1. @JBERT hurt the guy named "Mozir" enough to generate a blood spill. (UPDATE: confirmed that this blood spill was Mozir's).
  2. When you go down the stairs, "spawnGuards2" script function is called, which removes "Mozir" entity.
  3. Something happens to the blood spill (e.g. it gets noticed by someone), and the game crashes on dangling pointer.

@JBERT, did this issue blocked you from finishing the mission?
Do you need workaround to let you proceed from this save?

I cannot finish this mission as TDM aborts on segfault. If you have a workaround, I can try it.

Link to post
Share on other sites
15 hours ago, JBERT said:

I cannot finish this mission as TDM aborts on segfault. If you have a workaround, I can try it.

You can download updated save from here.

The easiest way to fix the problem is to open game console and execute "remove CBloodMarker_atdm:blood_marker_43".
It would remove the blood entity from the game, so it won't be able to cause crash in future.

Link to post
Share on other sites

I can reproduce the issue perfectly from the savegame if I start TDM not from VC.
However, I cannot reproduce it from fresh start. So I can try to fix it, but I won't be able to verify that the fix is working (raw object pointer and EntityPtr are represented differently in the save file).

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...