Try using lldb to see where crash is (or at least the second free)?
[ ... ]Setting up jump points for longjmpLooking for a game to launchOpening game ''engine(32663,0x102a9e000) malloc: *** error for object 0x10081be00: pointer being freed was not allocated*** set a breakpoint in malloc_error_break to debugProcess 32663 stopped* thread #6: tid = 0x325f34, 0x00007fff96371866 libsystem_kernel.dylib`__pthread_kill + 10, stop reason = signal SIGABRT frame #0: 0x00007fff96371866 libsystem_kernel.dylib`__pthread_kill + 10libsystem_kernel.dylib`__pthread_kill + 10:-> 0x7fff96371866: jae 0x7fff96371870 ; __pthread_kill + 20 0x7fff96371868: movq %rax, %rdi 0x7fff9637186b: jmp 0x7fff9636e175 ; cerror_nocancel 0x7fff96371870: retq
[ ... ]Shutting down spriteset managerShutting down Audialisengine(32687,0x102a9e000) malloc: *** error for object 0x101809a00: pointer being freed was not allocated*** set a breakpoint in malloc_error_break to debugProcess 32687 stopped* thread #6: tid = 0x3263bb, 0x00007fff96371866 libsystem_kernel.dylib`__pthread_kill + 10, stop reason = signal SIGABRT frame #0: 0x00007fff96371866 libsystem_kernel.dylib`__pthread_kill + 10libsystem_kernel.dylib`__pthread_kill + 10:-> 0x7fff96371866: jae 0x7fff96371870 ; __pthread_kill + 20 0x7fff96371868: movq %rax, %rdi 0x7fff9637186b: jmp 0x7fff9636e175 ; cerror_nocancel 0x7fff96371870: retq
The Audialis shutdown crash I think I have a lead on, but I'd need to see your entire console log, from "Parsing command line" on.
Parsing command line Game path: <none provided> Frameskip limit: 5 frames CPU throttle: ON Console verbosity: L1Initializing AllegroInitializing DyadLoading system configurationInitializing async managerInitializing Mersenne TwisterInitializing GalileoInitializing AudialisInitializing inputInitializing spriteset managerInitializing map engineInitializing persons managerInitializing DuktapeInitializing CoffeeScript Error evaluating compiler script RangeError: compiler recursion limit (line 8)'CoffeeScript' not definedInitializing Sphere API v2.0 (minisphere 1.5.2) minisphere sphere-legacy-api sphere-obj-constructors sphere-obj-props sphere-audialis sphere-coffeescript sphere-commonjs sphere-galileo sphere-map-engine sphere-spherefs minisphere-async-api minisphere-new-sockets minisphere-rng-object minisphere-galileo-shaders frameskip-api set-script-functionSetting up jump points for longjmpLooking for a game to launchOpening game '/Users/lux/dev/minisphere/bin/games/nmix/game.sgm' Title: NMix Author: NeoLogiX Resolution: 320x240Creating render windowInitializing shader managerFragment shader compile log:ERROR: 0:10: 'blend_mode' : syntax error syntax error System shaders not foundLoading system fontCalling game()JS Error: game.js:6 - Error: Hello, mixer!Shutting down map engineShutting down persons managerShutting down inputShutting down DuktapeShutting down DyadShutting down spriteset managerShutting down Audialisengine(32687,0x102a9e000) malloc: *** error for object 0x101809a00: pointer being freed was not allocated*** set a breakpoint in malloc_error_break to debugProcess 32687 stopped* thread #6: tid = 0x3263bb, 0x00007fff96371866 libsystem_kernel.dylib`__pthread_kill + 10, stop reason = signal SIGABRT frame #0: 0x00007fff96371866 libsystem_kernel.dylib`__pthread_kill + 10libsystem_kernel.dylib`__pthread_kill + 10:-> 0x7fff96371866: jae 0x7fff96371870 ; __pthread_kill + 20 0x7fff96371868: movq %rax, %rdi 0x7fff9637186b: jmp 0x7fff9636e175 ; cerror_nocancel 0x7fff96371870: retq
* thread #6: tid = 0x33298d, 0x00007fff96371866 libsystem_kernel.dylib`__pthread_kill + 10, stop reason = signal SIGABRT * frame #0: 0x00007fff96371866 libsystem_kernel.dylib`__pthread_kill + 10 frame #1: 0x00007fff92a1c35c libsystem_pthread.dylib`pthread_kill + 92 frame #2: 0x00007fff96f58b1a libsystem_c.dylib`abort + 125 frame #3: 0x00007fff9161707f libsystem_malloc.dylib`free + 411 frame #4: 0x00000001000e29c6 liballegro_audio.5.1.dylib`_aqueue_deallocate_voice(voice=0x00000001005359f0) + 70 at aqueue.m:212 frame #5: 0x00000001000e1a38 liballegro_audio.5.1.dylib`al_destroy_voice(voice=0x00000001005359f0) + 40 at kcm_voice.c:114 frame #6: 0x0000000100164bab liballegro.5.1.dylib`_al_run_destructors(dtors=0x0000000100535980) + 155 at dtor.c:117 frame #7: 0x00000001000d8675 liballegro_audio.5.1.dylib`_al_kcm_shutdown_destructors + 21 at kcm_dtor.c:46 frame #8: 0x00000001000d74e8 liballegro_audio.5.1.dylib`al_uninstall_audio + 24 at audio.c:401 frame #9: 0x0000000100166108 liballegro.5.1.dylib`_al_run_exit_funcs + 136 at exitfunc.c:92 frame #10: 0x000000010016cac5 liballegro.5.1.dylib`al_uninstall_system + 21 at system.c:298 frame #11: 0x00007fff96f59794 libsystem_c.dylib`__cxa_finalize + 164 frame #12: 0x00007fff96f59a4c libsystem_c.dylib`exit + 22 frame #13: 0x00000001001a77be liballegro.5.1.dylib`+[AllegroAppDelegate app_main:] [inlined] call_user_main + 30 at osx_app_delegate.m:214 frame #14: 0x00000001001a77a4 liballegro.5.1.dylib`+[AllegroAppDelegate app_main:](self=<unavailable>, _cmd=<unavailable>, arg=<unavailable>) + 4 at osx_app_delegate.m:225 frame #15: 0x00007fff917d0d8b Foundation`__NSThread__main__ + 1318 frame #16: 0x00007fff92a1b899 libsystem_pthread.dylib`_pthread_body + 138 frame #17: 0x00007fff92a1b72a libsystem_pthread.dylib`_pthread_start + 137 frame #18: 0x00007fff92a1ffc9 libsystem_pthread.dylib`thread_start + 13
frame #4: 0x00000001000e29c6 liballegro_audio.5.1.dylib`_aqueue_deallocate_voice(voice=0x00000001005359f0) + 70 at aqueue.m:212 209 static void _aqueue_deallocate_voice(ALLEGRO_VOICE *voice) 210 { 211 al_free(voice->extra);-> 212 al_free(silence); 213 voice->extra = NULL; 214 } 215 frame #5: 0x00000001000e1a38 liballegro_audio.5.1.dylib`al_destroy_voice(voice=0x00000001005359f0) + 40 at kcm_voice.c:114 111 ASSERT(al_get_voice_playing(voice) == false); 112 113 /* We do NOT lock the voice mutex when calling this method. */-> 114 voice->driver->deallocate_voice(voice); 115 al_destroy_mutex(voice->mutex); 116 al_destroy_cond(voice->cond); 117
Returns true on success, false on failure.
breakpoint set -f <filename> -l <line>
I don't know anything about lldb, but could you checkout the latest source, run the engine with the option --log-level 4 and post the console output?
Parsing command line Game path: <none provided> Frameskip limit: 5 frames CPU throttle: ON Console verbosity: L4Initializing AllegroInitializing DyadLoading system configurationOpening File 0 as '~sys/system.ini'Initializing async managerInitializing Mersenne TwisterSeeding MT19937 (1437418155)Initializing GalileoInitializing AudialisCreating new Mixer 0 at 44 kHz Format: 2ch 44100 Hz, 16-bitIncrementing Mixer 0 refcount, new: 1Initializing inputOpening File 1 as '~sys/../minisphere.conf'Reading key 'keymap_Player1_MENU' from File 1Reading key 'keymap_Player1_UP' from File 1Reading key 'keymap_Player1_DOWN' from File 1Reading key 'keymap_Player1_LEFT' from File 1Reading key 'keymap_Player1_RIGHT' from File 1Reading key 'keymap_Player1_A' from File 1Reading key 'keymap_Player1_B' from File 1Reading key 'keymap_Player1_X' from File 1Reading key 'keymap_Player1_Y' from File 1Reading key 'keymap_Player2_MENU' from File 1Reading key 'keymap_Player2_UP' from File 1Reading key 'keymap_Player2_DOWN' from File 1Reading key 'keymap_Player2_LEFT' from File 1Reading key 'keymap_Player2_RIGHT' from File 1Reading key 'keymap_Player2_A' from File 1Reading key 'keymap_Player2_B' from File 1Reading key 'keymap_Player2_X' from File 1Reading key 'keymap_Player2_Y' from File 1Reading key 'keymap_Player3_MENU' from File 1Reading key 'keymap_Player3_UP' from File 1Reading key 'keymap_Player3_DOWN' from File 1Reading key 'keymap_Player3_LEFT' from File 1Reading key 'keymap_Player3_RIGHT' from File 1Reading key 'keymap_Player3_A' from File 1Reading key 'keymap_Player3_B' from File 1Reading key 'keymap_Player3_X' from File 1Reading key 'keymap_Player3_Y' from File 1Reading key 'keymap_Player4_MENU' from File 1Reading key 'keymap_Player4_UP' from File 1Reading key 'keymap_Player4_DOWN' from File 1Reading key 'keymap_Player4_LEFT' from File 1Reading key 'keymap_Player4_RIGHT' from File 1Reading key 'keymap_Player4_A' from File 1Reading key 'keymap_Player4_B' from File 1Reading key 'keymap_Player4_X' from File 1Reading key 'keymap_Player4_Y' from File 1File 1 no longer in use, deallocatingInitializing spriteset managerInitializing map engineInitializing persons managerInitializing JavaScript Duktape v1.2.2 Error evaluating compiler script RangeError: compiler recursion limit (line 8) CoffeeScript support not enabledInitializing Sphere API v2.0 (minisphere 1.5.3) minisphere sphere-legacy-api sphere-obj-constructors sphere-obj-props sphere-audialis sphere-coffeescript sphere-commonjs sphere-galileo sphere-map-engine sphere-spherefs minisphere-async-api minisphere-galileo-shaders minisphere-new-sockets minisphere-rng-object frameskip-api set-script-functionReading key 'Arrow' from File 0Loading Image 0 as '~sys/pointer.png'Reading key 'UpArrow' from File 0Loading Image 1 as '~sys/up_arrow.png'Reading key 'DownArrow' from File 0Loading Image 2 as '~sys/down_arrow.png'Reading key 'WindowStyle' from File 0Reading 16x16 Image 3 from open fileReading 16x16 Image 4 from open fileReading 16x16 Image 5 from open fileReading 16x16 Image 6 from open fileReading 16x16 Image 7 from open fileReading 16x16 Image 8 from open fileReading 16x16 Image 9 from open fileReading 16x16 Image 10 from open fileReading 16x16 Image 11 from open fileSetting up jump points for longjmpLooking for a game to launchengine(37145,0x10f111000) malloc: *** error for object 0x7fd01480da00: pointer being freed was not allocated*** set a breakpoint in malloc_error_break to debugAbort trap: 6