Viewing Issue Advanced Details Jump to Notes ] namcos21.cpp
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
01965 Crash/Freeze Critical (emulator) Always Jul 2, 2008, 16:09 Feb 2, 2016, 10:56
Tester Firewave View Status Public Platform MAME (Self-compiled)
Assigned To Resolution Fixed OS
Status [?] Resolved   Driver namcos21.cpp
Version 0.125u8 Fixed in Version 0.169 Build Debug
Summary 01965: driveyes: [debug] Access Violation
Description I know this is a GAME_NOT_WORKING, but it doesn't crash with a x86 build and right now it should be broken like the other namcos21.c games, but it does crash before that with a NULL pointer access.

Here is the call stack:
Child-SP          RetAddr           Call Site
00000000`0012f7a0 00000001`4035bf5f vmameux64d!namcos21_kickstart+0x90 [c:\mame\src\mame\drivers\namcos21.c @ 534]
00000000`0012f7e0 00000001`4035bba8 vmameux64d!ReadWriteC148+0x39f [c:\mame\src\mame\machine\namcos2.c @ 594]
00000000`0012f840 00000001`4070ca87 vmameux64d!namcos2_68k_master_C148_w+0x38 [c:\mame\src\mame\machine\namcos2.c @ 625]
00000000`0012f880 00000001`4070cb93 vmameux64d!write_word_masked_generic+0x127 [c:\mame\src\emu\memory.c @ 4341]
00000000`0012f8d0 00000001`4125a77f vmameux64d!program_write_word_16be+0x23 [c:\mame\src\emu\memory.c @ 4374]
00000000`0012f900 00000001`4128f63d vmameux64d!m68ki_write_16_fc+0x6f [c:\mame\src\emu\cpu\m68000\m68kcpu.h @ 1150]
00000000`0012f930 00000001`411636a2 vmameux64d!m68k_op_move_16_al_i+0x2d [c:\mame\obj\windows\vmameux64d\emu\cpu\m68000\m68kops.c @ 20377]
00000000`0012f970 00000001`40cc2441 vmameux64d!m68k_execute+0xc2 [c:\mame\src\emu\cpu\m68000\m68kcpu.c @ 818]
00000000`0012f9a0 00000001`4073c51d vmameux64d!m68000_execute+0x11 [c:\mame\src\emu\cpu\m68000\m68kmame.c @ 186]
00000000`0012f9d0 00000001`40746f15 vmameux64d!cpunum_execute+0x8d [c:\mame\src\emu\cpuintrf.c @ 1467]
00000000`0012fa20 00000001`407113e2 vmameux64d!cpuexec_timeslice+0x375 [c:\mame\src\emu\cpuexec.c @ 283]
00000000`0012fcf0 00000001`4149e94a vmameux64d!mame_execute+0x2e2 [c:\mame\src\emu\mame.c @ 397]
00000000`0012fd80 00000001`41446437 vmameux64d!cli_execute+0x20a [c:\mame\src\emu\clifront.c @ 171]
00000000`0012fe40 00000001`414a4024 vmameux64d!utf8_main+0x147 [c:\mame\src\osd\windows\winmain.c @ 258]
00000000`0012fec0 00000001`413f6816 vmameux64d!wmain+0xb4 [c:\mame\src\osd\windows\main.c @ 72]
00000000`0012ff00 00000001`413f671e vmameux64d!__tmainCRTStartup+0xe6 [f:\dd\vctools\crt_bld\self_64_amd64\crt\src\crt0.c @ 266]
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\WINDOWS\system32\kernel32.dll - 
00000000`0012ff50 00000000`77d5964c vmameux64d!wmainCRTStartup+0xe [f:\dd\vctools\crt_bld\self_64_amd64\crt\src\crt0.c @ 182]
00000000`0012ff80 00000000`00000000 kernel32!BaseProcessStart+0x2c
Steps To Reproduce
Additional Information
Flags 64-bit specific, Debug build specific
Regression Version
Affected Sets / Systems driveyes
Attached Files

-  Notes
User avatar
Jul 3, 2008, 13:37
Awaiting someone with 64-bit build to test and confirm report...
User avatar
Jul 5, 2008, 17:26
Linux 64bit backtrace
(gdb) bt
#0  0x0000000000646799 in winrun_dsp_pointrom_data_r (
    machine=<value optimized out>, offset=<value optimized out>, 
    mem_mask=<value optimized out>) at src/mame/drivers/namcos21.c:1239
#1  0x000000000094a66d in io_read_word_16be (address=16)
    at src/emu/memory.c:533
#2  0x0000000000f08850 in in () at src/emu/cpu/tms32025/tms32025.c:934
#3  0x0000000000efbac4 in tms32025_execute (cycles=8000)
    at src/emu/cpu/tms32025/tms32025.c:2017
#4  0x000000000090c3a8 in cpunum_execute (cpunum=512, cycles=8000)
    at src/emu/cpuintrf.c:1467
#5  0x0000000000906675 in cpuexec_timeslice (machine=0x3871730)
    at src/emu/cpuexec.c:283
#6  0x0000000000939159 in mame_execute (options=0x383f230)
    at src/emu/mame.c:394
#7  0x0000000000904ea4 in cli_execute (argc=<value optimized out>, 
    argv=<value optimized out>, osd_options=<value optimized out>)
    at src/emu/clifront.c:171
#8  0x00000000008db79b in main (argc=9, argv=0x7fff88725c88)
    at src/osd/sdl/sdlmain.c:319
User avatar
Oct 5, 2014, 06:10
edited on: Oct 5, 2014, 06:14
This happens again as of 0.154. Originally fixed by Aaron Giles for 0.126.

User avatar
Oct 6, 2014, 16:07
it doesn't crash here on 64bit (with latest svn revision)
User avatar
Oct 6, 2014, 17:34
edited on: Oct 6, 2014, 17:35
only debug build. Are you sure you tried the debug build?

User avatar
Oct 6, 2014, 18:05
ah nevermind, mine's a normal build
User avatar
(Senior Tester)
Jan 3, 2015, 20:01
same backtrace with ASAN

==5101==ERROR: AddressSanitizer: SEGV on unknown address 0x7f1621825806 (pc 0x00000325368f bp 0x7ffffd42c5a0 sp 0x7ffffd42c590 T0)
    #0 0x325368e in namcos21_state::winrun_dsp_pointrom_data_r(address_space&, unsigned int, unsigned short) /home/notroot/trunk/src/mame/drivers/namcos21.c:1172:2
    #1 0x8176852 in delegate_base<unsigned short, address_space&, unsigned int, unsigned short, _noparam, _noparam, _noparam, _noparam, _noparam, _noparam, _noparam, _noparam, _noparam>::operator()(address_space&, unsigned int, unsigned short) const /home/notroot/trunk/src/lib/util/delegate.h:652:76
    #2 0x8176852 in handler_entry_read::read16(address_space&, unsigned int, unsigned short) const /home/notroot/trunk/src/emu/memory.c:359
    #3 0x8176852 in address_space_specific<unsigned short, (endianness_t)1, false>::read_native(unsigned int) /home/notroot/trunk/src/emu/memory.c:1095
    #4 0x8174cbb in address_space_specific<unsigned short, (endianness_t)1, false>::read_word(unsigned int) /home/notroot/trunk/src/emu/memory.c:1413:66
    #5 0x6ee35e6 in tms32025_device::in() /home/notroot/trunk/src/emu/cpu/tms32025/tms32025.c:949:14
    #6 0x6efa5b4 in tms32025_device::execute_run() /home/notroot/trunk/src/emu/cpu/tms32025/tms32025.c:2066:4
    #7 0x6efb96f in non-virtual thunk to tms32025_device::execute_run() /home/notroot/trunk/src/emu/cpu/tms32025/tms32025.c:2133:1
    #8 0x81f345a in device_execute_interface::run() /home/notroot/trunk/src/emu/diexec.h:191:15
    #9 0x81f345a in device_scheduler::timeslice() /home/notroot/trunk/src/emu/schedule.c:476
    #10 0x8112c98 in running_machine::run(bool) /home/notroot/trunk/src/emu/machine.c:391:5
    #11 0x810b03a in machine_manager::execute() /home/notroot/trunk/src/emu/mame.c:216:11
    #12 0x7f3df3e in cli_frontend::execute(int, char**) /home/notroot/trunk/src/emu/clifront.c:244:15
    #13 0x576f669 in main /home/notroot/trunk/src/osd/sdl/sdlmain.c:345:9
    #14 0x7f143913eec4 in __libc_start_main /build/buildd/eglibc-2.19/csu/libc-start.c:287
    #15 0x11479ac in _start (/home/notroot/trunk/mame64d+0x11479ac)
User avatar
(Senior Tester)
Feb 27, 2015, 18:34
In 0.159 it gives an assertion

MAME exception: assert: src/emu/devfind.h:323: index < m_length
User avatar
Feb 2, 2016, 10:56
Fixed in 0.169, I didn't take the time to check what change actually fixed this.