Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Segmentation fault on game splash screen in Super Hang-On (shangon) #11571

Closed
RAKtheUndead opened this issue Sep 26, 2023 · 2 comments
Closed

Comments

@RAKtheUndead
Copy link

MAME version

0.258

System information

openSUSE Tumbleweed x64
Intel Core i5-4690K, 16GB RAM, AMD Radeon HD 7970 GHz, Mesa 23.1.7
Using a Sony DualShock 3 controller connected via USB, although issue manifests using only keyboard controls as well

INI configuration details

#
# CORE CONFIGURATION OPTIONS
#
readconfig                1
writeconfig               0

#
# CORE SEARCH PATH OPTIONS
#
homepath                  .
rompath                   roms
hashpath                  /usr/bin/hash
samplepath                /usr/bin/samples
artpath                   /usr/bin/artwork
ctrlrpath                 /usr/bin/ctrlr
inipath                   $HOME/.mame;.;ini
fontpath                  .
cheatpath                 /usr/bin/cheat
crosshairpath             crosshair
pluginspath               /usr/bin/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                  internal
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.3
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                  English
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                 SCRLOCK
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                    0
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

#
# OSD MIDI OPTIONS
#
midiprovider              auto

#
# OSD EMULATED NETWORKING OPTIONS
#
networkprovider           auto

#
# BGFX POST-PROCESSING OPTIONS
#
bgfx_path                 /usr/share/mame/bgfx
bgfx_backend              auto
bgfx_debug                0
bgfx_screen_chains        default
bgfx_shadow_mask          slot-mask.png
bgfx_lut                  
bgfx_avi_name             auto

#
# SDL PERFORMANCE OPTIONS
#
sdlvideofps               0

#
# SDL VIDEO OPTIONS
#
centerh                   1
centerv                   1
scalemode                 none

#
# SDL FULL SCREEN OPTIONS
#
useallheads               0
attach_window             

#
# SDL KEYBOARD MAPPING
#
keymap                    0
keymap_file               keymap.dat

#
# SDL JOYSTICK MAPPING
#
sixaxis                   0

#
# SDL LIGHTGUN MAPPING
#
lightgun_index1           auto
lightgun_index2           auto
lightgun_index3           auto
lightgun_index4           auto
lightgun_index5           auto
lightgun_index6           auto
lightgun_index7           auto
lightgun_index8           auto

#
# SDL LOW-LEVEL DRIVER OPTIONS
#
videodriver               auto
renderdriver              auto
audiodriver               auto
gl_lib                    auto

#
# FRONTEND COMMAND OPTIONS
#
dtd                       1

Emulated system/software

shangon

Incorrect behaviour

MAME crashes to desktop with a segmentation fault when pressing the Coin 1 key on the game's splash screen or when attempting to change certain controls in the MAME menu. When pressing the Coin 1 button, parts of the circuit selection screen briefly display before the crash.

I have not observed this behaviour with other games, nor with this game in previous versions of MAME.

Expected behaviour

Game should progress from the splash screen to the circuit selection screen when pressing Coin 1 and should allow remapping of controls when using the MAME menu.

Steps to reproduce

Run MAME with shangon:

mame shangon

Press the Coin 1 key at the splash screen.

Game crashes to desktop with the following error:
Segmentation fault (core dumped)

Additional details

GDB backtrace for the issue:

#0 ioport_port::read () at ../../../../../src/emu/ioport.cpp:1584
#1 0x000055555d20cc05 in object_finder_base<ioport_port, false>::read_safe ()
at ../../../../../src/emu/devfind.h:881
#2 segaorun_state::analog_r ()
at ../../../../../src/mame/sega/segaorun.cpp:811
#3 0x00005555627a1e7a in util::detail::delegate_base<delegate_late_bind, unsigned char>::operator() () at ../../../../../src/lib/util/delegate.h:765
#4 devcb_read_base::invoke_read<unsigned char, emu::device_delegate<unsigned char ()> >(emu::device_delegate<unsigned char ()> const&, unsigned int, std::make_unsigned::type) () at ../../../../../src/emu/devcb.h:240
#5 devcb_read<unsigned char, (unsigned char)255>::delegate_builder<emu::device_delegate<unsigned char ()> >::build<devcb_read<unsigned char, (unsigned char)255>::creator_impl<devcb_read<unsigned char, (unsigned char)255>::delegate_builder<emu::device_delegate<unsigned char ()> > >::create()::{lambda(auto:1&&)#1}>(devcb_read<unsigned char, (unsigned char)255>::creator_impl<devcb_read<unsigned char, (unsigned char)255>::delegate_builder<emu::device_delegate<unsigned char ()> > >::create()::{lambda(auto:1&&)#1}&&)::{lambda(unsigned int, unsigned char)#1}::operator()(unsigned int, unsigned char) const ()
at ../../../../../src/emu/devcb.h:590
#6 devcb_read<unsigned char, (unsigned char)255>::creator_impl<devcb_read<unsigned char, (unsigned char)255>::delegate_builder<emu::device_delegate<unsigned char ()> > >::create()::{lambda(auto:1&&)#1}::operator()<devcb_read<unsigned char, (unsigned char)255>::delegate_builder<emu::device_delegate<unsigned char ()> >::build<{lambda(auto:1&&)#1}>({lambda(auto:1&&)#1}&&)::{lambda(unsigned int, unsigned char)#1}>({lambda(auto:1&&)#1}&&) const::{lambda(unsigned int, unsigned char)#1}::operator()(unsigned int, unsigned char) const ()
at ../../../../../src/emu/devcb.h:356
#7 std::__invoke_impl<int, devcb_read<unsigned char, (unsigned char)255>::creator_impl<devcb_read<unsigned char, (unsigned char)255>::delegate_builder<emu::device_delegate<unsigned char ()> > >::create()::{lambda(auto:1&&)#1}::operator()<devcb_read<unsigned char, (unsigned char)255>::delegate_builder<emu::device_delegate<unsigned char ()> >::build<{lambda(auto:1&&)#1}>({lambda(auto:1&&)#1}&&)::{lambda(unsigned int, unsigned char)#1}>({lambda(auto:1&&)#1}&&) const::{lambda(unsigned int, unsigned char)#1}&, unsigned int, unsigned char>(std::__invoke_other, devcb_read<unsigned char, (unsigned char)255>::creator_impl<devcb_read<unsigned char, (unsigned char)255>::delegate_builder<emu::device_delegate<unsigned char ()> > >::create()::{lambda(auto:1&&)#1}::operator()<devcb_read<unsigned char, (unsigned char)255>::delegate_builder<emu::device_delegate<unsigned char ()> >::build<{lambda(auto:1&&)#1}>({lambda(auto:1&&)#1}&&)::{lambda(unsigned int, unsigned char)#1}>({lambda(auto:1&&)#1}&&) const::{lambda(unsigned int, unsigned char)#1}&, unsigned int&&, unsigned char&&) ()
at /usr/include/c++/13/bits/invoke.h:61
#8 std::__invoke_r<unsigned char, devcb_read<unsigned char, (unsigned char)255>::creator_impl<devcb_read<unsigned char, (unsigned char)255>::delegate_builder<emu::device_delegate<unsigned char ()> > >::create()::{lambda(auto:1&&)#1}::operator()<devcb_read<unsigned char, (unsigned char)255>::delegate_builder<emu::device_delegate<unsigned char ()> >::build<{lambda(auto:1&&)#1}>({lambda(auto:1&&)#1}&&)::{lambda(unsigned int, unsigned char)#1}>({lambda(auto:1&&)#1}&&) const::{lambda(unsigned int, unsigned char)#1}&, unsigned int, unsigned char>(devcb_read<unsigned char, (unsigned char)255>::creator_impl<devcb_read<unsigned char, (unsigned char)255>::delegate_builder<emu::device_delegate<unsigned char ()> > >::create()::{lambda(auto:1&&)#1}::operator()<devcb_read<unsigned char, (unsigned char)255>::delegate_builder<emu::device_delegate<unsigned char ()> >::build<{lambda(auto:1&&)#1}>({lambda(auto:1&&)#1}&&)::{lambda(unsigned int, unsigned char)#1}>({lambda(auto:1&&)#1}&&) const::{lambda(unsigned int, unsigned char)#1}&, unsigned int&&, unsigned char&&) () at /usr/include/c++/13/bits/invoke.h:114
#9 std::_Function_handler<unsigned char (unsigned int, unsigned char), devcb_read<unsigned char, (unsigned char)255>::creator_impl<devcb_read<unsigned char, (unsigned char)255>::delegate_builder<emu::device_delegate<unsigned char ()> > >::--Type for more, q to quit, c to continue without paging--
create()::{lambda(auto:1&&)#1}::operator()<devcb_read<unsigned char, (unsigned char)255>::delegate_builder<emu::device_delegate<unsigned char ()> >::build<{lambda(auto:1&&)#1}>({lambda(auto:1&&)#1}&&)::{lambda(unsigned int, unsigned char)#1}>({lambda(auto:1&&)#1}&&) const::{lambda(unsigned int, unsigned char)#1}>::_M_invoke(std::_Any_data const&, unsigned int&&, unsigned char&&) ()
at /usr/include/c++/13/bits/std_function.h:290
#10 0x00005555627a3c5a in std::function<unsigned char (unsigned int, unsigned char)>::operator()(unsigned int, unsigned char) const ()
at /usr/include/c++/13/bits/std_function.h:591
#11 devcb_read<unsigned char, (unsigned char)255>::operator() ()
at ../../../../../src/emu/devcb.h:869
#12 0x000055555fba60a0 in adc0804_device::conversion_done ()
at ../../../../../src/devices/machine/adc0804.cpp:171
#13 0x000055556373c565 in util::detail::delegate_base<delegate_late_bind, void, int>::operator() () at ../../../../../src/lib/util/delegate.h:765
#14 device_scheduler::execute_timers ()
at ../../../../../src/emu/schedule.cpp:951
#15 0x00005555636db4bf in running_machine::run ()
at ../../../../../src/emu/machine.cpp:333
#16 0x000055556423e4da in mame_machine_manager::execute ()
at ../../../../../src/frontend/mame/mame.cpp:288
#17 0x00005555642e63be in cli_frontend::start_execution ()
at ../../../../../src/frontend/mame/clifront.cpp:277
#18 0x00005555642e65de in cli_frontend::execute ()
at ../../../../../src/frontend/mame/clifront.cpp:293
#19 0x0000555564239555 in emulator_info::start_frontend ()
at ../../../../../src/frontend/mame/mame.cpp:453
#20 0x000055555a42c84b in main () at ../../../../../src/osd/sdl/sdlmain.cpp:100

@Robbbert
Copy link
Contributor

Already fixed.

https://mametesters.org/view.php?id=8769

@RAKtheUndead
Copy link
Author

Excellent, I'll wait for MAME 0.259 then.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants