Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
08752 Core Minor Always Sep 3, 2023, 12:43 Sep 6, 2023, 14:57
Tester Hirudov View Status Public Platform MAME (Official Binary)
Assigned To Resolution Open OS Windows 10/11 (64-bit)
Status [?] Acknowledged Driver
Version 0.258 Fixed in Version Build 64-bit
Fixed in Git Commit Github Pull Request #
Summary 08752: indy_4610: MAME crashes with Exception when trying to load IRIX 6.2 at the network configuration. Commandline option -nodrc fixes the issue
Description Running latest MAME or any version after 0.241 (when dynamic recompilation was introduced) with the following commandline

mame indy_4610 -hard1 "software/irix62.chd"

Crashes MAME when trying to load the OS at the Network configuration part.

-----------------------------------------------------
Exception at EIP=00007ff6c390bb6f (void std::vector<pci_device*, std::allocator<pci_device*> >::_M_realloc_insert<pci_device* const&>(__gnu_cxx::__normal_iterator<pci_device**, std::vector<pci_device*, std::allocator<pci_device*> > >, pci_device* const&)+0x006f): ACCESS VIOLATION
While attempting to read memory at 0000000000000000
-----------------------------------------------------
RAX=000000000000000b RBX=0000017e4b316450 RCX=0000017e4b276ee0 RDX=00000000900cbfe4
RSI=0000017e3e450080 RDI=0000000000000000 RBP=0000007c5c979284 RSP=0000007c5c979210
 R8=0000000000000004 R9=0000007c5c9792e0 R10=0000017e3bc400b8 R11=0000000000000006
R12=0000017e450b50f0 R13=00000000100cbfe4 R14=00000000100cbfe4 R15=0000007c5c9799d0
-----------------------------------------------------
Stack crawl:
  0000007c5c9795b0: 00007ff6c390bb6f (void std::vector<pci_device*, std::allocator<pci_device*> >::_M_realloc_insert<pci_device* const&>(__gnu_cxx::__normal_iterator<pci_device**, std::vector<pci_device*, std::allocator<pci_device*> > >, pci_device* const&)+0x006f)
  0000007c5c979670: 00007ff6c3913a09 (std::vector<std::unique_ptr<ram_state, std::default_delete<ram_state> >, std::allocator<std::unique_ptr<ram_state, std::default_delete<ram_state> > > >::~vector()+0x00b9)
  0000007c5c9796e0: 00007ff6c1be7e38 (device_finder<bbc_userport_slot_device, true>::findit(bool)+0x0108)
  0000007c5c979840: 00007ff6c1be4dff (device_finder<astrocade_rl64ram_device, true>::findit(bool)+0x00ef)
  0000007c5c97ed60: 00007ff6c534fe8b (abc800_state::common(machine_config&)+0x0adf)
  0000007c5c97f140: 00007ff6c94dd91f (register_frame_ctor+0x39fc29f)
  0000007c5c97f400: 00007ff6c94ddf2d (register_frame_ctor+0x39fc8ad)
  0000007c5c97f460: 00007ff6c534a509 (delegate_base<void, palette_device&>::operator=(delegate_base<void, palette_device&> const&) [clone .part.55]+0x00b5)
  0000007c5c97f820: 00007ff6cb09cd43 (luaopen_lfs+0xeac8d3)
  0000007c5c97f8f0: 00007ff6bd1213b1 (__tmainCRTStartup+0x0231)
  0000007c5c97f920: 00007ff6bd1214e6 (mainCRTStartup+0x0006)
  0000007c5c97f950: 00007ffa48927614 (BaseThreadInitThunk+0x0014)
  0000007c5c97f9d0: 00007ffa4a0026b1 (RtlUserThreadStart+0x0021)

Simply adding -nodrc option to the commandline fixes the use and the Operation System boots normally.

Seems bug is related to Dynamic recompiling and zero pointer.
Steps To Reproduce Start MAME and try to load IRIX operating system:

mame indy_4610 -hard1 "software/irix62.chd"
Additional Information IRIX was first configured with
> setenv -f eaddr 08:00:69:12:34:56
> setenv monitor h
> auto

There is possible walkaround of this bug with different network settings or using MAME compiled version with LAN enabled/disabled for this specific system.
Github Commit
Flags
Regression Version
Affected Sets / Systems indy_4610
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
0
There are no notes attached to this issue.