segmentationi fault on Mac M2
MAME version
0.258
System information
MacBook Pro 64 GB Apple M2 Max Ventura 13.3 Metal 3
INI configuration details
#
# CORE CONFIGURATION OPTIONS
#
readconfig 1
writeconfig 0
#
# CORE SEARCH PATH OPTIONS
#
homepath .
rompath roms
hashpath hash
samplepath samples
artpath artwork
ctrlrpath ctrlr
inipath "$HOME/Library/Application Support/mame;$HOME/.mame;.;ini"
fontpath .
cheatpath cheat
crosshairpath crosshair
pluginspath plugins
languagepath language
swpath software
#
# CORE OUTPUT DIRECTORY OPTIONS
#
cfg_directory cfg
nvram_directory nvram
input_directory inp
state_directory sta
snapshot_directory snap
diff_directory diff
comment_directory comments
share_directory share
#
# CORE STATE/PLAYBACK OPTIONS
#
state
autosave 0
rewind 0
rewind_capacity 100
playback
record
exit_after_playback 0
mngwrite
aviwrite
wavwrite
snapname %g/%i
snapsize auto
snapview auto
snapbilinear 1
statename %g
burnin 0
#
# CORE PERFORMANCE OPTIONS
#
autoframeskip 0
frameskip 0
seconds_to_run 0
throttle 1
sleep 1
speed 1.0
refreshspeed 0
lowlatency 0
#
# CORE RENDER OPTIONS
#
keepaspect 1
unevenstretch 1
unevenstretchx 0
unevenstretchy 0
autostretchxy 0
intoverscan 0
intscalex 0
intscaley 0
#
# CORE ROTATION OPTIONS
#
rotate 1
ror 0
rol 0
autoror 0
autorol 0
flipx 0
flipy 0
#
# CORE ARTWORK OPTIONS
#
artwork_crop 0
fallback_artwork
override_artwork
#
# CORE SCREEN OPTIONS
#
brightness 1.0
contrast 1.0
gamma 1.0
pause_brightness 0.65
effect none
#
# CORE VECTOR OPTIONS
#
beam_width_min 1.0
beam_width_max 1.0
beam_dot_size 1.0
beam_intensity_weight 0
flicker 0
#
# CORE SOUND OPTIONS
#
samplerate 48000
samples 1
volume 0
compressor 1
speaker_report 0
#
# CORE INPUT OPTIONS
#
coin_lockout 1
ctrlr
mouse 0
joystick 1
lightgun 0
multikeyboard 0
multimouse 0
steadykey 0
ui_active 0
offscreen_reload 0
joystick_map auto
joystick_deadzone 0.15
joystick_saturation 0.85
joystick_threshold 0.3
natural 0
joystick_contradictory 0
coin_impulse 0
#
# CORE INPUT AUTOMATIC ENABLE OPTIONS
#
paddle_device keyboard
adstick_device keyboard
pedal_device keyboard
dial_device keyboard
trackball_device keyboard
lightgun_device keyboard
positional_device keyboard
mouse_device mouse
#
# CORE DEBUGGING OPTIONS
#
verbose 0
log 0
oslog 0
debug 0
update_in_pause 0
debugscript
debuglog 0
#
# CORE COMM OPTIONS
#
comm_localhost 0.0.0.0
comm_localport 15112
comm_remotehost 127.0.0.1
comm_remoteport 15112
comm_framesync 0
#
# CORE MISC OPTIONS
#
drc 1
drc_use_c 0
drc_log_uml 0
drc_log_native 0
bios
cheat 0
skip_gameinfo 0
uifont default
ui cabinet
ramsize
confirm_quit 0
ui_mouse 1
language
nvram_save 1
#
# SCRIPTING OPTIONS
#
autoboot_command
autoboot_delay 0
autoboot_script
console 0
plugins 1
plugin
noplugin
#
# HTTP SERVER OPTIONS
#
http 0
http_port 8080
http_root web
#
# OSD INPUT MAPPING OPTIONS
#
uimodekey DEL
controller_map none
background_input 0
#
# OSD FONT OPTIONS
#
uifontprovider auto
#
# OSD OUTPUT OPTIONS
#
output auto
#
# OSD INPUT OPTIONS
#
keyboardprovider auto
mouseprovider auto
lightgunprovider auto
joystickprovider auto
#
# OSD DEBUGGING OPTIONS
#
debugger auto
debugger_port 23946
debugger_font auto
debugger_font_size 0
watchdog 0
#
# OSD PERFORMANCE OPTIONS
#
numprocessors auto
bench 0
#
# OSD VIDEO OPTIONS
#
video auto
numscreens 1
window 1
maximize 1
waitvsync 0
syncrefresh 0
monitorprovider auto
#
# OSD PER-WINDOW VIDEO OPTIONS
#
screen auto
aspect auto
resolution auto
view auto
screen0 auto
aspect0 auto
resolution0 auto
view0 auto
screen1 auto
aspect1 auto
resolution1 auto
view1 auto
screen2 auto
aspect2 auto
resolution2 auto
view2 auto
screen3 auto
aspect3 auto
resolution3 auto
view3 auto
#
# OSD FULL SCREEN OPTIONS
#
switchres 0
#
# OSD ACCELERATED VIDEO OPTIONS
#
filter 1
prescale 1
#
# OpenGL-SPECIFIC OPTIONS
#
gl_forcepow2texture 0
gl_notexturerect 0
gl_vbo 1
gl_pbo 1
gl_glsl 0
gl_glsl_filter 1
glsl_shader_mame0 none
glsl_shader_mame1 none
glsl_shader_mame2 none
glsl_shader_mame3 none
glsl_shader_mame4 none
glsl_shader_mame5 none
glsl_shader_mame6 none
glsl_shader_mame7 none
glsl_shader_mame8 none
glsl_shader_mame9 none
glsl_shader_screen0 none
glsl_shader_screen1 none
glsl_shader_screen2 none
glsl_shader_screen3 none
glsl_shader_screen4 none
glsl_shader_screen5 none
glsl_shader_screen6 none
glsl_shader_screen7 none
glsl_shader_screen8 none
glsl_shader_screen9 none
#
# OSD SOUND OPTIONS
#
sound auto
audio_latency 2
#
# PORTAUDIO OPTIONS
#
pa_api none
pa_device none
pa_latency 0
#
# CoreAudio-SPECIFIC OPTIONS
#
audio_output auto
audio_effect0 none
audio_effect1 none
audio_effect2 none
audio_effect3 none
audio_effect4 none
audio_effect5 none
audio_effect6 none
audio_effect7 none
audio_effect8 none
audio_effect9 none
#
# OSD MIDI OPTIONS
#
midiprovider auto
#
# OSD EMULATED NETWORKING OPTIONS
#
networkprovider auto
#
# BGFX POST-PROCESSING OPTIONS
#
bgfx_path bgfx
bgfx_backend auto
bgfx_debug 0
bgfx_screen_chains
bgfx_shadow_mask slot-mask.png
bgfx_lut lut-default.png
bgfx_avi_name auto
#
# SDL PERFORMANCE OPTIONS
#
sdlvideofps 0
#
# SDL VIDEO OPTIONS
#
centerh 1
centerv 1
scalemode none
#
# SDL KEYBOARD MAPPING
#
keymap 0
keymap_file keymap.dat
#
# SDL JOYSTICK MAPPING
#
sixaxis 0
#
# SDL LOW-LEVEL DRIVER OPTIONS
#
videodriver auto
renderdriver auto
audiodriver auto
gl_lib /System/Library/Frameworks/OpenGL.framework/Libraries/libGL.dylib
Emulated system/software
No response
Incorrect behaviour
% mame
zsh: segmentation fault mame
Mame crashes with a segmentation fault only if the joysticks are connected.
With only 1 joysticks connected I was able to run mame, scroll to some games and as soon as I launched them they crashed. I was able to play super mario bros (vs) and pacland (for like few seconds though). Then I also had a seg fault. With two joysticks attached it doesn't even start (see above the terminal output).
With no joysticks attached it runs perfectly.
Expected behaviour
Mame doesn't crash and I play my games happily with my friends and we use joysticks!
Steps to reproduce
cd ~/mame mame --> seg fault if joysticks are connected
Additional details
I've installed mame 0.258 with brew.
Is the SDL2 version up to date in brew? There were known issues with joysticks crashing in earlier versions.
it's .258 but doesn't show from which commit.
I'm building from source right now, let's see
I've build from git. I get the same results:
first try on usb->usbc adapter
matt@Matts-MBP mame % ./mame
objc[93149]: Attempt to use unknown class 0x600001c54270.
zsh: abort ./mame
# no joystick
matt@Matts-MBP mame % ./mame
Average speed: 99.70% (40 seconds)
2nd try on mac original usb -> usbc converter
matt@Matts-MBP mame % ./mame
zsh: bus error ./mame
matt@Matts-MBP mame % ./mame
zsh: segmentation fault ./mame
back on the first adapter
matt@Matts-MBP mame % ./mame
zsh: segmentation fault ./mame
Is there something special to add when building? I just ran make (after installing sdl)
The question is whether the SDL2 framework is up-to-date. What exact version of SDL2 do you have installed?
Yes. "brew list sdl2" will show the installed version. On my system, I get "/usr/local/Cellar/sdl2/2.28.3/bin/sdl2-config", meaning I have 2.28.3, the latest.
I also get the same from brew.
/opt/homebrew/Cellar/sdl2/2.28.3/bin/sdl2-config
I didn't know I had it from brew, so before building I've download and installed the latest one from the sdl2 website into /Library/Frameworks/. That's also 2.28.3.
`matt@10-0-0-38 mame % otool -L mame | grep SDL
@rpath/SDL2.framework/Versions/A/SDL2 (compatibility version 2801.0.0, current version 2801.3.0)`
Ok. Can you run MAME with -verbose and paste the part of the output where it's setting up the joysticks? We've had repeated issues with cheap junk that sends invalid things according to HID specs and needs to be filtered out. Real Sony/MS/Nintendo pads work fine, of course.
Also if you could get a backtrace that would be great. You do that like this:
- lldb mame (this takes a minute the first time, you'll probably need to authenticate with Touch ID as well)
- run mame (whatever game name) (literally type "run mame pacman" or whatever and wait for the crash)
- bt ...then paste the output.
I'll try this.
I'm not home until tomorrow night, but in the meantime I've tried with a xbox controller, and that worked. At home I have some neogeo look-a-like chinese controllers, that's probably causing the issue, but they seem to work fine with my older macbookpro running .254
matt@10-0-0-38 mame % lldb mame
(lldb) target create "mame"
Current executable set to '/Users/matt/Projects/mame/mame' (arm64).
(lldb) run
Process 8306 launched: '/Users/matt/Projects/mame/mame' (arm64)
2023-09-27 21:19:05.329994+0200 mame[8306:902773] [plugin] AddInstanceForFactory: No factory registered for id <CFUUID 0x600000245b00> F8BB1C28-BAE8-11D6-9C31-00039315CD46
2023-09-27 21:19:06.105464+0200 mame[8306:902938] [general] __CFRunLoopModeFindSourceForMachPort returned NULL for mode 'HIDAPI_0x117c041d0' livePort: 65539
Process 8306 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0xfffffffffffffff8)
frame #0: 0x0000000100a66e80 mame`std::__1::__split_buffer<unsigned char*, std::__1::allocator<unsigned char*> >::push_front(unsigned char*&&) + 364
mame`std::__1::__split_buffer<unsigned char*, std::__1::allocator<unsigned char*> >::push_front:
-> 0x100a66e80 <+364>: stur x8, [x22, #-0x8]
0x100a66e84 <+368>: ldr x8, [x19, #0x8]
0x100a66e88 <+372>: sub x8, x8, #0x8
0x100a66e8c <+376>: str x8, [x19, #0x8]
Target 0: (mame) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0xfffffffffffffff8)
* frame #0: 0x0000000100a66e80 mame`std::__1::__split_buffer<unsigned char*, std::__1::allocator<unsigned char*> >::push_front(unsigned char*&&) + 364
frame #1: 0x00000001081cb288 mame`std::__1::deque<SDL_Event, std::__1::allocator<SDL_Event> >::__add_back_capacity() + 480
frame #2: 0x00000001081cb010 mame`event_based_device<SDL_Event>::queue_events(SDL_Event const*, int) + 216
frame #3: 0x0000000108251934 mame`event_subscription_manager<SDL_Event, unsigned int>::dispatch_event(unsigned int const&, SDL_Event const&) + 284
frame #4: 0x0000000108251064 mame`sdl_osd_interface::process_events() + 124
frame #5: 0x00000001081c7b18 mame`non-virtual thunk to input_module_base::poll_if_necessary(bool) + 80
frame #6: 0x00000001081daba8 mame`osd_common_t::poll_input_modules(bool) + 36
frame #7: 0x0000000108191f84 mame`video_manager::frame_update(bool) + 136
frame #8: 0x00000001080f2c84 mame`running_machine::start() + 676
frame #9: 0x00000001080f3e04 mame`running_machine::run(bool) + 400
frame #10: 0x00000001036e4e1c mame`mame_machine_manager::execute() + 540
frame #11: 0x000000010312e758 mame`cli_frontend::start_execution(mame_machine_manager*, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) + 540
frame #12: 0x000000010312fae8 mame`cli_frontend::execute(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&) + 84
frame #13: 0x00000001036e608c mame`emulator_info::start_frontend(emu_options&, osd_interface&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&) + 48
frame #14: 0x00000001082520d8 mame`main + 152
frame #15: 0x000000018e57bf28 dyld`start + 2236
I gave it another run with tetris grandmaster
(lldb) run
There is a running process, kill it and restart?: [Y/n] y
Process 8306 exited with status = 9 (0x00000009)
Process 8314 launched: '/Users/matt/Projects/mame/mame' (arm64)
2023-09-27 21:20:45.817127+0200 mame[8314:903912] [plugin] AddInstanceForFactory: No factory registered for id <CFUUID 0x600000216740> F8BB1C28-BAE8-11D6-9C31-00039315CD46
Caught unhandled exception
Caught unhandled exception
2023-09-27 21:20:46.484067+0200 mame[8314:904016] [client] No error handler for XPC error: Connection invalid
Process 8314 exited with status = 3 (0x00000003)
(lldb) bt
error: Command requires a process which is currently stopped.
(lldb) run
Process 8318 launched: '/Users/matt/Projects/mame/mame' (arm64)
2023-09-27 21:20:53.293750+0200 mame[8318:904115] [plugin] AddInstanceForFactory: No factory registered for id <CFUUID 0x600000243500> F8BB1C28-BAE8-11D6-9C31-00039315CD46
mame(8318,0x1e9d2db40) malloc: Heap corruption detected, free list is damaged at 0x600000038000
*** Incorrect guard value: 13835075095556161407
mame(8318,0x1e9d2db40) malloc: *** set a breakpoint in malloc_error_break to debug
Process 8318 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
frame #0: 0x000000018e89c724 libsystem_kernel.dylib`__pthread_kill + 8
libsystem_kernel.dylib`:
-> 0x18e89c724 <+8>: b.lo 0x18e89c744 ; <+40>
0x18e89c728 <+12>: pacibsp
0x18e89c72c <+16>: stp x29, x30, [sp, #-0x10]!
0x18e89c730 <+20>: mov x29, sp
Target 0: (mame) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
* frame #0: 0x000000018e89c724 libsystem_kernel.dylib`__pthread_kill + 8
frame #1: 0x000000018e8d3c28 libsystem_pthread.dylib`pthread_kill + 288
frame #2: 0x000000018e7e1ae8 libsystem_c.dylib`abort + 180
frame #3: 0x000000018e702e28 libsystem_malloc.dylib`malloc_vreport + 908
frame #4: 0x000000018e7195d4 libsystem_malloc.dylib`malloc_zone_error + 104
frame #5: 0x000000018e711148 libsystem_malloc.dylib`nanov2_guard_corruption_detected + 44
frame #6: 0x000000018e710344 libsystem_malloc.dylib`nanov2_allocate_outlined + 404
frame #7: 0x0000000197d2753c Metal`MTLDispatchListAppendBlock + 44
frame #8: 0x0000000117fa5244 AppleMetalOpenGLRenderer`gldEndPrimitiveBuffer(GLDContextRec*, unsigned int, unsigned int, int) + 8820
frame #9: 0x00000001f2dcdbb0 GLEngine`glDrawArrays_IMM_Exec + 1208
frame #10: 0x0000000192556bd0 AppKit`-[NSIOAccelSurface frontBuffer] + 1228
frame #11: 0x0000000192555cd8 AppKit`-[NSCGLSurface flushRect:] + 604
frame #12: 0x00000001925559c4 AppKit`NSCGLSurfaceFlush + 132
frame #13: 0x00000001f2d1b094 GLEngine`glSwap_Exec + 244
frame #14: 0x00000001f2b163bc OpenGL`CGLFlushDrawable + 64
frame #15: 0x0000000191e85000 AppKit`-[NSOpenGLContext flushBuffer] + 28
frame #16: 0x00000001155b37c8 SDL2`___lldb_unnamed_symbol1698 + 276
frame #17: 0x0000000108222a30 mame`osd::(anonymous namespace)::renderer_ogl::draw(int) + 4288
frame #18: 0x0000000108254640 mame`sdl_window_info::update() + 576
frame #19: 0x0000000108252bc0 mame`sdl_osd_interface::update(bool) + 68
frame #20: 0x0000000108192100 mame`video_manager::frame_update(bool) + 516
frame #21: 0x00000001037876b8 mame`mame_ui_manager::display_startup_screens(bool) + 5068
frame #22: 0x00000001080f3f1c mame`running_machine::run(bool) + 680
frame #23: 0x00000001036e4e1c mame`mame_machine_manager::execute() + 540
frame #24: 0x000000010312e758 mame`cli_frontend::start_execution(mame_machine_manager*, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) + 540
frame #25: 0x000000010312fae8 mame`cli_frontend::execute(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&) + 84
frame #26: 0x00000001036e608c mame`emulator_info::start_frontend(emu_options&, osd_interface&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&) + 48
frame #27: 0x00000001082520d8 mame`main + 152
frame #28: 0x000000018e57bf28 dyld`start + 2236
just a note: running mame (with the ui) loads the joysticks, while running mame game doesn't.
The first stack trace looks a lot like memory corruption. The actual bug likely did the damage long before the point where it crashed. The second one I have no idea what would cause it to crash there (could be memory corruption as well).
There is an issue on arm with char defaulting to unsigned on android and the pi (not sure on macos ). It causes issues in many places such as brapboys not booting and random places and certain inputs not working working in some games.
Try adding ARCHOPTS="-fsigned-char" to the compile command line and see if that helps. Im not saying this is the issue on the mac but its is on android and pi. I dont use mac but its worth a test. https://developer.arm.com/documentation/den0013/d/Porting/Miscellaneous-C-porting-issues/unsigned-char-and-signed-char?lang=en
That didn't work
Sorry for wasting you time with that, its certainly causes issues an a few things on android and the pi.
no worries!
anyways: I've tried with logitech Precision joypads and also get seg faults.
`(lldb) run ssideki2 Process 2292 launched: '/Users/matt/Projects/mame/mame' (arm64) 2023-09-29 16:27:45.075347+0200 mame[2292:1390610] [plugin] AddInstanceForFactory: No factory registered for id <CFUUID 0x600000213060> F8BB1C28-BAE8-11D6-9C31-00039315CD46 Process 2292 stopped
- thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x8d6580018f8df55c)
frame #0: 0x00000001155fe88c SDL2
___lldb_unnamed_symbol2974 + 108 SDL2___lldb_unnamed_symbol2974: -> 0x1155fe88c <+108>: ldr x10, [x10, #0x10] 0x1155fe890 <+112>: add w8, w8, #0x1 0x1155fe894 <+116>: cbnz x10, 0x1155fe888 ; <+104> 0x1155fe898 <+120>: str x21, [x9, #0x10] Target 0: (mame) stopped. (lldb) bt - thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x8d6580018f8df55c)
- frame #0: 0x00000001155fe88c SDL2
___lldb_unnamed_symbol2974 + 108 frame #1: 0x0000000191a9d734 IOKit__IOHIDDeviceInputReportApplier + 72 frame #2: 0x000000018e97bbcc CoreFoundation__CFSetApplyFunction_block_invoke + 28 frame #3: 0x000000018e97b9e4 CoreFoundationCFBasicHashApply + 148 frame #4: 0x000000018e97b928 CoreFoundationCFSetApplyFunction + 320 frame #5: 0x0000000191a9d604 IOKit__IOHIDDeviceInputReportWithTimeStampCallback + 148 frame #6: 0x000000012cf0f6b8 IOHIDLib___lldb_unnamed_symbol530 + 548 frame #7: 0x000000018e9e2300 CoreFoundation__CFMachPortPerform + 296 frame #8: 0x000000018e9b2ca0 CoreFoundation__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 60 frame #9: 0x000000018e9b2bc0 CoreFoundation__CFRunLoopDoSource1 + 520 frame #10: 0x000000018e9b15a0 CoreFoundation__CFRunLoopRun + 2240 frame #11: 0x000000018e9b058c CoreFoundationCFRunLoopRunSpecific + 612 frame #12: 0x00000001981e5df4 HIToolboxRunCurrentEventLoopInMode + 292 frame #13: 0x00000001981e5a84 HIToolboxReceiveNextEventCommon + 220 frame #14: 0x00000001981e5988 HIToolbox_BlockUntilNextEventMatchingListInModeWithFilter + 76 frame #15: 0x0000000191bcff58 AppKit_DPSNextEvent + 636 frame #16: 0x0000000191bcf0f4 AppKit-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 716 frame #17: 0x00000001155a6930 SDL2___lldb_unnamed_symbol1480 + 88 frame #18: 0x00000001155a6bcc SDL2___lldb_unnamed_symbol1482 + 56 frame #19: 0x000000011562418c SDL2___lldb_unnamed_symbol3387 + 40 frame #20: 0x0000000108250ac8 mamesdl_osd_interface::input_update(bool) + 24 frame #21: 0x0000000108192118 mamevideo_manager::frame_update(bool) + 540 frame #22: 0x000000010815fb28 mamescreen_device::vblank_begin(int) + 220 frame #23: 0x0000000108158b54 mamedevice_scheduler::execute_timers() + 172 frame #24: 0x000000010815886c mamedevice_scheduler::timeslice() + 1048 frame #25: 0x00000001080f3fbc mamerunning_machine::run(bool) + 840 frame #26: 0x00000001036e4e1c mamemame_machine_manager::execute() + 540 frame #27: 0x000000010312e758 mamecli_frontend::start_execution(mame_machine_manager*, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits , std::__1::allocator > > > const&) + 540 frame #28: 0x000000010312fae8 mame cli_frontend::execute(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&) + 84 frame #29: 0x00000001036e608c mameemulator_info::start_frontend(emu_options&, osd_interface&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits , std::__1::allocator > > >&) + 48 frame #30: 0x00000001082520d8 mame main + 152 frame #31: 0x000000018e57bf28 dyldstart + 2236`
- frame #0: 0x00000001155fe88c SDL2
Just to resume:
I've tried different versions of mame (.249, .258, .258) both from sdlmame website or by compiling them.
- Works fine without joypad
- Works fine with XBox joypad via bluetooth
- Crashes with my neogeo clones joysticks (usb)
- Crashes with my logitech precision joypads (usb)
Is anything else I can test? Can I print out the stuff I get from the joypads with PySDL2? Is possible to have make spit out a xcode project and debug with that? (i'm not too eager to use lldb :D )