Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
08950 Crash/Freeze Critical (emulator) Always Nov 5, 2024, 14:43 9 days ago
Tester Robbbert View Status Public Platform MAME (Self-compiled)
Assigned To holub Resolution Fixed OS Windows 11/10 (64-bit)
Status [?] Resolved Driver
Version 0.271 Fixed in Version 0.281GIT Build 64-bit
Fixed in Git Commit 571feba Github Pull Request # #14134
Summary 08950: zx80: one tape causes MAME to crash
Description While testing my loose software, it was noted that one tape causes MAME to crash as soon as the emulation is started.
Steps To Reproduce Enter this line, using the supplied file, and substituting your path.

mame zx80 -cass "e:\data\sinclair\zx80\nw\(crash)password.o"

It will immediately crash, before the screen can appear.
Additional Information I do not know if the tape is meant for this system, however even if that's the case, a crash should not occur.

C:\MAME>mame zx80 -cass "e:\data\sinclair\zx80\nw\(crash)password.o"
Warning: layout view 'Keyboard Layout' contains deprecated cpanel element
Warning: layout view 'Keyboard_Only' contains deprecated cpanel element
Warning: layout view 'Keyboard Layout' contains deprecated cpanel element
Warning: layout view 'Keyboard_Only' contains deprecated cpanel element

-----------------------------------------------------
Exception at EIP=00007ff7cd67cb66 (zx80_cassette_fill_wave(short*, int, unsigned char*)+0x0086): ACCESS VIOLATION
While attempting to write memory at 0000021dfab74020
-----------------------------------------------------
RAX=0000000000000000 RBX=0000021dfa94a040 RCX=0000021dfab73fb8 RDX=0000021dfab73fb8
RSI=0000021df5d9ea67 RDI=0000021dfab73fc0 RBP=0000021df5d9ea68 RSP=000000d0d02f9200
 R8=0000000000000000 R9=0000000000000004 R10=0000000000000000 R11=0000000000000000
R12=0000000000114b44 R13=0000021df8728390 R14=0000021dfa94a040 R15=0000000000000000
-----------------------------------------------------
Stack crawl:
  000000d0d02f9240: 00007ff7cd67cb66 (zx80_cassette_fill_wave(short*, int, unsigned char*)+0x0086)
  000000d0d02f93c0: 00007ff7cdea41b8 (cassette_image::legacy_construct(cassette_image::LegacyWaveFiller const*)+0x0328)
  000000d0d02f9450: 00007ff7cdea193c (cassette_image::open_choices(std::unique_ptr<util::random_read_write, std::default_delete<util::random_read_write> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cassette_image::Format const* const*, int, std::unique_ptr<cassette_image, std::default_delete<cassette_image> >&)+0x010c)
  000000d0d02f9560: 00007ff7cac69f22 (cassette_image_device::internal_load(bool)+0x00c2)
  000000d0d02f95d0: 00007ff7cac6a5e5 (non-virtual thunk to cassette_image_device::call_load[abi:cxx11]()+0x0035)
  000000d0d02f9680: 00007ff7caca363e (device_image_interface::finish_load[abi:cxx11]()+0x026e)
  000000d0d02f97a0: 00007ff7cdc9b6fb (image_manager::postdevice_init()+0x017b)
  000000d0d02f97d0: 00007ff7d50950c2 (luaopen_lfs+0x2709222)
  000000d0d02f9910: 00007ff7ca9a3dc8 (device_t::start()+0x0698)
  000000d0d02f9a60: 00007ff7cab36d9a (running_machine::start_all_devices()+0x014a)
  000000d0d02f9b80: 00007ff7cab3ae31 (running_machine::start()+0x0a91)
  000000d0d02f9d00: 00007ff7cab3e3dc (running_machine::run(bool)+0x00cc)
  000000d0d02ff320: 00007ff7cdc6d15c (mame_machine_manager::execute()+0x024c)
  000000d0d02ff710: 00007ff7d195d49a (cli_frontend::start_execution(mame_machine_manager*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)+0x03ea)
  000000d0d02ffa20: 00007ff7d195daca (cli_frontend::execute(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)+0x007a)
  000000d0d02ffa80: 00007ff7cdc67f07 (emulator_info::start_frontend(emu_options&, osd_interface&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)+0x0027)
  000000d0d02ffe50: 00007ff7d35e6141 (luaopen_lfs+0xc5a2a1)
  000000d0d02ffea0: 00007ff7c6de12ee (__tmainCRTStartup+0x016e)
  000000d0d02ffed0: 00007ff7c6de1406 (mainCRTStartup+0x0016)
  000000d0d02fff00: 00007ffd2c997374 (BaseThreadInitThunk+0x0014)
  000000d0d02fff80: 00007ffd2cadcc91 (RtlUserThreadStart+0x0021)
Github Commit
Flags
Regression Version
Affected Sets / Systems zx80
Attached Files
zip file icon ZX80 crashers.zip (610 bytes) Nov 5, 2024, 14:43 Uploaded by Robbbert
Relationships
child of 08952Resolvedholub  spec128: Several tapes cause MAME to crash 
Notes
4
User avatar
No.22519
holub
Tester
Dec 3, 2024, 17:24
see: https://mametesters.org/view.php?id=8952#bugnotes
User avatar
No.23647
holub
Tester
9 days ago
edited on: 9 days ago
fixed in https://github.com/mamedev/mame/pull/14134
User avatar
No.23649
JimCarlTay
Tester
9 days ago
Pull request #14134 merged as commit 571feba.
User avatar
No.23652
Robbbert
Moderator
9 days ago
Working, thanks for fixing.