Daemon icon indicating copy to clipboard operation
Daemon copied to clipboard

(r_smp) Crash when running Pulse on Material system

Open illwieckz opened this issue 10 months ago • 8 comments

Crash when running Pulse on Material system, I was running this branch:

  • https://github.com/DaemonEngine/Daemon/pull/1645

But haven't compared with master yet.

Thread 19 "render thread" received signal SIGSEGV, Segmentation fault.
0x000056adcd76a9b0 in Poly2dIndexedCommand::ExecuteSelf (this=0x79adb84b7aac) at src/engine/renderer/tr_backend.cpp:4905
4905			tess.verts[ tess.numVertexes ].xyz[ 1 ] = verts[ i ].xyz[ 1 ] + translation[ 1 ];
Thread 19 (Thread 0x79ada6a006c0 (LWP 3545100) "render thread"):
#0  0x000056adcd76a9b0 in Poly2dIndexedCommand::ExecuteSelf (this=0x79adb84b7aac) at src/engine/renderer/tr_backend.cpp:4905
#1  0x000056adcd76c599 in RB_ExecuteRenderCommands (data=<optimized out>) at src/engine/renderer/tr_backend.cpp:5590
#2  0x000056adcd76c622 in RB_RenderThread () at src/engine/renderer/tr_backend.cpp:5621
#3  0x000056adcd81b9d6 in GLimp_RenderThreadWrapper () at src/engine/sys/sdl_glimp.cpp:236
#4  0x000079ade5f14296 in ?? () from /lib/x86_64-linux-gnu/libSDL2-2.0.so.0
#5  0x000079ade509caa4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
#6  0x000079ade5129c3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

illwieckz avatar Apr 14 '25 16:04 illwieckz

Also this:

Thread 19 "render thread" received signal SIGSEGV, Segmentation fault.
0x0000644a397362bb in Tess_AddQuadStampExt (origin=0x7477066d4f80, left=left@entry=0x7476f9dff7a0, up=up@entry=0x7476f9dff7b0, color=..., s1=s1@entry=0, t1=t1@entry=0, s2=s2@entry=1, t2=t2@entry=1) at src/engine/renderer/tr_surface.cpp:235
235		tess.indexes[ tess.numIndexes ] = ndx;
Thread 19 (Thread 0x7476f9e006c0 (LWP 3582178) "render thread"):
#0  0x0000644a397362bb in Tess_AddQuadStampExt (origin=0x7477066d4f80, left=left@entry=0x7476f9dff7a0, up=up@entry=0x7476f9dff7b0, color=..., s1=s1@entry=0, t1=t1@entry=0, s2=s2@entry=1, t2=t2@entry=1) at src/engine/renderer/tr_surface.cpp:235
#1  0x0000644a39736ac2 in Tess_AddQuadStamp (color=..., up=0x7476f9dff7b0, left=0x7476f9dff7a0, origin=<optimized out>) at src/engine/renderer/tr_surface.cpp:304
#2  Tess_SurfaceSprite () at src/engine/renderer/tr_surface.cpp:633
#3  Tess_SurfaceEntity () at src/engine/renderer/tr_surface.cpp:1351
#4  0x0000644a396927c8 in RB_RenderDrawSurfaces (fromSort=fromSort@entry=shaderSort_t::SS_ENVIRONMENT_NOFOG, toSort=toSort@entry=shaderSort_t::SS_POST_PROCESS, drawSurfFilter=drawSurfFilter@entry=DRAWSURFACES_ALL) at src/engine/renderer/tr_backend.cpp:950
#5  0x0000644a396a0b30 in RB_RenderView (depthPass=<optimized out>) at src/engine/renderer/tr_backend.cpp:4542
#6  DrawViewCommand::ExecuteSelf (this=0x7477072b6234) at src/engine/renderer/tr_backend.cpp:5378
#7  0x0000644a39695599 in RB_ExecuteRenderCommands (data=<optimized out>) at src/engine/renderer/tr_backend.cpp:5590
#8  0x0000644a39695622 in RB_RenderThread () at src/engine/renderer/tr_backend.cpp:5621
#9  0x0000644a397449d6 in GLimp_RenderThreadWrapper () at src/engine/sys/sdl_glimp.cpp:236
#10 0x0000747734dde296 in ?? () from /lib/x86_64-linux-gnu/libSDL2-2.0.so.0
#11 0x0000747733e9caa4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
#12 0x0000747733f29c3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

illwieckz avatar Apr 14 '25 16:04 illwieckz

I reproduce it on master.

illwieckz avatar Apr 14 '25 16:04 illwieckz

I can't repro. Which version of Pulse do you have?

slipher avatar Apr 14 '25 16:04 slipher

Hmm, I don't think I touched any of the related code anytime recently.

VReaperV avatar Apr 14 '25 16:04 VReaperV

I will paste the link there, with my config as well.

I just reproduced it on v0.55.2 tag anyway, so this doesn't block the release. It was already broken.

illwieckz avatar Apr 14 '25 16:04 illwieckz

I would also be surprised if this depends on the map because AFAIK that code is only used for 2D drawing, so things like UI.

VReaperV avatar Apr 14 '25 16:04 VReaperV

Interesting, anyway there is no urge anymore. I just noticed I had a stray r_smp 1.

With r_smp 0 I don't reproduce the crash on v0.55.2 and on master, and r_smp is disabled by default. So we don't have to fix it for the point release. It is not blocking.

I backuped my config, I will post my config and the map later when I'll have time for that.

illwieckz avatar Apr 14 '25 16:04 illwieckz

It seems... unlikely that this is caused by material system, as there aren't any functions used by it in the call stacks posted above.

VReaperV avatar May 06 '25 06:05 VReaperV