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

Sigsev on Dora Neco BanBan / dnbanban #11576

Closed
john-iv opened this issue Sep 28, 2023 · 3 comments
Closed

Sigsev on Dora Neco BanBan / dnbanban #11576

john-iv opened this issue Sep 28, 2023 · 3 comments

Comments

@john-iv
Copy link

john-iv commented Sep 28, 2023

MAME version

0.258 (mame0258-302-gd71c72ba746)

System information

Windows 11 Pro x64 22H2 OS Build 22621.2361
Asus ROG Strix Z690-F
Intel i7-12700K @ 5.2Ghz
Corsair 64GB 5200Mhz DDR5 RAM
6TB (3x2TB) Samsung 980 Pro NVMe in RAID-0
XFX AMD Radeon RX 5600XT 6GB
2 x Samsung G5 Odyssey 32" FreeSync Enabled
2560x1440 Fullscreen on both

INI configuration details

no ini needed -norc produces the error.

Emulated system/software

Dora Neco BanBan / dnbanban

Incorrect behaviour

Access violates after proceeding past red warning message.
Backtrace:

Reading symbols from mamet...
(gdb) run dnbanban
Starting program: c:\O\Games\MAME\mamet.exe dnbanban
[New Thread 23868.0x5224]
[New Thread 23868.0x399c]
[New Thread 23868.0x3f8c]
[New Thread 23868.0x18c4]
[New Thread 23868.0x50c4]
[New Thread 23868.0xa28]
[New Thread 23868.0x548c]
[New Thread 23868.0xaec]
[New Thread 23868.0x45f4]
[New Thread 23868.0x1bec]
[New Thread 23868.0x5544]
[New Thread 23868.0x5018]
[New Thread 23868.0x2028]
[New Thread 23868.0x60a4]
[New Thread 23868.0x51ec]
[New Thread 23868.0x1908]
[New Thread 23868.0xfe0]
[New Thread 23868.0x59c4]
[New Thread 23868.0x3a70]
[New Thread 23868.0x6c0]
[New Thread 23868.0x1a0]
[New Thread 23868.0x4828]
[New Thread 23868.0x4654]
[New Thread 23868.0x6628]
[New Thread 23868.0x505c]
[New Thread 23868.0x62dc]
[New Thread 23868.0x46cc]
[New Thread 23868.0x3408]
[New Thread 23868.0x52f8]
[New Thread 23868.0x12b4]
[New Thread 23868.0x4cbc]
[New Thread 23868.0x4808]
[New Thread 23868.0x1f98]
[New Thread 23868.0x5fc0]
[New Thread 23868.0x68d4]
[Thread 23868.0x68d4 exited with code 0]
[New Thread 23868.0x49d4]
Speaker ':mono' Ch.0 @ 48000
Default Resampler ':mono' Ch.0 @ 48000
OKI MSM6295 ADPCM ':oki' Ch.0 @ 8000

Thread 1 received signal SIGSEGV, Segmentation fault.
(anonymous namespace)::katosmedz80_state::ppi1_b_w (this=0x3718950, data=255 ' ') at ../../../../../src/mame/misc/katosmedz80.cpp:453
453 m_digits[dn] = data & 0x7f;
(gdb) bt
#0 (anonymous namespace)::katosmedz80_state::ppi1_b_w (this=0x3718950, data=255 ' ') at ../../../../../src/mame/misc/katosmedz80.cpp:453
#1 0x00007ff7000a6b6e in util::detail::delegate_base<delegate_late_bind, void, unsigned char>::operator() (args#0=127 '\177', this=0xcd)
at ../../../../../src/lib/util/delegate.h:765
#2 devcb_write_base::invoke_write<unsigned char, emu::device_delegate<void (unsigned char)> >(emu::device_delegate<void (unsigned char)> const&, unsigned int&, unsigned char, std::make_unsigned::type) (mem_mask=<error reading variable: Cannot access memory at address 0x12e>, data=127 '\177',
offset=: , cb=...) at ../../../../../src/emu/devcb.h:294
#3 devcb_write<unsigned char, (unsigned char)255>::delegate_builder<emu::device_delegate<void (unsigned char)> >::build()::{lambda(unsigned int, unsigned char, unsigned char)#1}::operator()(unsigned int, unsigned char, unsigned char) const (mem_mask=255 ' ', data=255 ' ', offset=,
__closure=0xcd) at ../../../../../src/emu/devcb.h:1322
#4 devcb_write<unsigned char, (unsigned char)255>::creator_impl<devcb_write<unsigned char, (unsigned char)255>::delegate_builder<emu::device_delegate<void (unsigned char)> > >::create()::{lambda(unsigned int, unsigned char, unsigned char)#1}::operator()(unsigned int, unsigned char, unsigned char) const (
mem_mask=255 ' ', data=255 ' ', offset=, __closure=0xcd) at ../../../../../src/emu/devcb.h:913
#5 std::__invoke_impl<void, devcb_write<unsigned char, (unsigned char)255>::creator_impl<devcb_write<unsigned char, (unsigned char)255>::delegate_builder<emu::device_delegate<void (unsigned char)> > >::create()::{lambda(unsigned int, unsigned char, unsigned char)#1}&, unsigned int, unsigned char, unsigned char>(std::__invoke_other, devcb_write<unsigned char, (unsigned char)255>::creator_impl<devcb_write<unsigned char, (unsigned char)255>::delegate_builder<emu::device_delegate<void (unsigned char)> > >::create()::{lambda(unsigned int, unsigned char, unsigned char)#1}&, unsigned int&&, unsigned char&&, unsigned char&&) (__f=...) at r:/buildtools/mingw64/include/c++/13.2.0/bits/invoke.h:61
#6 std::__invoke_r<void, devcb_write<unsigned char, (unsigned char)255>::creator_impl<devcb_write<unsigned char, (unsigned char)255>::delegate_builder<emu::device_delegate<void (unsigned char)> > >::create()::{lambda(unsigned int, unsigned char, unsigned char)#1}&, unsigned int, unsigned char, unsigned char>(devcb_write<unsigned char, (unsigned char)255>::creator_impl<devcb_write<unsigned char, (unsigned char)255>::delegate_builder<emu::device_delegate<void (unsigned char)> > >::create()::{lambda(unsigned int, unsigned char, unsigned char)#1}&, unsigned int&&, unsigned char&&, unsigned char&&) (__fn=...)
at r:/buildtools/mingw64/include/c++/13.2.0/bits/invoke.h:111
#7 std::_Function_handler<void (unsigned int, unsigned char, unsigned char), devcb_write<unsigned char, (unsigned char)255>::creator_impl<devcb_write<unsigned char, (unsigned char)255>::delegate_builder<emu::device_delegate<void (unsigned char)> > >::create()::{lambda(unsigned int, unsigned char, unsigned char)#1}>::_M_invoke(std::_Any_data const&, unsigned int&&, unsigned char&&, unsigned char&&) (__functor=..., __args#0=,
__args#1=@0x5f9b64: 255 ' ', __args#2=@0x5f9b65: 255 ' ') at r:/buildtools/mingw64/include/c++/13.2.0/bits/std_function.h:290
#8 0x00007ff6feb5feb1 in std::function<void (unsigned int, unsigned char, unsigned char)>::operator()(unsigned int, unsigned char, unsigned char) const (
__args#2=, __args#1=, __args#0=, this=0x649130)
at r:/buildtools/mingw64/include/c++/13.2.0/bits/std_function.h:591
#9 devcb_write<unsigned char, (unsigned char)255>::operator() (this=this@entry=0x371f868, offset=offset@entry=0, data=255 ' ',
mem_mask=mem_mask@entry=255 ' ') at ../../../../../src/emu/devcb.h:2253
#10 0x00007ff6fdf8bb9c in i8255_device::set_mode (data=155 '¢', this=0x371f430) at ../../../../../src/devices/machine/i8255.cpp:630
#11 i8255_device::device_reset (this=0x371f430) at ../../../../../src/devices/machine/i8255.cpp:267
#12 0x00007ff6fdfe0e2b in device_t::reset (this=this@entry=0x371f430) at ../../../../../src/emu/device.cpp:344
#13 0x00007ff6fdfe0e3c in device_t::reset (this=0x3718950) at ../../../../../src/emu/device.cpp:348
#14 0x00007ff6fe053f9a in running_machine::reset_all_devices (this=) at ../../../../../src/emu/mconfig.h:109
#15 0x00007ff6fe05984a in util::detail::delegate_base<delegate_late_bind, void>::operator() (this=)
at ../../../../../src/lib/util/delegate.h:760
#16 running_machine::call_notifiers (which=MACHINE_NOTIFY_RESET, this=0x5f9fe0) at ../../../../../src/emu/machine.cpp:851
#17 running_machine::soft_reset (this=this@entry=0x5f9fe0, param=param@entry=0) at ../../../../../src/emu/machine.cpp:958
#18 0x00007ff6fe05da37 in running_machine::run (this=this@entry=0x5f9fe0, quiet=quiet@entry=false) at ../../../../../src/emu/machine.cpp:313
#19 0x00007ff6fe57bb64 in mame_machine_manager::execute (this=0x6ac200, this@entry=0x5ff910) at ../../../../../src/frontend/mame/mame.cpp:288
#20 0x00007ff6fe615a12 in cli_frontend::start_execution (this=this@entry=0x5ffaa0, manager=0x5ff910, manager@entry=0x6ac200,
args=std::vector of length 2, capacity 2 = {...}) at ../../../../../src/frontend/mame/clifront.cpp:277
#21 0x00007ff6fe615fbb in cli_frontend::execute (this=this@entry=0x5ffaa0, args=std::vector of length 2, capacity 2 = {...})
at ../../../../../src/frontend/mame/clifront.cpp:293
#22 0x00007ff6fe57895c in emulator_info::start_frontend (options=..., osd=..., args=std::vector of length 2, capacity 2 = {...})
at ../../../../../src/frontend/mame/mame.cpp:453
#23 0x00007ff7002562e7 in main (argc=, argv=) at ../../../../../src/osd/windows/winmain.cpp:209
(gdb)

Expected behaviour

Run successfully.

Steps to reproduce

Built with:
make -Werror REGENIE=1 -j21 ARCHOPTS=-fuse-ld=lld STRIP_SYMBOLS=1
and
make -j21 -Werror DEBUG=1 SYMBOLS=1 SYMLEVEL=3 SOURCES=misc/katosmedz80.cpp

gdb mame -window -norc
run dnbanban

Additional details

  1. Did not work with regular make build. (make -Werror REGENIE=1 -j21 ARCHOPTS=-fuse-ld=lld STRIP_SYMBOLS=1)
  2. Did not work with source and debug and symbols (make -j21 -Werror DEBUG=1 SYMBOLS=1 SYMLEVEL=3 SOURCES=misc/katosmedz80.cpp)

Did appear to work on same PC with basic make and symbols not stripped (make -Werror REGENIE=1 -j21 ARCHOPTS=-fuse-ld=lld))
@RobertoFresca

@john-iv john-iv changed the title Sigsev on dnbanban Sigsev on Dora Neco BanBan / dnbanban Sep 28, 2023
@Tafoid
Copy link
Contributor

Tafoid commented Sep 28, 2023

More accurately, it is when you issue any type of -bench or -video none. Normal runs seem to work fine.

@Robbbert
Copy link
Contributor

Robbbert commented Sep 28, 2023

No, it crashes for me on a normal run with current git.

Since it will form part of the 0.259 release it's a definite regression.

output_manager::output_item::notify(int)+0x0020): ACCESS VIOLATION

EDIT: I'm thinking that the variable 'dn' hasn't been initialised causing m_digits to exceed its boundary in ppi1_b_w function.

@happppp
Copy link
Member

happppp commented Sep 29, 2023

Yes it was due an uninitialized variable.

@happppp happppp closed this as completed Sep 29, 2023
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

4 participants