View Issue Details

IDProjectCategoryView StatusLast Update
0005553The Dark ModGraphicspublic11.01.2023 00:17
Reportersneaker Assigned Tostgatilov  
PrioritynormalSeveritynormalReproducibilityalways
Status resolvedResolutionfixed 
Product VersionSVN 
Target VersionTDM 2.11Fixed in VersionTDM 2.11 
Summary0005553: looking in keyhole crash
DescriptionOn linux (fedora 32), in fm Now & Then, looking into a keyhole causes a seg fault. I'll attach a backtrace...
Steps To Reproducelean in and look into a keyhole
TagsNo tags attached.

Relationships

related to 0005295 closedstgatilov Func_Peek crash for 2.07 & 2.08 in 32-bit TDM 
related to 0004882 resolvedgrayman When a remote listener is active, allow the player to still hear the sounds around him 

Activities

sneaker

sneaker

28.02.2021 15:46

reporter  

crash.txt (5,140 bytes)   
Thread 14 "thedarkmod.x64" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffc8a7c700 (LWP 2626)]
0x000000000099d677 in idInterpreter::EnterFunctionVarArgVN (
    this=this@entry=0x7fff9549ec5c, func=0x1cc5618 <gameLocal+705848>, 
    clearStack=clearStack@entry=true, fmt=0x1021421 "v", 

    args=args@entry=0x7fffc8a6a688Missing separate debuginfos, use: dnf debuginfo-install alsa-lib-1.2.3.2-1.fc32.x86_64 alsa-plugins-pulseaudio-1.2.2-1.fc32.x86_64 dbus-libs-1.12.20-1.fc32.x86_64 elfutils-libelf-0.182-1.fc32.x86_64 expat-2.2.8-2.fc32.x86_64 gsm-1.0.18-6.fc32.x86_64 libICE-1.0.10-3.fc32.x86_64 libSM-1.2.3-5.fc32.x86_64 libX11-1.6.12-1.fc32.x86_64 libX11-xcb-1.6.12-1.fc32.x86_64 libXau-1.0.9-3.fc32.x86_64 libXcursor-1.2.0-2.fc32.x86_64 libXdamage-1.1.5-2.fc32.x86_64 libXext-1.3.4-3.fc32.x86_64 libXfixes-5.0.3-11.fc32.x86_64 libXi-1.7.10-3.fc32.x86_64 libXinerama-1.1.4-5.fc32.x86_64 libXrandr-1.5.2-3.fc32.x86_64 libXrender-0.9.10-11.fc32.x86_64 libXtst-1.2.3-11.fc32.x86_64 libXxf86vm-1.1.4-13.fc32.x86_64 libasyncns-0.8-18.fc32.x86_64 libcap-2.26-7.fc32.x86_64 libdrm-2.4.102-1.fc32.x86_64 libedit-3.1-32.20191231cvs.fc32.x86_64 libffi-3.1-24.fc32.x86_64 libgcc-10.2.1-9.fc32.x86_64 libgcrypt-1.8.5-3.fc32.x86_64 libglvnd-1.3.2-1.fc32.x86_64 libglvnd-glx-1.3.2-1.fc32.x86_64 libgpg-error-1.36-3.fc32.x86_64 libsndfile-1.0.31-1.fc32.x86_64 libstdc++-10.2.1-9.fc32.x86_64 libuuid-2.35.2-1.fc32.x86_64 libxcb-1.13.1-4.fc32.x86_64 libxshmfence-1.3-6.fc32.x86_64 llvm-libs-10.0.1-4.fc32.x86_64 lz4-libs-1.9.1-2.fc32.x86_64 mesa-dri-drivers-20.2.3-1.fc32.x86_64 mesa-libGL-20.2.3-1.fc32.x86_64 mesa-libglapi-20.2.3-1.fc32.x86_64 pcre2-10.36-3.fc32.x86_64 pulseaudio-libs-14.0-1.fc32.x86_64 sssd-client-2.4.0-1.fc32.x86_64 systemd-libs-245.9-1.fc32.x86_64 xz-libs-5.2.5-1.fc32.x86_64
--Type <RET> for more, q to quit, c to continue without paging--c
) at /xtra/darkmod-svn/trunk/game/script/Script_Interpreter.cpp:2017
2017					Push(*reinterpret_cast<int *>(&v->x));
(gdb) bt
#0  0x000000000099d677 in idInterpreter::EnterFunctionVarArgVN (
    this=this@entry=0x7fff9549ec5c, func=0x1cc5618 <gameLocal+705848>, 
    clearStack=clearStack@entry=true, fmt=0x1021421 "v", 
    args=args@entry=0x7fffc8a6a688)
    at /xtra/darkmod-svn/trunk/game/script/Script_Interpreter.cpp:2017
#1  0x00000000009a986d in idThread::CallFunctionArgs (this=this@entry=0x7fff9549ec44, 
    func=func@entry=0x1cc5618 <gameLocal+705848>, clearStack=clearStack@entry=true, 
    fmt=fmt@entry=0x102141f "eev")
    at /xtra/darkmod-svn/trunk/game/script/Script_Thread.cpp:2274
#2  0x000000000096d958 in idPhysics_Player::ProcessPeek (this=<optimized out>, 
    peekEntity=0x315e5744, door=0xef598d4, normal=...)
    at /xtra/darkmod-svn/trunk/game/physics/Physics_Player.cpp:5271
#3  0x000000000096fffc in idPhysics_Player::UpdateLeanAngle (
    this=this@entry=0x33dcf534, deltaLeanTiltDegrees=<optimized out>, 
    deltaLeanStretch=<optimized out>)
    at /xtra/darkmod-svn/trunk/idlib/../game/Game_local.h:1189
#4  0x00000000009708f5 in idPhysics_Player::LeanMove (this=this@entry=0x33dcf534)
    at /xtra/darkmod-svn/trunk/game/physics/Physics_Player.cpp:5540
#5  0x000000000097580a in idPhysics_Player::MovePlayer (this=this@entry=0x33dcf534, 
    msec=msec@entry=16)
    at /xtra/darkmod-svn/trunk/game/physics/Physics_Player.cpp:2805
#6  0x0000000000975df3 in idPhysics_Player::Evaluate (this=0x33dcf534, 
    timeStepMSec=16, endTimeMSec=<optimized out>)
    at /xtra/darkmod-svn/trunk/game/physics/Physics_Player.cpp:3567
--Type <RET> for more, q to quit, c to continue without paging--
#7  0x0000000000555417 in idEntity::RunPhysics (this=0x33dcd154)
    at /xtra/darkmod-svn/trunk/game/Entity.cpp:6399
#8  idEntity::RunPhysics (this=this@entry=0x33dcd154)
    at /xtra/darkmod-svn/trunk/game/Entity.cpp:6348
#9  0x0000000000616614 in idPlayer::Move (this=0x33dcd154)
    at /xtra/darkmod-svn/trunk/game/Player.cpp:6644
#10 0x0000000000629b77 in idPlayer::Think (this=0x33dcd154)
    at /xtra/darkmod-svn/trunk/game/Player.cpp:7298
#11 0x00000000005a7634 in idGameLocal::RunFrame (this=0x1c190e0 <gameLocal>, 
    clientCmds=<optimized out>, timestepMs=<optimized out>)
    at /xtra/darkmod-svn/trunk/game/Game_local.cpp:3348
#12 0x00000000004ead07 in idSessionLocal::RunGameTic (this=0x13b15e0 <sessLocal>, 
    timestepMs=16) at /xtra/darkmod-svn/trunk/framework/Session.cpp:3054
#13 0x00000000004ecc11 in idSessionLocal::RunGameTics (
    this=this@entry=0x13b15e0 <sessLocal>)
    at /xtra/darkmod-svn/trunk/framework/Session.cpp:3097
#14 0x00000000004ee2db in idSessionLocal::FrontendThreadFunction (
    this=0x13b15e0 <sessLocal>) at /xtra/darkmod-svn/trunk/framework/Session.cpp:3143
#15 0x00000000004ee459 in operator() (x=<optimized out>, __closure=0x0)
    at /xtra/darkmod-svn/trunk/framework/Session.cpp:3237
#16 _FUN () at /xtra/darkmod-svn/trunk/framework/Session.cpp:3239
#17 0x00007ffff7f79432 in start_thread () from /lib64/libpthread.so.0
#18 0x00007ffff79eb6d3 in clone () from /lib64/libc.so.6
(gdb) quit
A debugging session is active.

	Inferior 1 [process 2608] will be killed.

Quit anyway? (y or n) y

crash.txt (5,140 bytes)   
VanishedOne

VanishedOne

12.03.2022 00:34

reporter   ~0014762

I can also confirm this on 64-bit Linux Mint (encountered while playing Written In Stone).
Daft Mugi

Daft Mugi

09.12.2022 16:31

developer   ~0015540

This crash still happens with 2.11 beta 1.
Daft Mugi

Daft Mugi

12.12.2022 22:12

developer   ~0015555

I tried to debug this today.

When I try to printf the values of v->x, v->y, v->z in the function EnterFunctionVarArgVN():game/script/Script_Interpreter.cpp:2017, it crashes.

Really odd. It's like the `va_list args` argument passed into the function is corrupt.

Any ideas?
Daft Mugi

Daft Mugi

14.12.2022 22:06

developer   ~0015570

@nbohr1more: Can this at least be looked at with a potential fix included in 2.11? It's always reproducible and quite easy to accidentally trigger the crash.

I wish my C++ debugging skills were better, so I could potentially fix this. I code in other languages all day and don't have a good workflow yet for C++ debugging.

I'm hoping it's something simple to fix for someone who deals with C++ mostly. If this issue turns out to be obtuse, then bumping it to 2.12 makes sense.
nbohr1more

nbohr1more

15.12.2022 03:54

developer   ~0015571

Not sure but I wonder if adding va_start to the switch cases might prevent the bad data?
stgatilov

stgatilov

08.01.2023 21:58

administrator   ~0015735

I'm trying to understand what is "look into keyhole".

Only recently I learned that if I lean onto a door sideways, then I can hear what happens inside.
But looking into keyhole?
Can someone explain exactly how to do this?
Which FM, which door, which keys on default bindings?
Daft Mugi

Daft Mugi

08.01.2023 22:54

developer   ~0015736

In "Written in Stone", there's a door with a keyhole at 1274.99 -2536.16 421.25.
Lean forward into the keyhole to peek.
I've attached a screenshot with the keyhole circled.

The mod linked below might use the same peek functionality except for every door. Not sure. It has some screenshots, though.
https://forums.thedarkmod.com/index.php?/topic/21688-peek-through-almost-every-door/
stgatilov

stgatilov

09.01.2023 20:51

administrator   ~0015738

I cannot even start this mission on Linux build.
It crashes during loading.
Moreover, if I run it under gdb, I get the following:
  Program terminated with signal SIGKILL, Killed.

So the question for Linux lovers: how can I break at the moment when the action that result in SIGKILL happens?
MirceaKitsune

MirceaKitsune

10.01.2023 00:39

reporter   ~0015740

I use gdb on rare occasions and often forget how it works myself. I know you first give it the file, use the "run" command, then once the crash happens using "bt" should produce a backtrace and show exactly where it occurred. Hope I didn't misremember that and if not hope it helps.
nbohr1more

nbohr1more

10.01.2023 01:35

developer   ~0015741

Last edited: 10.01.2023 02:03

From the documentation I see, SIGKILL cannot be caught by gdb.
The only way to evaluate SIGKILL is to examine the kernel logs.

Here is my gdb replication result:

Thread 1 "thedarkmod.x64" received signal SIGSEGV, Segmentation fault.
0x0000000000b7656a in ?? ()
(gdb) bt
#0 0x0000000000b7656a in ?? ()
0000001 0x0000000000b8aa3c in ?? ()
0000002 0x0000000000b36f78 in ?? ()
0000003 0x0000000000b3a889 in ?? ()
0000004 0x0000000000b3af9b in ?? ()
0000005 0x0000000000b407e7 in ?? ()
0000006 0x0000000000b40f0a in ?? ()
0000007 0x00000000005911bd in ?? ()
#8 0x0000000000679ee1 in ?? ()
0000009 0x000000000068fdee in ?? ()
0000010 0x00000000005ea4ef in ?? ()
0000011 0x000000000050ed61 in ?? ()
0000012 0x000000000050ea0f in ?? ()
0000013 0x000000000080c273 in ?? ()
0000014 0x0000000000508142 in ?? ()
0000015 0x00000000004b3e1e in ?? ()
0000016 0x0000000000476a2d in ?? ()
0000017 0x00007ffff6f0ac87 in __libc_start_main (main=0x4769e0, argc=1,
    argv=0x7fffffffe018, init=<optimized out>, fini=<optimized out>,
    rtld_fini=<optimized out>, stack_end=0x7fffffffe008)
    at ../csu/libc-start.c:310
0000018 0x000000000047ad99 in ?? ()

I need to build a debug build I think...
Daft Mugi

Daft Mugi

10.01.2023 02:29

developer   ~0015742

Thank you all for looking into this. =)
Sounds like we all need to find a good C++ debugging setup on Linux.

After reading AluminiumHaste's posts on the forum,
it seems that the keyhole peek feature needs some more work in general.

For 2.11 release, maybe a simple, temporary fix for Linux would be to ignore func_peek.
That would avoid the crash until the root cause is found,
and it would at least provide a better experience for the player in the meantime.

I've attached a patch that disables peek on Linux.
(Maybe there's a better way to disable it. This is working for me, though.)
r10238-disable-peek-on-linux.diff (668 bytes)   
diff --git game/physics/Physics_Player.cpp game/physics/Physics_Player.cpp
index 0377084..3038e17 100644
--- game/physics/Physics_Player.cpp
+++ game/physics/Physics_Player.cpp
@@ -5266,6 +5266,13 @@ idVec3 idPhysics_Player::GetViewLeanTranslation()
 
 void idPhysics_Player::ProcessPeek(idEntity* peekEntity, idEntity* door, idVec3 normal) // grayman #4882
 {
+	// TODO: Fix func_peek on Linux.
+	//   func_peek is crashing on Linux for some unknown reason.
+	//   Disable for now, so players at least have a better experience.
+	#ifdef __linux__
+	return;
+	#endif
+
 	const function_t* func = gameLocal.program.FindFunction("peekThread");
 	if ( func != NULL )
 	{
Daft Mugi

Daft Mugi

10.01.2023 04:42

developer   ~0015743

@nbohr1more: Please let me know if you get a debug build working on Linux.

I wasn't able to get a debug build working at all and didn't spend time troubleshooting why.
nbohr1more

nbohr1more

10.01.2023 05:38

developer   ~0015744

Last edited: 10.01.2023 05:39

I have attached a backtrace made with gdb run against a compile of the latest SVN release ( debug build )
Latest_SVN_debug_trace.txt (3,818 bytes)   
--Type <RET> for more, q to quit, c to continue without paging--RET

Thread 1 "thedarkmod.x64" received signal SIGSEGV, Segmentation fault.
idInterpreter::EnterFunctionVarArgVN (this=0x7fff41602184, 
    func=0x7ffff7f62218, clearStack=true, fmt=0x139fc82 "v", 
    args=0x7fffffffcbc0)
    at /home/user/tdm_src/new/darkmod_src/game/script/Script_Interpreter.cpp:2017
2017					Push(*reinterpret_cast<int *>(&v->x));
(gdb) bt
#0  idInterpreter::EnterFunctionVarArgVN (this=0x7fff41602184, 
    func=0x7ffff7f62218, clearStack=true, fmt=0x139fc82 "v", 
    args=0x7fffffffcbc0)
    at /home/user/tdm_src/new/darkmod_src/game/script/Script_Interpreter.cpp:2017
#1  0x0000000000b49a1d in idThread::CallFunctionArgs (this=0x7fff41602154, 
    func=0x7ffff7f62218, clearStack=true, fmt=0x139fc80 "eev")
    at /home/user/tdm_src/new/darkmod_src/game/script/Script_Thread.cpp:2395
#2  0x0000000000b0b042 in idPhysics_Player::ProcessPeek (this=0x7fff4dd2a694, 
    peekEntity=0x2b0d1534, door=0x277e1c64, normal=...)
    at /home/user/tdm_src/new/darkmod_src/game/physics/Physics_Player.cpp:5274
#3  0x0000000000b0b7d2 in idPhysics_Player::UpdateLeanAngle (
    this=0x7fff4dd2a694, deltaLeanTiltDegrees=0.0435359478, 
    deltaLeanStretch=0.0217679739)
    at /home/user/tdm_src/new/darkmod_src/game/physics/Physics_Player.cpp:5380
#4  0x0000000000b0c00b in idPhysics_Player::LeanMove (this=0x7fff4dd2a694)
    at /home/user/tdm_src/new/darkmod_src/game/physics/Physics_Player.cpp:5543
#5  0x0000000000b01cc6 in idPhysics_Player::MovePlayer (this=0x7fff4dd2a694, 
    msec=11)
    at /home/user/tdm_src/new/darkmod_src/game/physics/Physics_Player.cpp:2808
#6  0x0000000000b043f2 in idPhysics_Player::Evaluate (this=0x7fff4dd2a694, 
    timeStepMSec=11, endTimeMSec=35027)
    at /home/user/tdm_src/new/darkmod_src/game/physics/Physics_Player.cpp:3570
--Type <RET> for more, q to quit, c to continue without paging--RET
#7  0x0000000000541047 in idEntity::RunPhysics (this=0x7fff4dd28384)
    at /home/user/tdm_src/new/darkmod_src/game/Entity.cpp:5411
#8  0x00000000006481f7 in idPlayer::Move (this=0x7fff4dd28384)
    at /home/user/tdm_src/new/darkmod_src/game/Player.cpp:6815
#9  0x000000000064af10 in idPlayer::Think (this=0x7fff4dd28384)
    at /home/user/tdm_src/new/darkmod_src/game/Player.cpp:7470
#10 0x00000000005a2ff7 in idGameLocal::RunFrame (this=0x1967500 <gameLocal>, 
    clientCmds=0x7fffffffd900, timestepMs=11, minorTic=false)
    at /home/user/tdm_src/new/darkmod_src/game/Game_local.cpp:3365
#11 0x00000000004ba026 in idSessionLocal::RunGameTic (
    this=0x19b50e0 <sessLocal>, timestepMs=11, minorTic=false)
    at /home/user/tdm_src/new/darkmod_src/framework/Session.cpp:3060
#12 0x00000000004ba411 in idSessionLocal::RunGameTics (
    this=0x19b50e0 <sessLocal>)
    at /home/user/tdm_src/new/darkmod_src/framework/Session.cpp:3106
#13 0x00000000004ba7d1 in idSessionLocal::ActivateFrontend (
    this=0x19b50e0 <sessLocal>)
    at /home/user/tdm_src/new/darkmod_src/framework/Session.cpp:3197
#14 0x00000000007b4f3c in idRenderSystemLocal::EndFrame (this=0x2269cc0 <tr>, 
    frontEndMsec=0x0, backEndMsec=0x0)
    at /home/user/tdm_src/new/darkmod_src/renderer/RenderSystem.cpp:644
#15 0x00000000004b9021 in idSessionLocal::UpdateScreen (
    this=0x19b50e0 <sessLocal>, outOfSequence=false)
--Type <RET> for more, q to quit, c to continue without paging--RET
    at /home/user/tdm_src/new/darkmod_src/framework/Session.cpp:2779
#16 0x0000000000465b8e in idCommonLocal::Frame (this=0x19900c0 <commonLocal>)
    at /home/user/tdm_src/new/darkmod_src/framework/Common.cpp:2540
#17 0x0000000000d3e923 in main (argc=1, argv=0x7fffffffe018)
    at /home/user/tdm_src/new/darkmod_src/sys/posix/platform_linux.cpp:489
(gdb) quit
A debugging session is active.

	Inferior 1 [process 28260] will be killed.

Latest_SVN_debug_trace.txt (3,818 bytes)   
Daft Mugi

Daft Mugi

10.01.2023 07:32

developer   ~0015745

I don't why I thought thedarkmod.x64.debug would be the debug build, but I did when I was originally debugging this in December. I must have been tired.
I use my own script to automatically build TDM, so I didn't catch `DCMAKE_BUILD_TYPE=Release` back in December.
Today, I got a debug build just fine after compiling it using `DCMAKE_BUILD_TYPE=Debug`.
I must be less tired today.
And, I learned that thedarkmod.x64.debug has all of the debug symbols and info, which is quite important.

With the release build, I got an almost identical backtrace as nbohr1more and sneaker when I was debugging this in December.

Today, with the debug build, I got different results.
First, the keyhole peek feature actually worked some of the time! Odd!
It works once or twice before crashing.
(Attached some screenshots.)

Second, I got a different backtrace.
(See attachment.)
keyhole-crash-2.txt (3,232 bytes)   
thedarkmod.x64: /home/x/darkmod_src/idlib/../idlib/bv/Frustum.h:175: void idFrustum::MoveFarDistance(float): Assertion `dFar > this->dNear' failed.

Thread 38 "Frontend" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fff5cbfd640 (LWP 63662)]
__pthread_kill_implementation (no_tid=0, signo=6, threadid=140734749464128) at ./nptl/pthread_kill.c:44
44	./nptl/pthread_kill.c: No such file or directory.
(gdb) bt
#0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=140734749464128) at ./nptl/pthread_kill.c:44
#1  __pthread_kill_internal (signo=6, threadid=140734749464128) at ./nptl/pthread_kill.c:78
#2  __GI___pthread_kill (threadid=140734749464128, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3  0x00007ffff7a42476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4  0x00007ffff7a287f3 in __GI_abort () at ./stdlib/abort.c:79
#5  0x00007ffff7a2871b in __assert_fail_base (fmt=0x7ffff7bdd150 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x1357ac7 "dFar > this->dNear", 
    file=0x1357a20 "/home/x/darkmod_src/idlib/../idlib/bv/Frustum.h", line=175, function=<optimized out>) at ./assert/assert.c:92
#6  0x00007ffff7a39e96 in __GI___assert_fail (assertion=0x1357ac7 "dFar > this->dNear", file=0x1357a20 "/home/x/darkmod_src/idlib/../idlib/bv/Frustum.h", line=175, 
    function=0x1357aa0 "void idFrustum::MoveFarDistance(float)") at ./assert/assert.c:101
#7  0x000000000083a886 in idFrustum::MoveFarDistance (this=0x7fff4bfff4e0, dFar=-nan(0x7fff00)) at /home/x/darkmod_src/idlib/../idlib/bv/Frustum.h:175
#8  0x0000000000bafe5f in idFrustum::ConstrainToBounds (this=0x7fff4bfff4e0, bounds=...) at /home/x/darkmod_src/idlib/bv/Frustum.cpp:1414
#9  0x000000000083a27a in R_ConstrainViewFrustum () at /home/x/darkmod_src/renderer/tr_main.cpp:1061
#10 0x000000000083a476 in R_RenderView (parms=...) at /home/x/darkmod_src/renderer/tr_main.cpp:1157
#11 0x00000000007d9247 in idRenderWorldLocal::RenderScene (this=0x634e1b0, renderView=...) at /home/x/darkmod_src/renderer/RenderWorld.cpp:733
#12 0x000000000067691e in idPlayerView::PeekView (this=0x5374bacc, view=0x4bb50670) at /home/x/darkmod_src/game/PlayerView.cpp:717
#13 0x0000000000677c7b in idPlayerView::RenderPlayerView (this=0x5374bacc, hud=0x4f46fb60) at /home/x/darkmod_src/game/PlayerView.cpp:979
#14 0x00000000005aceef in idGameLocal::Draw (this=0x17a6500 <gameLocal>, clientNum=0) at /home/x/darkmod_src/game/Game_local.cpp:3555
#15 0x00000000004bbd5f in idSessionLocal::Draw (this=0x17f40e0 <sessLocal>) at /home/x/darkmod_src/framework/Session.cpp:2687
#16 0x00000000004bd6b4 in idSessionLocal::DrawFrame (this=0x17f40e0 <sessLocal>) at /home/x/darkmod_src/framework/Session.cpp:3120
#17 0x00000000004bd80b in idSessionLocal::FrontendThreadFunction (this=0x17f40e0 <sessLocal>) at /home/x/darkmod_src/framework/Session.cpp:3157
#18 0x00000000004bdb80 in operator() (__closure=0x0, x=0x17f40e0 <sessLocal>) at /home/x/darkmod_src/framework/Session.cpp:3232
#19 0x00000000004bdba8 in _FUN () at /home/x/darkmod_src/framework/Session.cpp:3234
#20 0x00007ffff7a94b43 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#21 0x00007ffff7b26a00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
keyhole-crash-2.txt (3,232 bytes)   
stgatilov

stgatilov

10.01.2023 19:56

administrator   ~0015746

Try to replace line 5274 of Physics_Player.cpp with the following:
  pThread->CallFunctionArgs(func, true, "eev", peekEntity, door, &normal);
Notice the ampersand before normal.

If it helps, commit this, I guess...

I'm in debugging combat crash, and cannot rebuild TDM right now =(
nbohr1more

nbohr1more

10.01.2023 20:11

developer   ~0015748

Thank you!

Will do. :)
nbohr1more

nbohr1more

10.01.2023 23:52

developer   ~0015751

Rev 10240

The crash is fixed.

The keyhole in the mission doesn't properly reveal the contents of the room but can be tracked in another bug tracker.
Daft Mugi

Daft Mugi

11.01.2023 00:17

developer   ~0015752

Seems to be working well!
Thank you!

Yeah, the keyhole peek feature itself needs a bit more work.

Issue History

Date Modified Username Field Change
28.02.2021 15:46 sneaker New Issue
28.02.2021 15:46 sneaker File Added: crash.txt
28.02.2021 16:42 Amadeus Relationship added related to 0005295
12.03.2022 00:34 VanishedOne Note Added: 0014762
09.12.2022 16:31 Daft Mugi Note Added: 0015540
12.12.2022 22:12 Daft Mugi Note Added: 0015555
14.12.2022 22:06 Daft Mugi Note Added: 0015570
15.12.2022 03:54 nbohr1more Note Added: 0015571
08.01.2023 21:58 stgatilov Note Added: 0015735
08.01.2023 22:54 Daft Mugi Note Added: 0015736
08.01.2023 22:54 Daft Mugi File Added: written_a7cfb7c80ad19609 (2023-01-08 16-43-46) (1274.99 -2536.16 421.25) edited.jpg
09.01.2023 20:51 stgatilov Note Added: 0015738
10.01.2023 00:39 MirceaKitsune Note Added: 0015740
10.01.2023 01:35 nbohr1more Note Added: 0015741
10.01.2023 02:03 nbohr1more Note Edited: 0015741
10.01.2023 02:29 Daft Mugi Note Added: 0015742
10.01.2023 02:29 Daft Mugi File Added: r10238-disable-peek-on-linux.diff
10.01.2023 02:35 Daft Mugi Relationship added related to 0004882
10.01.2023 04:42 Daft Mugi Note Added: 0015743
10.01.2023 05:38 nbohr1more Note Added: 0015744
10.01.2023 05:38 nbohr1more File Added: Latest_SVN_debug_trace.txt
10.01.2023 05:39 nbohr1more Note Edited: 0015744
10.01.2023 07:32 Daft Mugi Note Added: 0015745
10.01.2023 07:32 Daft Mugi File Added: written_a7cfb7c80ad19609 (2023-01-10 01-06-32) (1 0 0).jpg
10.01.2023 07:32 Daft Mugi File Added: written_a7cfb7c80ad19609 (2023-01-10 01-06-12) (2 0 -1335011493192132141019460581566971904).jpg
10.01.2023 07:32 Daft Mugi File Added: written_a7cfb7c80ad19609 (2023-01-10 00-54-34) (2 0 439.09).jpg
10.01.2023 07:32 Daft Mugi File Added: keyhole-crash-2.txt
10.01.2023 19:56 stgatilov Note Added: 0015746
10.01.2023 20:11 nbohr1more Note Added: 0015748
10.01.2023 23:52 nbohr1more Note Added: 0015751
10.01.2023 23:52 nbohr1more Assigned To => stgatilov
10.01.2023 23:52 nbohr1more Status new => resolved
10.01.2023 23:52 nbohr1more Resolution open => fixed
10.01.2023 23:52 nbohr1more Fixed in Version => TDM 2.11
10.01.2023 23:52 nbohr1more Target Version => TDM 2.11
11.01.2023 00:17 Daft Mugi Note Added: 0015752