Cortex-Command-Community-Project
Cortex-Command-Community-Project copied to clipboard
Mac release broken
The currently packaged mac release is non functional. To start, it links against libraries that are not part of the standard mac distribution nor are distributed in the archive:
- sdl2
- minizip
- luajit
- lz3
- png16
- tbb
Once I fix this by installing them through homebrew, I get a segfault which prevents the game from opening.
Additionally, the game isn't compiled for ARM which limits is distribution potential. I'll try getting it building locally later to see if this is still a problem on master.
Really cool if you want to fix the mac build, as we currently don't have anyone supporting that.
The libraries are actually bundled in the app, or should be anyways (under Contents/Frameworks)
Current build targets macos 11.1 (or 10.15 maybe, mac target is confusing) (last intel mac anyways)
Native ARM build was previously hindered by FMOD not being available for arm mac, you'd need to fetch that from fmod.com and add that to the build files (external/lib/macos/aarch64). Build requires gcc12 and corresponding libstdc++, unless clang has added support for std::execution at some point. Otherwise the build should work fine.
Graphics framework is using OpenGL3.1.
Really cool if you want to fix the mac build, as we currently don't have anyone supporting that.
I'm not a C++ nor a mac app developer but I was hoping to give in to nostalgia over the holidays a bit so I'll take a look.
The libraries are actually bundled in the app, or should be anyways (under Contents/Frameworks)
Must be linked incorrectly then.
I'll look at building later.
I was able to get it building with the following diff:
diff --git a/README.md b/README.md
index 156e74ed5..bf1f9ff04 100644
--- a/README.md
+++ b/README.md
@@ -123,7 +123,7 @@ If you want to change the buildtype afterwards, you can use `meson configure --b
- `Xcode` or `Command Line Tools for Xcode` (if you need to, you can also generate an xcode project from meson using the `--backend=xcode` option on setup)
**Homebrew (macOS):**
-`brew install pkg-config sdl2 minizip lz4 flac luajit lua libpng tbb gcc@13 ninja meson dylibbundler`
+`brew install pkg-config sdl2 sdl2_image minizip lz4 flac luajit lua libpng tbb gcc@13 ninja meson dylibbundler`
**Arch Linux:**
`sudo pacman -S sdl2 sdl2_image tbb flac luajit lua minizip lz4 libpng meson ninja base-devel`
diff --git a/external/lib/macos/libfmod.dylib b/external/lib/macos/libfmod.dylib
index 14212a2c4..064faf155 100644
Binary files a/external/lib/macos/libfmod.dylib and b/external/lib/macos/libfmod.dylib differ
diff --git a/meson.build b/meson.build
index d640ab27f..43ae93b3d 100644
--- a/meson.build
+++ b/meson.build
@@ -199,10 +199,13 @@ if host_machine.system() in ['linux','darwin']
dependency('liblz4'),
dependency('libpng'),
dependency('tbb'),
- dependency('gl')
]
- if host_machine.system()=='darwin'
- deps += dependency('appleframeworks', modules: ['Foundation'])
+ if host_machine.system() == 'darwin'
+ sdk_path = '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk'
+ link_args += ['-F' + sdk_path + '/System/Library/Frameworks']
+ deps += dependency('appleframeworks', modules: ['Foundation', 'OpenGL'])
+ else
+ deps += dependency('gl')
endif
elif host_machine.system() == 'windows'
sdl2 = subproject('SDL2-2.26.3')
This gets me to launch a window which immediately crashes with:
INFO: GLAD: OpenGL extensions loaded successfully
INFO: GL: Supported extensions count: 43
INFO: GL: OpenGL extensions:
INFO: GL_ARB_blend_func_extended
INFO: GL_ARB_draw_buffers_blend
INFO: GL_ARB_draw_indirect
INFO: GL_ARB_ES2_compatibility
INFO: GL_ARB_explicit_attrib_location
INFO: GL_ARB_gpu_shader_fp64
INFO: GL_ARB_gpu_shader5
INFO: GL_ARB_instanced_arrays
INFO: GL_ARB_internalformat_query
INFO: GL_ARB_occlusion_query2
INFO: GL_ARB_sample_shading
INFO: GL_ARB_sampler_objects
INFO: GL_ARB_separate_shader_objects
INFO: GL_ARB_shader_bit_encoding
INFO: GL_ARB_shader_subroutine
INFO: GL_ARB_shading_language_include
INFO: GL_ARB_tessellation_shader
INFO: GL_ARB_texture_buffer_object_rgb32
INFO: GL_ARB_texture_cube_map_array
INFO: GL_ARB_texture_gather
INFO: GL_ARB_texture_query_lod
INFO: GL_ARB_texture_rgb10_a2ui
INFO: GL_ARB_texture_storage
INFO: GL_ARB_texture_swizzle
INFO: GL_ARB_timer_query
INFO: GL_ARB_transform_feedback2
INFO: GL_ARB_transform_feedback3
INFO: GL_ARB_vertex_attrib_64bit
INFO: GL_ARB_vertex_type_2_10_10_10_rev
INFO: GL_ARB_viewport_array
INFO: GL_EXT_debug_label
INFO: GL_EXT_debug_marker
INFO: GL_EXT_framebuffer_multisample_blit_scaled
INFO: GL_EXT_texture_compression_s3tc
INFO: GL_EXT_texture_filter_anisotropic
INFO: GL_EXT_texture_sRGB_decode
INFO: GL_APPLE_client_storage
INFO: GL_APPLE_container_object_shareable
INFO: GL_APPLE_flush_render
INFO: GL_APPLE_rgb_422
INFO: GL_APPLE_row_bytes
INFO: GL_APPLE_texture_range
INFO: GL_NV_texture_barrier
INFO: GL: OpenGL device information:
INFO: > Vendor: Apple
INFO: > Renderer: Apple M1 Pro
INFO: > Version: 4.1 Metal - 89.3
INFO: > GLSL: 4.10
INFO: GL: OpenGL capabilities:
INFO: GL_MAX_TEXTURE_SIZE: 16384
INFO: GL_MAX_CUBE_MAP_TEXTURE_SIZE: 16384
INFO: GL_MAX_TEXTURE_IMAGE_UNITS: 16
INFO: GL_MAX_VERTEX_ATTRIBS: 16
INFO: GL_MAX_UNIFORM_BLOCK_SIZE: 65536
INFO: GL_MAX_DRAW_BUFFERS: 8
INFO: GL_MAX_TEXTURE_MAX_ANISOTROPY: 16
INFO: GL_NUM_COMPRESSED_TEXTURE_FORMATS: 3
INFO: GL_COMPRESSED_RGB_S3TC_DXT1_EXT
INFO: GL_COMPRESSED_RGBA_S3TC_DXT3_EXT
INFO: GL_COMPRESSED_RGBA_S3TC_DXT5_EXT
INFO: TEXTURE: [ID 1] Texture loaded successfully (1x1 | R8G8B8A8 | 1 mipmaps)
INFO: TEXTURE: [ID 1] Default texture loaded successfully
INFO: SHADER: [ID 1] Vertex shader compiled successfully
INFO: SHADER: [ID 2] Fragment shader compiled successfully
INFO: SHADER: [ID 3] Program shader loaded successfully
INFO: SHADER: [ID 3] Default shader loaded successfully
INFO: RLGL: Render batch vertex buffers loaded successfully in RAM (CPU)
INFO: RLGL: Render batch vertex buffers loaded successfully in VRAM (GPU)
INFO: RLGL: Default OpenGL state initialized successfully
INFO: TEXTURE: [ID 3] Texture loaded successfully (960x540 | R8G8B8A8 | 1 mipmaps)
INFO: TEXTURE: Depth texture loaded successfully
Runtime Error in file '', line 671121408,
in function '�x3'
because:
ERROR: Failed to compile shaders:
File Data/Base.rte/Shaders/ScreenBlit.vert doesn't exist.
The last frame has been dumped to 'AbortScreen.png'.
The console has been dumped to 'AbortLog.txt'.
2024-12-18 21:50:51.118 CortexCommand[82460:1988138] -[NSConcreteAttributedString initWithString:] called with nil string argument. This has undefined behavior and will raise an exception in post-Leopard linked apps. This warning is displayed only once.
2024-12-18 21:50:52.037 CortexCommand[82460:1988138] +[IMKClient subclass]: chose IMKClient_Modern
2024-12-18 21:50:52.037 CortexCommand[82460:1988138] +[IMKInputSession subclass]: chose IMKInputSession_Modern
zsh: abort ./CortexCommand
Copying Data gives
Failed to compile Data/Base.rte/Shaders/ScreenBlit.vert:
ERROR: 0:1: '' : version '130' is not supported
ERROR: 0:2: '' : #version required and missing.
Instead.
Fixing the versions gets me to display the loading image before the crash, seems like further shader issues.
Fixing Background.frag gets me to the main menu!! 🎉
I was able to play a game but when my brain was busted it crashed:
/opt/homebrew/Cellar/gcc@13/13.3.0/include/c++/13/bits/stl_vector.h:1128: constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](size_type) [with _Tp = unsigned int; _Alloc = std::allocator<unsigned int>; reference = unsigned int&; size_type = long unsigned int]: Assertion '__n < this->size()' failed.
diff --git a/Data/Base.rte/Shaders/Background.frag b/Data/Base.rte/Shaders/Background.frag
index e148f9440..4a8ebca73 100644
--- a/Data/Base.rte/Shaders/Background.frag
+++ b/Data/Base.rte/Shaders/Background.frag
@@ -1,4 +1,4 @@
-#version 130
+#version 410
in vec2 textureUV;
in vec4 vertexColor;
@@ -12,18 +12,18 @@ uniform bool drawMasked;
vec4 texture2DAA(sampler2D tex, vec2 uv) {
- vec2 texsize = vec2(textureSize(tex, 0));
- vec2 uv_texspace = uv * texsize;
- vec2 seam = floor(uv_texspace + .5);
- uv_texspace = (uv_texspace - seam) / fwidth(uv_texspace) + seam;
- uv_texspace = clamp(uv_texspace, seam - .5, seam + .5);
- return texture(tex, uv_texspace / texsize);
+ vec2 texsize = vec2(textureSize(tex, 0));
+ vec2 uv_texspace = uv * texsize;
+ vec2 seam = floor(uv_texspace + .5);
+ uv_texspace = (uv_texspace - seam) / fwidth(uv_texspace) + seam;
+ uv_texspace = clamp(uv_texspace, seam - .5, seam + .5);
+ return texture(tex, uv_texspace / texsize);
}
void main() {
- float red = texture2D(rteTexture, textureUV).r;
- if (red==0 && drawMasked) {
- discard;
- }
- FragColor = texture2DAA(rtePalette, vec2(red * rteColor.r * vertexColor.r, 0.0)) * vec4(vec3(1.0), rteColor.a * vertexColor.a);
-}
+ float redComponent = texture(rteTexture, textureUV).r;
+ if (redComponent == 0 && drawMasked) {
+ discard;
+ }
+ FragColor = texture2DAA(rtePalette, vec2(redComponent * rteColor.r * vertexColor.r, 0.0)) * vec4(vec3(1.0), rteColor.a * vertexColor.a);
+}
\ No newline at end of file
diff --git a/Data/Base.rte/Shaders/Blit8.frag b/Data/Base.rte/Shaders/Blit8.frag
index f61dfd783..3299b9a93 100644
--- a/Data/Base.rte/Shaders/Blit8.frag
+++ b/Data/Base.rte/Shaders/Blit8.frag
@@ -1,5 +1,5 @@
// Blit8.frag
-#version 130
+#version 410
in vec2 textureUV;
diff --git a/Data/Base.rte/Shaders/Blit8.vert b/Data/Base.rte/Shaders/Blit8.vert
index 489d0eb9f..de4549f2d 100644
--- a/Data/Base.rte/Shaders/Blit8.vert
+++ b/Data/Base.rte/Shaders/Blit8.vert
@@ -1,4 +1,4 @@
-#version 130
+#version 410
in vec3 rteVertexPosition;
in vec2 rteVertexTexUV;
diff --git a/Data/Base.rte/Shaders/Flat.frag b/Data/Base.rte/Shaders/Flat.frag
index cb0e6e1df..8e233e986 100644
--- a/Data/Base.rte/Shaders/Flat.frag
+++ b/Data/Base.rte/Shaders/Flat.frag
@@ -1,4 +1,4 @@
-#version 130
+#version 410
in vec2 textureUV;
diff --git a/Data/Base.rte/Shaders/PostProcess.frag b/Data/Base.rte/Shaders/PostProcess.frag
index ed2835c5f..6d5708d92 100644
--- a/Data/Base.rte/Shaders/PostProcess.frag
+++ b/Data/Base.rte/Shaders/PostProcess.frag
@@ -1,4 +1,4 @@
-#version 130
+#version 410
in vec2 textureUV;
in vec4 vertexColor;
diff --git a/Data/Base.rte/Shaders/PostProcess.vert b/Data/Base.rte/Shaders/PostProcess.vert
index 1b790d261..4a5bc4398 100644
--- a/Data/Base.rte/Shaders/PostProcess.vert
+++ b/Data/Base.rte/Shaders/PostProcess.vert
@@ -1,4 +1,4 @@
-#version 130
+#version 410
in vec3 rteVertexPosition;
in vec2 rteVertexTexUV;
diff --git a/Data/Base.rte/Shaders/ScreenBlit.frag b/Data/Base.rte/Shaders/ScreenBlit.frag
index 6ce470791..7eb90fc7f 100644
--- a/Data/Base.rte/Shaders/ScreenBlit.frag
+++ b/Data/Base.rte/Shaders/ScreenBlit.frag
@@ -1,4 +1,4 @@
-#version 130
+#version 410
in vec2 textureUV;
diff --git a/Data/Base.rte/Shaders/ScreenBlit.vert b/Data/Base.rte/Shaders/ScreenBlit.vert
index 85316fb3f..4ea3953ab 100644
--- a/Data/Base.rte/Shaders/ScreenBlit.vert
+++ b/Data/Base.rte/Shaders/ScreenBlit.vert
@@ -1,4 +1,4 @@
-#version 130
+#version 410
in vec3 rteVertexPosition;
in vec2 rteVertexTexUV;
diff --git a/README.md b/README.md
index 156e74ed5..bf1f9ff04 100644
--- a/README.md
+++ b/README.md
@@ -123,7 +123,7 @@ If you want to change the buildtype afterwards, you can use `meson configure --b
- `Xcode` or `Command Line Tools for Xcode` (if you need to, you can also generate an xcode project from meson using the `--backend=xcode` option on setup)
**Homebrew (macOS):**
-`brew install pkg-config sdl2 minizip lz4 flac luajit lua libpng tbb gcc@13 ninja meson dylibbundler`
+`brew install pkg-config sdl2 sdl2_image minizip lz4 flac luajit lua libpng tbb gcc@13 ninja meson dylibbundler`
**Arch Linux:**
`sudo pacman -S sdl2 sdl2_image tbb flac luajit lua minizip lz4 libpng meson ninja base-devel`
diff --git a/external/lib/macos/libfmod.dylib b/external/lib/macos/libfmod.dylib
index 14212a2c4..064faf155 100644
Binary files a/external/lib/macos/libfmod.dylib and b/external/lib/macos/libfmod.dylib differ
diff --git a/meson.build b/meson.build
index d640ab27f..43ae93b3d 100644
--- a/meson.build
+++ b/meson.build
@@ -199,10 +199,13 @@ if host_machine.system() in ['linux','darwin']
dependency('liblz4'),
dependency('libpng'),
dependency('tbb'),
- dependency('gl')
]
- if host_machine.system()=='darwin'
- deps += dependency('appleframeworks', modules: ['Foundation'])
+ if host_machine.system() == 'darwin'
+ sdk_path = '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk'
+ link_args += ['-F' + sdk_path + '/System/Library/Frameworks']
+ deps += dependency('appleframeworks', modules: ['Foundation', 'OpenGL'])
+ else
+ deps += dependency('gl')
endif
elif host_machine.system() == 'windows'
sdl2 = subproject('SDL2-2.26.3')
above is my current patch.
I was able to play a game but when my brain was busted it crashed:
/opt/homebrew/Cellar/gcc@13/13.3.0/include/c++/13/bits/stl_vector.h:1128: constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](size_type) [with _Tp = unsigned int; _Alloc = std::allocator<unsigned int>; reference = unsigned int&; size_type = long unsigned int]: Assertion '__n < this->size()' failed.
Hey, do you have the full callstack here? Also was this in Conquest or a scenario? Conquest is pretty untested and broken just now.
Scenarios, I tried out a few (Tutorial, Exploration, ...) which all seem to fail at various points, the exploration one fails when you kill all the small crabs (which triggers the boss crab spawn?).
Unfortunately no stack trace is provided (I guess I should build it in debug mode for that?).
nvm got it from the core dump:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x193d5a600 __pthread_kill + 8
1 libsystem_pthread.dylib 0x193d92f70 pthread_kill + 288
2 libsystem_c.dylib 0x193c9f908 abort + 128
3 libstdc++.6.dylib 0x107d83b68 std::__glibcxx_assert_fail(char const*, int, char const*, char const*) + 72
4 CortexCommand 0x1030dfc6c std::vector<unsigned int, std::allocator<unsigned int>>::operator[](unsigned long) + 148 (stl_vector.h:1128)
5 CortexCommand 0x1030dd504 RTE::DynamicSongSection::SelectSoundContainer() + 344 (DynamicSong.cpp:188)
6 CortexCommand 0x1030dd150 RTE::DynamicSongSection::SelectTransitionSoundContainer() + 48 (DynamicSong.cpp:129)
7 CortexCommand 0x1033293e4 RTE::MusicMan::SelectNextSoundContainer(bool) + 48 (MusicMan.cpp:287)
8 CortexCommand 0x1033287d8 RTE::MusicMan::PlayDynamicSong(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool, bool, bool) + 364 (MusicMan.cpp:106)
9 CortexCommand 0x103651cd4 RTE::LuaAdaptersMusicMan::PlayDynamicSong3(RTE::MusicMan&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool) + 60 (LuaAdapters.cpp:538)
10 CortexCommand 0x10398c46c int luabind::detail::returns<bool>::call<RTE::MusicMan, luabind::detail::null_type, RTE::MusicMan&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool>(bool (*)(RTE::MusicMan&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool), RTE::MusicMan*, lua_State*, luabind::detail::null_type const*) + 208 (call.hpp:236)
11 CortexCommand 0x10396c9ac int luabind::detail::call<RTE::MusicMan, luabind::detail::null_type, bool, RTE::MusicMan&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool>(bool (*)(RTE::MusicMan&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool), RTE::MusicMan*, lua_State*, luabind::detail::null_type const*) + 44 (call.hpp:386)
12 CortexCommand 0x103950180 luabind::detail::mem_fn_callback<bool (*)(RTE::MusicMan&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool), RTE::MusicMan, luabind::detail::null_type>::operator()(lua_State*) const + 40 (class.hpp:223)
13 CortexCommand 0x10393630c boost::detail::function::function_obj_invoker1<luabind::detail::mem_fn_callback<bool (*)(RTE::MusicMan&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool), RTE::MusicMan, luabind::detail::null_type>, int, lua_State*>::invoke(boost::detail::function::function_buffer&, lua_State*) + 40 (function_template.hpp:137)
14 CortexCommand 0x103c2f920 boost::function1<int, lua_State*>::operator()(lua_State*) const + 84 (function_template.hpp:763)
15 CortexCommand 0x103c327a8 luabind::detail::overload_rep::call(lua_State*, bool) const + 76 (overload_rep.cpp:32)
16 CortexCommand 0x103c29cbc luabind::detail::class_rep::function_dispatcher(lua_State*) + 1524 (class_rep.cpp:667)
17 CortexCommand 0x103aa68d4 lj_BC_FUNCC + 44
18 CortexCommand 0x103adcaa0 lua_pcall + 152 (lj_api.c:1145)
19 CortexCommand 0x103c56368 RTE::LuaStateWrapper::RunScriptFunctionObject(RTE::LuabindObjectWrapper const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::vector<RTE::Entity const*, std::allocator<RTE::Entity const*>> const&, std::vector<std::basic_string_view<char, std::char_traits<char>>, std::allocator<std::basic_string_view<char, std::char_traits<char>>>> const&, std::vector<RTE::LuabindObjectWrapper*, std::allocator<RTE::LuabindObjectWrapper*>> const&) + 3960 (LuaMan.cpp:606)
20 CortexCommand 0x102fd3a30 RTE::GAScripted::RunLuaFunction(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::vector<RTE::Entity const*, std::allocator<RTE::Entity const*>> const&, std::vector<std::basic_string_view<char, std::char_traits<char>>, std::allocator<std::basic_string_view<char, std::char_traits<char>>>> const&, std::vector<RTE::LuabindObjectWrapper*, std::allocator<RTE::LuabindObjectWrapper*>> const&) + 232 (GAScripted.cpp:365)
21 CortexCommand 0x102fd2958 RTE::GAScripted::Update() + 328 (GAScripted.cpp:333)
22 CortexCommand 0x1032875dc RTE::ActivityMan::Update() + 76 (ActivityMan.cpp:434)
23 CortexCommand 0x102f886ec RunGameLoop() + 1576 (Main.cpp:351)
24 CortexCommand 0x102f89618 main + 632 (Main.cpp:496)
25 dyld 0x193a10274 start + 2840
@pawnishoovy
Crash is same as #161
@HeliumAnt other than the sound crash, should we merge these diffs in to get past the other crashes?
The meson changes are fine, the shader changes will break other systems. Shaders are a matter of the incorrectly set context, which should be 3.1 compat instead of 3.3core. I'm actually surprised that worked for me at all, since mesa is usually not that lenient on core profile. Would actually prefer to use 330core shaders but we got some people with oldass laptop hardware.
@xldenis initial arm test build here, could you check if this works? https://github.com/cortex-command-community/Cortex-Command-Community-Project/actions/runs/12417897548
Exception Type: EXC_BAD_ACCESS (SIGKILL (Code Signature Invalid))
Exception Codes: UNKNOWN_0x32 at 0x00000001058ec000
Exception Codes: 0x0000000000000032, 0x00000001058ec000
Termination Reason: Namespace CODESIGNING, Code 2 Invalid Page
VM Region Info: 0x1058ec000 is in 0x1058ec000-0x105a68000; bytes after start: 0 bytes before end: 1556479
REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL
__LINKEDIT 105084000-1058ec000 [ 8608K] r--/r-- SM=COW /Users/USER/Downloads/*/Cortex Command.app/Contents/MacOS/CortexCommand
---> mapped file 1058ec000-105a68000 [ 1520K] r--/rwx SM=COW Object_id=ec440b42
GAP OF 0x62188000 BYTES
Stack Guard 167bf0000-16b3f4000 [ 56.0M] ---/rwx SM=NUL
I already removed the quarantine bit with xattr -d com.apple.quarantine Cortex\ Command.app not sure how to deal with this though.
A new error on a different scenario: /opt/homebrew/Cellar/gcc@13/13.3.0/include/c++/13/bits/stl_deque.h:1366: std::deque<_Tp, _Alloc>::reference std::deque<_Tp, _Alloc>::operator[](size_type) [with _Tp = RTE::Actor*; _Alloc = std::allocator<RTE::Actor*>; reference = RTE::Actor*&; size_type = long unsigned int]: Assertion '__n < this->size()' failed.
Can we get another call stack, and repro steps? Looks like a very similar issue
Can we get another call stack, and repro steps? Looks like a very similar issue
Unfortunately this one is not as consistently reproducible, but I'll get one the next time it crashes.