dethrace-labs / dethrace

Reverse engineering the 1997 game "Carmageddon"
https://twitter.com/dethrace_labs
GNU General Public License v3.0
667 stars 38 forks source link

abort in `TriangleRender_ZT_I8_D16_8` #375

Closed madebr closed 2 months ago

madebr commented 2 months ago

I can reliably cause an abort in TriangleRender_ZT_I8_D16_8 by crashing into a gas pump.

location: https://github.com/dethrace-labs/BRender-v1.3.2/blob/6d7ce3c58f028c9fa3c1b4e3f290433eb01f7b45/drivers/pentprim/zb8p2unl.c#L387-L389

madebr commented 2 months ago

I've encounted an abort at the same location in the "Roswell that ends well" race event. I think it is needed by the track itself, as it happens within RenderTrack. Inside DrawColumns, BrZbScreneRenderAdd was called with column_x=4 and column_z=12.

juozaspo commented 2 months ago

~I've also encountered this crash. After running it under gdb on Linux I've generated a backtrace upon crash, Full log and backtrace is listed below.~ Since this is not implemented I doubt this be helpful but posting anyways.

Full gdb log with backtrace ``` juozas@xubuntu:~$ export DETHRACE_ROOT_DIR=/home/juozas/Games/CARMA juozas@xubuntu:~$ cd dethrace/build/ juozas@xubuntu:~/dethrace/build$ gdb ./dethrace GNU gdb (Ubuntu 12.1-0ubuntu1~22.04.2) 12.1 Copyright (C) 2022 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from ./dethrace... (gdb) r Starting program: /home/juozas/dethrace/build/dethrace This GDB supports auto-downloading debuginfo from the following URLs: https://debuginfod.ubuntu.com Enable debuginfod for this session? (y or [n]) y Debuginfod has been enabled. To make this setting permanent, add 'set debuginfod enabled on' to .gdbinit. [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Dethrace version: v0.7.1-5-g673244b [INFO] Harness_Init DETHRACE_ROOT_DIR is set to '/home/juozas/Games/CARMA' Using root directory: /home/juozas/Games/CARMA Game mode: Carmageddon [WARN] S3StopMIDIOutlets stubbed [WARN] S3StopCDAOutlets stubbed [New Thread 0x7fffd23ff640 (LWP 34232)] [New Thread 0x7fffd1bfe640 (LWP 34233)] [WARN] DRSceneRayPick2D Missing material and model pointers to ActorRayPick2D Thread 1 "dethrace" received signal SIGABRT, Aborted. __pthread_kill_implementation (no_tid=0, signo=6, threadid=140737337583552) at ./nptl/pthread_kill.c:44 Download failed: Netinkamas argumentas. Continuing without source file ./nptl/./nptl/pthread_kill.c. 44 ./nptl/pthread_kill.c: Toks failas ar aplankas neegzistuoja. (gdb) set pagination off (gdb) bt full #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=140737337583552) at ./nptl/pthread_kill.c:44 tid = ret = 0 pd = 0x7ffff70367c0 old_mask = {__val = {0, 0, 0, 0, 60129542144, 140737488345328, 140737488345328, 93825012064544, 93825012066096, 206158430224, 140737488345872, 140737488345376, 13973305056388887424, 140737488345392, 140737488344400, 206158430224}} ret = pd = old_mask = ret = tid = ret = resultvar = resultvar = __arg3 = __arg2 = __arg1 = _a3 = _a2 = _a1 = __futex = resultvar = __arg3 = __arg2 = __arg1 = _a3 = _a2 = _a1 = __futex = __private = __oldval = result = #1 __pthread_kill_internal (signo=6, threadid=140737337583552) at ./nptl/pthread_kill.c:78 No locals. #2 __GI___pthread_kill (threadid=140737337583552, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 No locals. #3 0x00007ffff7b2c476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 ret = #4 0x00007ffff7b127f3 in __GI_abort () at ./stdlib/abort.c:79 save_stage = 1 act = {__sigaction_handler = {sa_handler = 0x483ffc1cd, sa_sigaction = 0x483ffc1cd}, sa_mask = {__val = {93825011662928, 93825011662480, 93825011662672, 206158430240, 140737488344736, 140737488344544, 5460671115100339456, 13830108872125186048, 93825011662928, 93825011662480, 93825011662672, 93825012074498, 93825012074594, 4594806050703540224, 93825002003264, 93825001997396}}, sa_flags = 1435361820, sa_restorer = 0x7fffffffd6c0} sigs = {__val = {32, 1433429039, 140737488344432, 93824993875238, 140737488344400, 1433429086, 93824995952472, 93459921790977, 93824995952244, 93824995952240, 140737488344720, 93824993880000, 0, 93824993877312, 4843621399237022206, 93824995701712}} #5 0x000055555571090f in BrAbort () at /home/juozas/dethrace/lib/BRender-v1.3.2/core/std/stdlib.c:107 No locals. #6 0x00005555556e982c in TriangleRender_ZT_I8_D16_8 (block=0x5555558a30b8 , v0=0x5555567dbed0, v1=0x5555567dbf10, v2=0x5555567dbe90) at /home/juozas/dethrace/lib/BRender-v1.3.2/drivers/pentprim/zb8p2unl.c:389 No locals. #7 0x00005555556ad621 in V1Face_OS_Render (self=0x555555dd6190, renderer=0x555555ea43b0) at /home/juozas/dethrace/lib/BRender-v1.3.2/drivers/softrend/v1model.c:501 fp_vertices = 0x555556840808 fp_edges = 0x555556840868 fp_eqn = 0x555556840940 tfp = 0x5555567dbe80 f = 0 unclipped = 0x5555558a30b8 #8 0x00005555556ae454 in V1Model_Render (self=0x555555dd6190, renderer=0x555555ea43b0, model=0x5555568405a0, default_state=0x555555ede3e0, type=BRT_TRIANGLE, on_screen=1) at /home/juozas/dethrace/lib/BRender-v1.3.2/drivers/softrend/v1model.c:967 i = 3 g = 3 state = 0x5555565dbef0 r = 0 z_sort = 0 z_sort_blended = 0 divert = 0 #9 0x00005555556ae5f7 in _M_br_geometry_v1_model_soft_renderOnScreen (self=0x555555dd6190, renderer=0x555555ea43b0, model=0x5555568405a0, default_state=0x555555ede3e0, type=BRT_TRIANGLE) at /home/juozas/dethrace/lib/BRender-v1.3.2/drivers/softrend/v1model.c:1014 r = 21845 #10 0x000055555575157d in renderFaces (actor=0x55555698c500, model=0x5555566894a0, material=0x555555d9f3b0, render_data=0x5555558b29c0 <_BrDefaultOrderTable>, style=4 '\004', on_screen=412) at /home/juozas/dethrace/lib/BRender-v1.3.2/core/v1db/modrend.c:34 No locals. #11 0x000055555574136f in BrDbModelRender (actor=0x55555698c500, model=0x5555566894a0, material=0x555555d9f3b0, render_data=0x5555558b29c0 <_BrDefaultOrderTable>, style=4 '\004', on_screen=412, use_custom=1) at /home/juozas/dethrace/lib/BRender-v1.3.2/core/v1db/render.c:170 count = 0 tv = {{t = BRT_V1INSERT_FUNCTION_P, v = {p = 0x0, pi = 0, pu = 0, b = 0, t = 0, i8 = 0 '\000', u8 = 0 '\000', i16 = 0, u16 = 0, i32 = 0, u32 = 0, x = 0, f = 0, s = 0, a = 0, rgb = 0, o = 0x0, h = 0x0, v2_i = 0x0, v3_i = 0x0, v4_i = 0x0, v2_x = 0x0, v3_x = 0x0, v4_x = 0x0, v2_f = 0x0, v3_f = 0x0, v4_f = 0x0, m23_x = 0x0, m34_x = 0x0, m4_x = 0x0, m23_f = 0x0, m34_f = 0x0, m4_f = 0x0, m34 = 0x0, m23 = 0x0, str = 0x0, cstr = 0x0, ol = 0x0, tl = 0x0, pl = 0x0, i64 = 0, u64 = 0, tvl = 0x0}}, {t = BRT_V1INSERT_ARG1_P, v = {p = 0x0, pi = 0, pu = 0, b = 0, t = 0, i8 = 0 '\000', u8 = 0 '\000', i16 = 0, u16 = 0, i32 = 0, u32 = 0, x = 0, f = 0, s = 0, a = 0, rgb = 0, o = 0x0, h = 0x0, v2_i = 0x0, v3_i = 0x0, v4_i = 0x0, v2_x = 0x0, v3_x = 0x0, v4_x = 0x0, v2_f = 0x0, v3_f = 0x0, v4_f = 0x0, m23_x = 0x0, m34_x = 0x0, m4_x = 0x0, m23_f = 0x0, m34_f = 0x0, m4_f = 0x0, m34 = 0x0, m23 = 0x0, str = 0x0, cstr = 0x0, ol = 0x0, tl = 0x0, pl = 0x0, i64 = 0, u64 = 0, tvl = 0x0}}, {t = BRT_V1INSERT_ARG2_P, v = {p = 0x0, pi = 0, pu = 0, b = 0, t = 0, i8 = 0 '\000', u8 = 0 '\000', i16 = 0, u16 = 0, i32 = 0, u32 = 0, x = 0, f = 0, s = 0, a = 0, rgb = 0, o = 0x0, h = 0x0, v2_i = 0x0, v3_i = 0x0, v4_i = 0x0, v2_x = 0x0, v3_x = 0x0, v4_x = 0x0, v2_f = 0x0, v3_f = 0x0, v4_f = 0x0, m23_x = 0x0, m34_x = 0x0, m4_x = 0x0, m23_f = 0x0, m34_f = 0x0, m4_f = 0x0, m34 = 0x0, m23 = 0x0, str = 0x0, cstr = 0x0, ol = 0x0, tl = 0x0, pl = 0x0, i64 = 0, u64 = 0, tvl = 0x0}}, {t = BRT_V1INSERT_ARG3_P, v = {p = 0x0, pi = 0, pu = 0, b = 0, t = 0, i8 = 0 '\000', u8 = 0 '\000', i16 = 0, u16 = 0, i32 = 0, u32 = 0, x = 0, f = 0, s = 0, a = 0, rgb = 0, o = 0x0, h = 0x0, v2_i = 0x0, v3_i = 0x0, v4_i = 0x0, v2_x = 0x0, v3_x = 0x0, v4_x = 0x0, v2_f = 0x0, v3_f = 0x0, v4_f = 0x0, m23_x = 0x0, m34_x = 0x0, m4_x = 0x0, m23_f = 0x0, m34_f = 0x0, m4_f = 0x0, m34 = 0x0, m23 = 0x0, str = 0x0, cstr = 0x0, ol = 0x0, tl = 0x0, pl = 0x0, i64 = 0, u64 = 0, tvl = 0x0}}, {t = 0, v = {p = 0x0, pi = 0, pu = 0, b = 0, t = 0, i8 = 0 '\000', u8 = 0 '\000', i16 = 0, u16 = 0, i32 = 0, u32 = 0, x = 0, f = 0, s = 0, a = 0, rgb = 0, o = 0x0, h = 0x0, v2_i = 0x0, v3_i = 0x0, v4_i = 0x0, v2_x = 0x0, v3_x = 0x0, v4_x = 0x0, v2_f = 0x0, v3_f = 0x0, v4_f = 0x0, m23_x = 0x0, m34_x = 0x0, m4_x = 0x0, m23_f = 0x0, m34_f = 0x0, m4_f = 0x0, m34 = 0x0, m23 = 0x0, str = 0x0, cstr = 0x0, ol = 0x0, tl = 0x0, pl = 0x0, i64 = 0, u64 = 0, tvl = 0x0}}} #12 0x000055555574191f in actorRender (ap=0x55555698c500, model=0x555555a55510, material=0x555555d9f3b0, render_data=0x5555558b29c0 <_BrDefaultOrderTable>, style=4 '\004', t=0) at /home/juozas/dethrace/lib/BRender-v1.3.2/core/v1db/render.c:368 this_material = 0x555555d9f3b0 this_model = 0x5555566894a0 this_render_data = 0x5555558b29c0 <_BrDefaultOrderTable> a = 0x0 s = BRT_ACCEPT #13 0x0000555555741a3a in actorRender (ap=0x555555dbb320, model=0x555555a55510, material=0x555555d9f3b0, render_data=0x5555558b29c0 <_BrDefaultOrderTable>, style=0 '\000', t=0) at /home/juozas/dethrace/lib/BRender-v1.3.2/core/v1db/render.c:409 this_material = 0x555555d9f3b0 this_model = 0x555555a55510 this_render_data = 0x5555558b29c0 <_BrDefaultOrderTable> a = 0x55555698c500 s = 0 #14 0x0000555555741f98 in sceneRenderAdd (tree=0x555555dbb320) at /home/juozas/dethrace/lib/BRender-v1.3.2/core/v1db/render.c:603 material = 0x555555d9f3b0 model = 0x555555a55510 render_data = 0x5555558b29c0 <_BrDefaultOrderTable> style = 0 '\000' a = 0x555555dd0cc0 t = 6 m = {m = {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}, {0, 0, 0}}} #15 0x0000555555742eb3 in BrZbSceneRenderAdd (tree=0x555555dbb320) at /home/juozas/dethrace/lib/BRender-v1.3.2/core/v1db/render.c:872 No locals. #16 0x00005555555d3d6d in ProcessNonTrackActors (pRender_buffer=0x555555dc4450, pDepth_buffer=0x555555dc44f0, pCamera=0x555555db7950, pCamera_to_world=0x5555558bdf40 , pOld_camera_matrix=0x7fffffffdb50) at /home/juozas/dethrace/src/DETHRACE/common/graphics.c:900 __FUNCTION__ = "ProcessNonTrackActors" #17 0x00005555555d7905 in RenderAFrame (pDepth_mask_on=1) at /home/juozas/dethrace/src/DETHRACE/common/graphics.c:1677 cat = 1 i = -9408 car_count = 32767 flags = 1432985543 x_shift = 0 y_shift = 0 cockpit_on = 0 real_origin_x = 0 real_origin_y = 0 real_base_x = 0 real_base_y = 0 map_timer_x = -9408 map_timer_width = 256 ped_type = 32767 old_pixels = 0x555555e65aa0 '\214' , "\215\215\215\215\215\215\215\215\215\215\214\214\214\214\214\214\215\214\215\215\215\214\214\214\214\215\214\214\214\214\215\214\214\214\214\214\214\215\215\215\215\215\215\214\214\214\215\215", '\214' , "\215\214\215\214\215", '\214' ... old_camera_matrix = {m = {{-0.74780333, 0, 0.663920164}, {0.0346112736, 0.998640239, 0.0389842428}, {-0.663017392, 0.0521316789, -0.746786475}, {-30.475708, -4.85370541, 58.6056519}}} old_mirror_cam_matrix = {m = {{0, 0, -9.80258735e+33}, {4.59163468e-41, 4.86628918e-41, 0}, {2.85675903e-18, 0, 4.55590157e-41}, {9.12371417e-41, -2.9789713e-37, 26240740}}} the_time = 65104 car_pos = 0x555555708345 pos = {v = {4.59163468e-41, 2.33394126e+14, 4.62299608e-11}} the_text = "\000\000\000\000\000\000\000\000\035#\350\367\377\177\000\000\n\030\374\367\377\177\000\000O\177pUUU\000\000\340\333\377\377\377\177\000\000\361\264iUUU\000\000\000\334\377\377\377\177\000\000_\356]UUU\000\000P\334\377\377\377\177\000\000m\366\274\367Z\000\000\000\260\334\377\377\377\177\000\000`\376ZUUU\000\000\247\207\000\000\000\000\000\000`\300\214UUU\000\000p\334\377\377\377\177\000\000\000\275ʂr3\310K\247\207\000\000\n\327#, "\275ʂr3\310K\030\340\377\377\377\177\000\000\000\000\000\000\000\000\000\000\340\336\377\377\377\177\000\000\355N\267\367\377\177\000\000\261wWUUU\000\000\200W\320\367\377\177\000\000\027\000\000\000\000\000\000\000в\216UUU\000\000h\r\000\000\000\000\000\000\341i\267\367\377\177\000\000\000\336\377\377\377\177\000\000\n\000\000\000\000\000\000\000\200W\320\367\377\177\000\000\000\246\202UUU\000\000@n\213UUU\000\000\000\026\320\367\377\177\000\000@\320\377\367\377\177\000\000\000\275ʂr3\310K\026", '\000' , "\220\336\377\377\377\177\000\000\030\340\377\377\377"... #23 0x000055555569bda4 in original_main (pArgc=1, pArgv=0x7fffffffe018) at /home/juozas/dethrace/src/DETHRACE/pc-win95/win95sys.c:957 arg = 1433433416 i = 1 f = 3.0611365e-41 len = 24 #24 0x00005555555777e8 in main (argc=1, argv=0x7fffffffe018) at /home/juozas/dethrace/src/DETHRACE/main.c:48 No locals. ```
Full backtrace with all threads ``` (gdb) thread apply all bt full Thread 3 (Thread 0x7fffd1bfe640 (LWP 34233) "dethrace"): #0 __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x555555f73890) at ./nptl/futex-internal.c:57 sc_cancel_oldtype = 0 sc_ret = resultvar = __arg6 = __arg5 = __arg4 = __arg3 = __arg2 = __arg1 = _a6 = _a5 = _a4 = _a3 = _a2 = _a1 = #1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x555555f73890) at ./nptl/futex-internal.c:87 err = clockbit = 256 op = 393 err = clockbit = op = #2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x555555f73890, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139 No locals. #3 0x00007ffff7b7da41 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x555555f73840, cond=0x555555f73868) at ./nptl/pthread_cond_wait.c:503 spin = 0 buffer = {__routine = 0x7ffff7b7d720 <__condvar_cleanup_waiting>, __arg = 0x7fffd1bfdb80, __canceltype = 0, __prev = 0x0} cbuffer = {wseq = 0, cond = 0x555555f73868, mutex = 0x555555f73840, private = 0} err = g = 0 flags = g1_start = maxspin = 0 signals = result = 0 wseq = 0 seq = 0 private = 0 maxspin = err = result = wseq = g = seq = flags = private = signals = done = g1_start = spin = buffer = cbuffer = s = #4 ___pthread_cond_wait (cond=0x555555f73868, mutex=0x555555f73840) at ./nptl/pthread_cond_wait.c:627 No locals. #5 0x0000555555755ee7 in ma_semaphore_wait__posix (pSemaphore=0x555555f73838) at /home/juozas/dethrace/lib/miniaudio/miniaudio.c:4653 No locals. #6 0x00005555557563e0 in ma_semaphore_wait (pSemaphore=0x555555f73838) at /home/juozas/dethrace/lib/miniaudio/miniaudio.c:4962 __PRETTY_FUNCTION__ = "ma_semaphore_wait" #7 0x0000555555757bea in ma_job_queue_next (pQueue=0x555555f73820, pJob=0x7fffd1bfdd20) at /home/juozas/dethrace/lib/miniaudio/miniaudio.c:5940 head = 0 tail = 0 next = 0 #8 0x00005555557ab39c in ma_resource_manager_next_job (pResourceManager=0x555555f73590, pJob=0x7fffd1bfdd20) at /home/juozas/dethrace/lib/miniaudio/miniaudio.c:56359 No locals. #9 0x00005555557a4b39 in ma_resource_manager_job_thread (pUserData=0x555555f73590) at /home/juozas/dethrace/lib/miniaudio/miniaudio.c:53617 result = MA_SUCCESS job = {toc = {breakup = {code = 54304, slot = 65535, refcount = 32767}, allocation = 140737488344096}, next = 140737349481555, order = 1442259200, data = {custom = {proc = 0x555555f720f0, data0 = 0, data1 = 140736712402496}, resourceManager = {loadDataBufferNode = {pResourceManager = 0x555555f720f0, pDataBufferNode = 0x0, pFilePath = 0x7fffd1bfe640 "@\346\277\321\377\177", pFilePathW = 0x7fffd1bfdd70 L"\xd1bfdd90翿\x557936a2啕\x55f72110啕\x82cabd00\x4bc83372\xd1bfddd0翿\x55755fce啕", flags = 1433751467, pInitNotification = 0x0, pDoneNotification = 0x555555f72100, pInitFence = 0x7fffd1bfdd90, pDoneFence = 0x5555557936a2 }, freeDataBufferNode = {pResourceManager = 0x555555f720f0, pDataBufferNode = 0x0, pDoneNotification = 0x7fffd1bfe640, pDoneFence = 0x7fffd1bfdd70}, pageDataBufferNode = {pResourceManager = 0x555555f720f0, pDataBufferNode = 0x0, pDecoder = 0x7fffd1bfe640, pDoneNotification = 0x7fffd1bfdd70, pDoneFence = 0x555555754fab }, loadDataBuffer = {pDataBuffer = 0x555555f720f0, pInitNotification = 0x0, pDoneNotification = 0x7fffd1bfe640, pInitFence = 0x7fffd1bfdd70, pDoneFence = 0x555555754fab , rangeBegInPCMFrames = 0, rangeEndInPCMFrames = 93825002840320, loopPointBegInPCMFrames = 140736712400272, loopPointEndInPCMFrames = 93824994588322, isLooping = 1442259216}, freeDataBuffer = {pDataBuffer = 0x555555f720f0, pDoneNotification = 0x0, pDoneFence = 0x7fffd1bfe640}, loadDataStream = {pDataStream = 0x555555f720f0, pFilePath = 0x0, pFilePathW = 0x7fffd1bfe640 L"\xd1bfe640翿\x55f739f0啕\xd1bfe640翿\001", initialSeekPoint = 140736712400240, pInitNotification = 0x555555754fab , pInitFence = 0x0}, freeDataStream = {pDataStream = 0x555555f720f0, pDoneNotification = 0x0, pDoneFence = 0x7fffd1bfe640}, pageDataStream = {pDataStream = 0x555555f720f0, pageIndex = 0}, seekDataStream = {pDataStream = 0x555555f720f0, frameIndex = 0}}, device = {aaudio = {reroute = {pDevice = 0x555555f720f0, deviceType = 0}}}}} pResourceManager = 0x555555f73590 __PRETTY_FUNCTION__ = "ma_resource_manager_job_thread" #10 0x0000555555755fce in ma_thread_entry_proxy (pData=0x555555f72100) at /home/juozas/dethrace/lib/miniaudio/miniaudio.c:4704 pProxyData = 0x555555f72100 entryProc = 0x5555557a4ac7 pEntryProcData = 0x555555f73590 result = 0x0 #11 0x00007ffff7b7eac3 in start_thread (arg=) at ./nptl/pthread_create.c:442 ret = pd = out = unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737488343744, 8375819223380872754, 140736712402496, 88, 140737349412816, 140737488344096, -8375780189715476942, -8375837296040915406}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} not_first_call = #12 0x00007ffff7c10850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 No locals. Thread 2 (Thread 0x7fffd23ff640 (LWP 34232) "dethrace"): #0 0x00007ffff7c02cce in __ppoll (fds=0x555555f68fc0, nfds=3, timeout=, sigmask=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:42 sc_ret = -514 sc_cancel_oldtype = 0 sc_ret = tval = {tv_sec = 140736720792750, tv_nsec = 93825002798760} #1 0x00007ffff79af621 in pa_mainloop_poll () from /lib/x86_64-linux-gnu/libpulse.so.0 No symbol table info available. #2 0x00007ffff79ba0bb in pa_mainloop_iterate () from /lib/x86_64-linux-gnu/libpulse.so.0 No symbol table info available. #3 0x0000555555764954 in ma_device_data_loop__pulse (pDevice=0x555555ee6a20) at /home/juozas/dethrace/lib/miniaudio/miniaudio.c:18321 resultPA = 1 __PRETTY_FUNCTION__ = "ma_device_data_loop__pulse" #4 0x0000555555768938 in ma_worker_thread (pData=0x555555ee6a20) at /home/juozas/dethrace/lib/miniaudio/miniaudio.c:27988 startResult = MA_SUCCESS stopResult = MA_SUCCESS pDevice = 0x555555ee6a20 __PRETTY_FUNCTION__ = "ma_worker_thread" #5 0x0000555555755fce in ma_thread_entry_proxy (pData=0x555555f724f0) at /home/juozas/dethrace/lib/miniaudio/miniaudio.c:4704 pProxyData = 0x555555f724f0 entryProc = 0x55555576879e pEntryProcData = 0x555555ee6a20 result = 0x0 #6 0x00007ffff7b7eac3 in start_thread (arg=) at ./nptl/pthread_create.c:442 ret = pd = out = unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737488342576, 8375819223380872754, 140736720795200, 88, 140737349412816, 140737488342928, -8375772493670953422, -8375837296040915406}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} not_first_call = #7 0x00007ffff7c10850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 No locals. Thread 1 (Thread 0x7ffff70367c0 (LWP 34228) "dethrace"): #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=140737337583552) at ./nptl/pthread_kill.c:44 tid = ret = 0 pd = 0x7ffff70367c0 old_mask = {__val = {0, 0, 0, 0, 60129542144, 140737488345328, 140737488345328, 93825012064544, 93825012066096, 206158430224, 140737488345872, 140737488345376, 13973305056388887424, 140737488345392, 140737488344400, 206158430224}} ret = pd = old_mask = ret = tid = ret = resultvar = resultvar = __arg3 = __arg2 = __arg1 = _a3 = _a2 = _a1 = __futex = resultvar = __arg3 = __arg2 = __arg1 = _a3 = _a2 = _a1 = __futex = __private = __oldval = result = #1 __pthread_kill_internal (signo=6, threadid=140737337583552) at ./nptl/pthread_kill.c:78 No locals. #2 __GI___pthread_kill (threadid=140737337583552, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 No locals. #3 0x00007ffff7b2c476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 ret = #4 0x00007ffff7b127f3 in __GI_abort () at ./stdlib/abort.c:79 save_stage = 1 act = {__sigaction_handler = {sa_handler = 0x483ffc1cd, sa_sigaction = 0x483ffc1cd}, sa_mask = {__val = {93825011662928, 93825011662480, 93825011662672, 206158430240, 140737488344736, 140737488344544, 5460671115100339456, 13830108872125186048, 93825011662928, 93825011662480, 93825011662672, 93825012074498, 93825012074594, 4594806050703540224, 93825002003264, 93825001997396}}, sa_flags = 1435361820, sa_restorer = 0x7fffffffd6c0} sigs = {__val = {32, 1433429039, 140737488344432, 93824993875238, 140737488344400, 1433429086, 93824995952472, 93459921790977, 93824995952244, 93824995952240, 140737488344720, 93824993880000, 0, 93824993877312, 4843621399237022206, 93824995701712}} #5 0x000055555571090f in BrAbort () at /home/juozas/dethrace/lib/BRender-v1.3.2/core/std/stdlib.c:107 No locals. #6 0x00005555556e982c in TriangleRender_ZT_I8_D16_8 (block=0x5555558a30b8 , v0=0x5555567dbed0, v1=0x5555567dbf10, v2=0x5555567dbe90) at /home/juozas/dethrace/lib/BRender-v1.3.2/drivers/pentprim/zb8p2unl.c:389 No locals. #7 0x00005555556ad621 in V1Face_OS_Render (self=0x555555dd6190, renderer=0x555555ea43b0) at /home/juozas/dethrace/lib/BRender-v1.3.2/drivers/softrend/v1model.c:501 fp_vertices = 0x555556840808 fp_edges = 0x555556840868 fp_eqn = 0x555556840940 tfp = 0x5555567dbe80 f = 0 unclipped = 0x5555558a30b8 #8 0x00005555556ae454 in V1Model_Render (self=0x555555dd6190, renderer=0x555555ea43b0, model=0x5555568405a0, default_state=0x555555ede3e0, type=BRT_TRIANGLE, on_screen=1) at /home/juozas/dethrace/lib/BRender-v1.3.2/drivers/softrend/v1model.c:967 i = 3 g = 3 state = 0x5555565dbef0 r = 0 z_sort = 0 z_sort_blended = 0 divert = 0 #9 0x00005555556ae5f7 in _M_br_geometry_v1_model_soft_renderOnScreen (self=0x555555dd6190, renderer=0x555555ea43b0, model=0x5555568405a0, default_state=0x555555ede3e0, type=BRT_TRIANGLE) at /home/juozas/dethrace/lib/BRender-v1.3.2/drivers/softrend/v1model.c:1014 r = 21845 #10 0x000055555575157d in renderFaces (actor=0x55555698c500, model=0x5555566894a0, material=0x555555d9f3b0, render_data=0x5555558b29c0 <_BrDefaultOrderTable>, style=4 '\004', on_screen=412) at /home/juozas/dethrace/lib/BRender-v1.3.2/core/v1db/modrend.c:34 No locals. #11 0x000055555574136f in BrDbModelRender (actor=0x55555698c500, model=0x5555566894a0, material=0x555555d9f3b0, render_data=0x5555558b29c0 <_BrDefaultOrderTable>, style=4 '\004', on_screen=412, use_custom=1) at /home/juozas/dethrace/lib/BRender-v1.3.2/core/v1db/render.c:170 count = 0 tv = {{t = BRT_V1INSERT_FUNCTION_P, v = {p = 0x0, pi = 0, pu = 0, b = 0, t = 0, i8 = 0 '\000', u8 = 0 '\000', i16 = 0, u16 = 0, i32 = 0, u32 = 0, x = 0, f = 0, s = 0, a = 0, rgb = 0, o = 0x0, h = 0x0, v2_i = 0x0, v3_i = 0x0, v4_i = 0x0, v2_x = 0x0, v3_x = 0x0, v4_x = 0x0, v2_f = 0x0, v3_f = 0x0, v4_f = 0x0, m23_x = 0x0, m34_x = 0x0, m4_x = 0x0, m23_f = 0x0, m34_f = 0x0, m4_f = 0x0, m34 = 0x0, m23 = 0x0, str = 0x0, cstr = 0x0, ol = 0x0, tl = 0x0, pl = 0x0, i64 = 0, u64 = 0, tvl = 0x0}}, {t = BRT_V1INSERT_ARG1_P, v = {p = 0x0, pi = 0, pu = 0, b = 0, t = 0, i8 = 0 '\000', u8 = 0 '\000', i16 = 0, u16 = 0, i32 = 0, u32 = 0, x = 0, f = 0, s = 0, a = 0, rgb = 0, o = 0x0, h = 0x0, v2_i = 0x0, v3_i = 0x0, v4_i = 0x0, v2_x = 0x0, v3_x = 0x0, v4_x = 0x0, v2_f = 0x0, v3_f = 0x0, v4_f = 0x0, m23_x = 0x0, m34_x = 0x0, m4_x = 0x0, m23_f = 0x0, m34_f = 0x0, m4_f = 0x0, m34 = 0x0, m23 = 0x0, str = 0x0, cstr = 0x0, ol = 0x0, tl = 0x0, pl = 0x0, i64 = 0, u64 = 0, tvl = 0x0}}, {t = BRT_V1INSERT_ARG2_P, v = {p = 0x0, pi = 0, pu = 0, b = 0, t = 0, i8 = 0 '\000', u8 = 0 '\000', i16 = 0, u16 = 0, i32 = 0, u32 = 0, x = 0, f = 0, s = 0, a = 0, rgb = 0, o = 0x0, h = 0x0, v2_i = 0x0, v3_i = 0x0, v4_i = 0x0, v2_x = 0x0, v3_x = 0x0, v4_x = 0x0, v2_f = 0x0, v3_f = 0x0, v4_f = 0x0, m23_x = 0x0, m34_x = 0x0, m4_x = 0x0, m23_f = 0x0, m34_f = 0x0, m4_f = 0x0, m34 = 0x0, m23 = 0x0, str = 0x0, cstr = 0x0, ol = 0x0, tl = 0x0, pl = 0x0, i64 = 0, u64 = 0, tvl = 0x0}}, {t = BRT_V1INSERT_ARG3_P, v = {p = 0x0, pi = 0, pu = 0, b = 0, t = 0, i8 = 0 '\000', u8 = 0 '\000', i16 = 0, u16 = 0, i32 = 0, u32 = 0, x = 0, f = 0, s = 0, a = 0, rgb = 0, o = 0x0, h = 0x0, v2_i = 0x0, v3_i = 0x0, v4_i = 0x0, v2_x = 0x0, v3_x = 0x0, v4_x = 0x0, v2_f = 0x0, v3_f = 0x0, v4_f = 0x0, m23_x = 0x0, m34_x = 0x0, m4_x = 0x0, m23_f = 0x0, m34_f = 0x0, m4_f = 0x0, m34 = 0x0, m23 = 0x0, str = 0x0, cstr = 0x0, ol = 0x0, tl = 0x0, pl = 0x0, i64 = 0, u64 = 0, tvl = 0x0}}, {t = 0, v = {p = 0x0, pi = 0, pu = 0, b = 0, t = 0, i8 = 0 '\000', u8 = 0 '\000', i16 = 0, u16 = 0, i32 = 0, u32 = 0, x = 0, f = 0, s = 0, a = 0, rgb = 0, o = 0x0, h = 0x0, v2_i = 0x0, v3_i = 0x0, v4_i = 0x0, v2_x = 0x0, v3_x = 0x0, v4_x = 0x0, v2_f = 0x0, v3_f = 0x0, v4_f = 0x0, m23_x = 0x0, m34_x = 0x0, m4_x = 0x0, m23_f = 0x0, m34_f = 0x0, m4_f = 0x0, m34 = 0x0, m23 = 0x0, str = 0x0, cstr = 0x0, ol = 0x0, tl = 0x0, pl = 0x0, i64 = 0, u64 = 0, tvl = 0x0}}} #12 0x000055555574191f in actorRender (ap=0x55555698c500, model=0x555555a55510, material=0x555555d9f3b0, render_data=0x5555558b29c0 <_BrDefaultOrderTable>, style=4 '\004', t=0) at /home/juozas/dethrace/lib/BRender-v1.3.2/core/v1db/render.c:368 this_material = 0x555555d9f3b0 this_model = 0x5555566894a0 this_render_data = 0x5555558b29c0 <_BrDefaultOrderTable> a = 0x0 s = BRT_ACCEPT #13 0x0000555555741a3a in actorRender (ap=0x555555dbb320, model=0x555555a55510, material=0x555555d9f3b0, render_data=0x5555558b29c0 <_BrDefaultOrderTable>, style=0 '\000', t=0) at /home/juozas/dethrace/lib/BRender-v1.3.2/core/v1db/render.c:409 this_material = 0x555555d9f3b0 this_model = 0x555555a55510 this_render_data = 0x5555558b29c0 <_BrDefaultOrderTable> a = 0x55555698c500 s = 0 #14 0x0000555555741f98 in sceneRenderAdd (tree=0x555555dbb320) at /home/juozas/dethrace/lib/BRender-v1.3.2/core/v1db/render.c:603 material = 0x555555d9f3b0 model = 0x555555a55510 render_data = 0x5555558b29c0 <_BrDefaultOrderTable> style = 0 '\000' a = 0x555555dd0cc0 t = 6 m = {m = {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}, {0, 0, 0}}} #15 0x0000555555742eb3 in BrZbSceneRenderAdd (tree=0x555555dbb320) at /home/juozas/dethrace/lib/BRender-v1.3.2/core/v1db/render.c:872 No locals. #16 0x00005555555d3d6d in ProcessNonTrackActors (pRender_buffer=0x555555dc4450, pDepth_buffer=0x555555dc44f0, pCamera=0x555555db7950, pCamera_to_world=0x5555558bdf40 , pOld_camera_matrix=0x7fffffffdb50) at /home/juozas/dethrace/src/DETHRACE/common/graphics.c:900 __FUNCTION__ = "ProcessNonTrackActors" #17 0x00005555555d7905 in RenderAFrame (pDepth_mask_on=1) at /home/juozas/dethrace/src/DETHRACE/common/graphics.c:1677 cat = 1 i = -9408 car_count = 32767 flags = 1432985543 x_shift = 0 y_shift = 0 cockpit_on = 0 real_origin_x = 0 real_origin_y = 0 real_base_x = 0 real_base_y = 0 map_timer_x = -9408 map_timer_width = 256 ped_type = 32767 old_pixels = 0x555555e65aa0 '\214' , "\215\215\215\215\215\215\215\215\215\215\214\214\214\214\214\214\215\214\215\215\215\214\214\214\214\215\214\214\214\214\215\214\214\214\214\214\214\215\215\215\215\215\215\214\214\214\215\215", '\214' , "\215\214\215\214\215", '\214' ... old_camera_matrix = {m = {{-0.74780333, 0, 0.663920164}, {0.0346112736, 0.998640239, 0.0389842428}, {-0.663017392, 0.0521316789, -0.746786475}, {-30.475708, -4.85370541, 58.6056519}}} old_mirror_cam_matrix = {m = {{0, 0, -9.80258735e+33}, {4.59163468e-41, 4.86628918e-41, 0}, {2.85675903e-18, 0, 4.55590157e-41}, {9.12371417e-41, -2.9789713e-37, 26240740}}} the_time = 65104 car_pos = 0x555555708345 pos = {v = {4.59163468e-41, 2.33394126e+14, 4.62299608e-11}} the_text = "\000\000\000\000\000\000\000\000\035#\350\367\377\177\000\000\n\030\374\367\377\177\000\000O\177pUUU\000\000\340\333\377\377\377\177\000\000\361\264iUUU\000\000\000\334\377\377\377\177\000\000_\356]UUU\000\000P\334\377\377\377\177\000\000m\366\274\367Z\000\000\000\260\334\377\377\377\177\000\000`\376ZUUU\000\000\247\207\000\000\000\000\000\000`\300\214UUU\000\000p\334\377\377\377\177\000\000\000\275ʂr3\310K\247\207\000\000\n\327#, "\275ʂr3\310K\030\340\377\377\377\177\000\000\000\000\000\000\000\000\000\000\340\336\377\377\377\177\000\000\355N\267\367\377\177\000\000\261wWUUU\000\000\200W\320\367\377\177\000\000\027\000\000\000\000\000\000\000в\216UUU\000\000h\r\000\000\000\000\000\000\341i\267\367\377\177\000\000\000\336\377\377\377\177\000\000\n\000\000\000\000\000\000\000\200W\320\367\377\177\000\000\000\246\202UUU\000\000@n\213UUU\000\000\000\026\320\367\377\177\000\000@\320\377\367\377\177\000\000\000\275ʂr3\310K\026", '\000' , "\220\336\377\377\377\177\000\000\030\340\377\377\377"... #23 0x000055555569bda4 in original_main (pArgc=1, pArgv=0x7fffffffe018) at /home/juozas/dethrace/src/DETHRACE/pc-win95/win95sys.c:957 arg = 1433433416 i = 1 f = 3.0611365e-41 len = 24 #24 0x00005555555777e8 in main (argc=1, argv=0x7fffffffe018) at /home/juozas/dethrace/src/DETHRACE/main.c:48 No locals. ```
MastaG commented 2 months ago

Well your trace shows exactly what's happening:

#5  0x000055555571090f in BrAbort () at /home/juozas/dethrace/lib/BRender-v1.3.2/core/std/stdlib.c:107
No locals.
#6  0x00005555556e982c in TriangleRender_ZT_I8_D16_8 (block=0x5555558a30b8 <primInfo_t8+37752>, v0=0x5555567dbed0, v1=0x5555567dbf10, v2=0x5555567dbe90) at /home/juozas/dethrace/lib/BRender-v1.3.2/drivers/pentprim/zb8p2unl.c:389

When function TriangleRender_ZT_I8_D16_8 is called it will return a BrAbort () Just like the source code indicates: https://github.com/dethrace-labs/BRender-v1.3.2/blob/6d7ce3c58f028c9fa3c1b4e3f290433eb01f7b45/drivers/pentprim/zb8p2unl.c#L387-L389