patriciogonzalezvivo / glslViewer

Console-based GLSL Sandbox for 2D/3D shaders
BSD 3-Clause "New" or "Revised" License
4.62k stars 350 forks source link

Segfault on launch without arguments #291

Closed martinleopold closed 1 year ago

martinleopold commented 1 year ago

Launching without arguments (or with --help) produces a segmentation fault on Mac OS 12.6.

Traced it back to the vera::TextureCube destructor in lldb:

* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
  * frame #0: 0x00007ffa2fbd14ec libGL.dylib`glDeleteTextures + 18
    frame #1: 0x00000001001f342c glslViewer`vera::TextureCube::~TextureCube() + 44
    frame #2: 0x00000001001f3475 glslViewer`vera::TextureCube::~TextureCube() + 21
    frame #3: 0x00000001001f3499 glslViewer`vera::TextureCube::~TextureCube() + 25
    frame #4: 0x000000010038b3ec glslViewer`vera::Scene::clearCubemaps() + 124
    frame #5: 0x0000000100388291 glslViewer`vera::Scene::clear() + 49
    frame #6: 0x0000000100387b47 glslViewer`vera::Scene::~Scene() + 39
    frame #7: 0x0000000100170e18 glslViewer`Uniforms::~Uniforms(this=0x0000000100513018) at uniforms.cpp:216:1
    frame #8: 0x0000000100170ec5 glslViewer`Uniforms::~Uniforms(this=0x0000000100513018) at uniforms.cpp:214:22
    frame #9: 0x0000000100071aa3 glslViewer`Sandbox::~Sandbox(this=0x0000000100512ff8) at sandbox.cpp:137:1
    frame #10: 0x0000000100071b45 glslViewer`Sandbox::~Sandbox(this=0x0000000100512ff8) at sandbox.cpp:127:21
    frame #11: 0x00007ff816ac0de4 libsystem_c.dylib`__cxa_finalize_ranges + 409
    frame #12: 0x00007ff816ac0bfe libsystem_c.dylib`exit + 35
    frame #13: 0x000000010000d488 glslViewer`main(argc=1, argv=0x00007ff7bfeff750) at main.cpp:340:9
    frame #14: 0x00000001010cd52e dyld`start + 462