Skip to content

Mac: SIGABRT on launch #90

Description

@Behodar

Hi,

I'm attempting to run 0.8.0 on MacOS 15.7.7 on a 2020 iMac. This is an Intel machine, and the prebuilt versions are only for Arm, so I downloaded the source and built it with:

bash tools/build/meson_setup.sh setup --wipe builddir . --backend ninja --buildtype=debug --wrap-mode=forcefallback -Dplatform_backend=sdl3 -Dmacos_graphics_bridge=metal
bash tools/build/meson_setup.sh compile -C builddir
cp builddir/content/baseoq4/* builddir/baseoq4

When I try to run the game, it thinks for a little while then goes into fullscreen and as far as "Loading Game..." before then aborting. Here's the console output:

SDL splash renderer: macOS Metal bridge created 'metal' driver
openQ4 0.1.010-dev (macos-x64, Jul 13 2026 20:33:22)
loopback
IP: 10.0.1.210
NetMask: 255.255.255.0
doom using SSE2 for SIMD processing
enabled Flush-To-Zero mode
enabled Denormals-Are-Zero mode
Steam install discovery roots (1):
  /Users/behodar/Library/Application Support/Steam
Steam explicit library roots (0):
Steam library roots to probe (1):
  /Users/behodar/Library/Application Support/Steam
Steam Quake 4 install candidates (1):
  /Users/behodar/Library/Application Support/Steam/steamapps/common/Quake 4
------ Initializing File System ------
Ignoring unneeded game binary pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/game000.pk4
Ignoring unneeded game binary pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/game100.pk4
Ignoring unneeded game binary pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/game200.pk4
Loaded pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak001.pk4 with checksum 0xf2cbc998
Loaded pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak002.pk4 with checksum 0x7f8d80d1
Loaded pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak003.pk4 with checksum 0x1b57b207
Loaded pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak004.pk4 with checksum 0x385aa578
Loaded pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak005.pk4 with checksum 0x60d50a1d
Loaded pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak006.pk4 with checksum 0x9099ed11
Loaded pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak007.pk4 with checksum 0xaf301fff
Loaded pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak008.pk4 with checksum 0x4ac6f6d9
Loaded pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak009.pk4 with checksum 0x36030c7d
Loaded pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak010.pk4 with checksum 0x4b80fbda
Loaded pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak011.pk4 with checksum 0x8acf4cfa
Loaded pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak012.pk4 with checksum 0xbe4120b0
Loaded pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak013.pk4 with checksum 0x6ad67f40
Loaded pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak014.pk4 with checksum 0xee51cd59
Loaded pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak015.pk4 with checksum 0xf5bf4e0c
Loaded pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak016.pk4 with checksum 0x2196f58c
Loaded pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak017.pk4 with checksum 0x91118a35
Loaded pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak018.pk4 with checksum 0x98a14f03
Loaded pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak019.pk4 with checksum 0xbc82ac79
Loaded pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak020.pk4 with checksum 0xce74cda5
Loaded pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak021.pk4 with checksum 0x2ba6e70c
Loaded pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak022.pk4 with checksum 0x4e390eec
Loaded pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/q4cmp_pak001.pk4 with checksum 0xd0813943
Loaded pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/zpak_english.pk4 with checksum 0x5868f530
Loaded pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/zpak_english_01.pk4 with checksum 0xd9f04b8b
Loaded pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/baseoq4/pak0.pk4 with checksum 0x2d8e34ee
Loaded pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/baseoq4/pak1.pk4 with checksum 0x3d5e5b65
Addon pk4 /Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/q4cmp_pak001.pk4 with checksum 0xd0813943 is on addon list
Current search path:
/Users/behodar/Desktop/openQ4-0.8.0/baseoq4
/Users/behodar/Desktop/openQ4-0.8.0/builddir/baseoq4
/Users/behodar/Desktop/openQ4-0.8.0/builddir/baseoq4/pak1.pk4 (6617 files)
/Users/behodar/Desktop/openQ4-0.8.0/builddir/baseoq4/pak0.pk4 (196 files)
/Users/behodar/Library/Application Support/openQ4/baseoq4
/Users/behodar/Desktop/openQ4-0.8.0/q4base
/Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base
/Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/zpak_english_01.pk4 (1 files)
/Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/zpak_english.pk4 (3457 files)
/Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak022.pk4 (14 files)
/Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak021.pk4 (89 files)
/Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak020.pk4 (11 files)
/Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak019.pk4 (1206 files)
/Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak018.pk4 (3 files)
/Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak017.pk4 (3 files)
/Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak016.pk4 (193 files)
/Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak015.pk4 (34 files)
/Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak014.pk4 (552 files)
/Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak013.pk4 (239 files)
/Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak012.pk4 (1081 files)
/Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak011.pk4 (5620 files)
/Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak010.pk4 (5539 files)
/Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak009.pk4 (1284 files)
/Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak008.pk4 (1289 files)
/Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak007.pk4 (1330 files)
/Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak006.pk4 (1343 files)
/Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak005.pk4 (1395 files)
/Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak004.pk4 (2249 files)
/Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak003.pk4 (1281 files)
/Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak002.pk4 (313 files)
/Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/pak001.pk4 (5837 files)
/Users/behodar/Library/Application Support/openQ4/q4base
game DLL: 0x0 in pak: 0x0
Addon pk4s:
/Users/behodar/Desktop/openQ4-0.8.0/builddir/q4base/q4cmp_pak001.pk4 (119 files)
file system initialized.
--------------------------------------
----- Initializing Decls -----
Loading guides.... 64 loaded
1032ms to load 1129k of material
497ms to load 43k of skin
1049ms to load 723k of sound
18ms to load 1k of materialType
603ms to load 2889k of lipSync
177ms to load 105k of playback
11340ms to load 1690k of effect
------------------------------
------- Initializing renderSystem --------
renderSystem initialized.
--------------------------------------
696 strings read from strings/english_code.lang
1813 strings read from strings/english_guis.lang
5775 strings read from strings/english_lips.lang
5778 strings read from strings/english_mappack.lang
6254 strings read from strings/english_maps.lang
6387 strings read from strings/english_openq4.lang
execing default.cfg
execing openq4_defaults.cfg
696 strings read from strings/english_code.lang
1813 strings read from strings/english_guis.lang
5775 strings read from strings/english_lips.lang
5778 strings read from strings/english_mappack.lang
6254 strings read from strings/english_maps.lang
6387 strings read from strings/english_openq4.lang
com_machineSpec is unset; detecting system quality tier.
Detected
	CPU: x86 CPU with MMX/SSE/SSE2/SSE3 extensions
	System memory: 32 GB
	Video memory: 15.98 GB on an optimal video architecture

This system qualifies for Ultra quality!
----- Initializing Sound System ------
Setup OpenAL device and context... OpenAL output mode '5.1 surround' requested, but this build does not expose ALC_SOFT_output_mode; using the runtime default.
Done.
OpenAL ALC version: 1.1
OpenAL vendor: Apple Computer Inc.
OpenAL renderer: Software
OpenAL version: 1.1
OpenAL extensions: AL_EXT_OFFSET AL_EXT_LINEAR_DISTANCE AL_EXT_EXPONENT_DISTANCE AL_EXT_float32 AL_EXT_STATIC_BUFFER AL_EXT_SOURCE_NOTIFICATIONS AL_EXT_SOURCE_SPATIALIZATION
OpenAL requested device: system default
OpenAL default device: External Headphones
OpenAL active device: External Headphones
OpenAL HRTF: unavailable
OpenAL output mode: unavailable
OpenAL EFX is not available in this build; reverb wet send disabled.
sound system initialized.
--------------------------------------
----- R_InitOpenGL -----
renderer startup phase: R_InitOpenGL
Initializing OpenGL subsystem (SDL3 backend)
SDL3: adopting video subsystem initialized by early startup UI
SDL3: current video driver: cocoa
SDL3: available video drivers: cocoa
SDL3: graphics bridge: macOS Metal bridge (SDL3/Cocoa host, OpenGL renderer compatibility path)
SDL3: macOS Metal bridge keeps rendering on the existing OpenGL compatibility path; no native Metal renderer rewrite is selected.
SDL3: macOS Metal bridge hints: SDL_VIDEO_DRIVER=cocoa SDL_RENDER_DRIVER=metal,gpu,software SDL_GPU_DRIVER=metal SDL_VIDEO_METAL_AUTO_RESIZE_DRAWABLE=1
SDL3: detected 1 display(s):
  [0] * Built-in Retina Display (2560x1440 @ 0,0, contentScale 1.00, orientation landscape/landscape, desktop 2560x1440 @ 59.99 Hz (58853/981) pd=2.00, current 2560x1440 @ 59.99 Hz (58853/981) pd=2.00)
SDL3: macOS r_glTier auto will try the unversioned compatibility fallback before explicit profile contexts.
SDL3: trying OpenGL context compatibility fallback with MSAA samples=8
SDL3: created OpenGL context compatibility fallback with MSAA samples=8
SDL3: reported OpenGL context attributes: version=2.1 profile=default flags=0x0
SDL3: reported OpenGL multisample attributes: requested=8 selected=8 actualBuffers=1 actualSamples=8
SDL3: swap interval set to 0

------- Input Initialization -------
mouse: SDL3 initialized.
joystick: SDL3 initialized (no device detected).
------------------------------------
renderer startup phase: R_CheckPortableExtensions
Init Glew...
...using GL_ARB_multitexture
...using GL_ARB_texture_env_combine
...using GL_ARB_texture_cube_map
...enabled GL_TEXTURE_CUBE_MAP_SEAMLESS
...using GL_ARB_texture_env_dot3
...using GL_ARB_texture_env_add
...using GL_ARB_texture_non_power_of_two
...using GL_EXT_texture_compression_s3tc
X..GL_ARB_texture_compression_bptc not found
X..GL_EXT_texture_compression_bptc not found
...using GL_EXT_texture_filter_anisotropic
   maxTextureAnisotropy: 16.000000
...using GL_1.4_texture_lod_bias
X..GL_EXT_shared_texture_palette not found
X..GL_EXT_texture3D not found
...using GL_EXT_stencil_wrap
X..GL_NV_register_combiners not found
...using GL_EXT_stencil_two_side
X..GL_ATI_fragment_shader not found
X..GL_ATI_text_fragment_shader not found
...using GL_ARB_vertex_buffer_object
...using GL_ARB_vertex_program
...using GL_ARB_fragment_program
...using GL_ARB_shader_objects
...using GL_ARB_vertex_shader
...using GL_ARB_fragment_shader
...using GL_ARB_shading_language_100
...using GL_ARB shader objects + GLSL (version 1.20)
...using EXT_depth_bounds_test
renderer startup phase: R_ARB2_Init
---------- R_ARB2_Init ----------
Available.
---------------------------------
Renderer bootstrap: selected=LegacyGL2Compat requested=auto bridge=ARB2 modernExecutor=no defaultVisible=ARB2 reason=selected-tier-not-modern caps={GL 2.1 unknown, VBO:1 PBO:1 UBO:0 VAO:0 MRT:1 FBO:1 instancing:1 map_range:0 sync:1 compute:0 SSBO:0 indirect:0 MDI:0 buffer_storage:0 DSA:0 multi_bind:0 texture_view:0 gl_spirv:0 bindless:0}
renderer startup phase: R_ReloadARBPrograms_f
----- R_ReloadARBPrograms -----
glprogs/test.vfp
glprogs/test.vfp
renderer startup phase: R_ReloadARBPrograms_f: full interaction upload
glprogs/interaction.vfp: interaction color mode = packed env16.xy (auto=packed env16.xy, override=auto)

renderer startup phase: R_ReloadARBPrograms_f: full interaction upload
glprogs/interaction.vfp
glprogs/bumpyEnvironment.vfp
glprogs/bumpyEnvironment.vfp
glprogs/ambientLight.vfp
glprogs/ambientLight.vfp
glprogs/shadow.vp
glprogs/R200_interaction.vp
glprogs/nv20_bumpAndLight.vp
glprogs/nv20_diffuseColor.vp
glprogs/nv20_specularColor.vp
glprogs/nv20_diffuseAndSpecularColor.vp
glprogs/environment.vfp
glprogs/environment.vfp
glprogs/arbVP_glasswarp.txt
glprogs/arbFP_glasswarp.txt
renderer startup phase: R_ReloadARBPrograms_f: simple interaction upload
glprogs/SimpleInteraction.vfp
renderer startup phase: R_ReloadARBPrograms_f: simple interaction upload
glprogs/SimpleInteraction.vfp
glprogs/md5rinteraction.vp
glprogs/md5rinteraction1.vp
glprogs/md5rinteraction4.vp
glprogs/md5rsimple.vp
glprogs/md5rsimple1.vp
glprogs/md5rsimple4.vp
glprogs/md5rstdtex.vp
glprogs/md5rstdtex1.vp
glprogs/md5rstdtex4.vp
glprogs/md5rskybox.vp
glprogs/md5rskybox1.vp
glprogs/md5rskybox4.vp
glprogs/md5renvnormal.vp
glprogs/md5renvnormal1.vp
glprogs/md5renvnormal4.vp
glprogs/md5renvreflect.vp
glprogs/md5renvreflect1.vp
glprogs/md5renvreflect4.vp
glprogs/md5renvbump.vp
glprogs/md5renvbump1.vp
glprogs/md5renvbump4.vp
glprogs/md5rshadow.vp
glprogs/md5rshadow1.vp
glprogs/md5rshadow4.vp
glprogs/md5rbasicfog.vp
glprogs/md5rbasicfog1.vp
glprogs/md5rbasicfog4.vp
renderer startup phase: R_ReloadARBPrograms_f: selected full interaction
renderer startup ARB interaction selection: family=interaction vertex=1 fragment=11 colorMode=packed env16.xy auto=packed env16.xy override=auto
-------------------------------
renderer startup phase: R_RendererUpload_Init
Renderer upload manager: streaming legacy bridge, frameStream=subdata, staticAllocator=yes, buffers=4, ring=16384KB, sync=yes
renderer startup phase: vertexCache.Init
using ARB_vertex_buffer_object memory
vertex cache: frame-temp uploads routed through renderer upload stream (16384KB per frame buffer)
renderer startup phase: tr.SetBackEndRenderer
using ARB2 renderSystem
renderer startup phase: renderer startup complete
: interaction color mode = packed env16.xy (auto=packed env16.xy, override=auto)
----------------- BSE Init ------------------
--------- BSE Created Successfully ----------
openQ4-client_x64(30694,0x7ff85d6b1180) malloc: *** error for object 0x12bddf3d0: pointer being freed was not allocated
openQ4-client_x64(30694,0x7ff85d6b1180) malloc: *** set a breakpoint in malloc_error_break to debug
openQ4: fatal signal SIGABRT (6), exiting without unsafe engine shutdown
openQ4: last renderer startup phase: renderer startup complete

I don't really know my way around C++ but malloc_error_break doesn't seem to actually exist so I'm not sure how to get further debugging information out. I can see three possibilities here:

  1. I've done something wrong in the build process. Do the commands I posted above look correct?
  2. There's an incompatibility with OS 15 specifically (I see that at least two people have managed to get further, but they're both on OS 26).
  3. There's an incompatibility with Intel.

Any idea what might be happening here?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions