Viewing Issue Advanced Details Jump to Notes ] plygonet.cpp
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
06082 Debugger Critical (emulation) Always Nov 18, 2015, 17:17 Jan 25, 2016, 11:57
Tester Kale View Status Public Platform MAME (Self-compiled)
Assigned To micko Resolution Fixed OS Windows Vista/7/8 (64-bit)
Status [?] Resolved   Driver plygonet.cpp
Version 0.167 Fixed in Version 0.168 Build Normal
Summary 06082: plygonet: dsp56k core crashes when focused
Description Running Polygonet Commanders with debugger enabled and focused on dsp56k CPU core causes emulation to crash under an unknown condition (either a specific opcode disassembler string parsing or a race condition due of running/halted state).
This is actually a dsp56k.c CPU core bug rather than plygonet.c specific.
Steps To Reproduce run plygonet with debugger enabled
type focus 1 in debugger console, then F12 (will eventually move execution to dsp56k)
Wait during POST, will eventually crash after some time.
Additional Information
Regression Version
Affected Sets / Systems plygonet
Attached Files

-  Notes
User avatar
Nov 18, 2015, 17:32
Exception at EIP=0000000002B13989 (DSP56K::Opcode::size() const+0x0039): ACCESS VIOLATION
While attempting to read memory at 0000000000000040
RAX=000000001ED89E00 RBX=00000000002294B0 RCX=000000001ED89E00 RDX=0000000000000018
RSI=00000000002294B0 RDI=000000001ED89E18 RBP=00000000002294B0 RSP=0000000000229430
 R8=000000001ED89DE0 R9=8101010101010100 R10=000000001ED88C8A R11=0000156E00500048
R12=0000000000000200 R13=0000000000229670 R14=00000000002296B0 R15=000000001ED8BF30
Stack crawl:
  00000000002293E0: 0000000002B13989 (DSP56K::Opcode::size() const+0x0039)
  0000000000229500: 0000000002ADCFD2 (cpu_disassemble_dsp56k(cpu_device*, char*, unsigned int, unsigned char const*, unsigned char const*, int)+0x0082)
  0000000000229540: 000000000213EDDD (dsp56k_device::disasm_disassemble(char*, unsigned int, unsigned char const*, unsigned char const*, unsigned int)+0x001d)
  00000000002295B0: 0000000002968D38 (device_debug::disassemble(char*, unsignedint, unsigned char const*, unsigned char const*) const+0x00e8)
  0000000000229810: 0000000002991B32 (debug_view_disasm::recompute(unsigned int, int, int)+0x03c2)
  00000000002298A0: 0000000002992B88 (debug_view_disasm::view_update()+0x0578)
  0000000000229900: 000000000298FDF8 (debug_view_manager::update_all(debug_view_type)+0x0078)
  0000000000229960: 000000000296AA29 (device_debug::start_hook(attotime const&)+0x0229)
  0000000000229A10: 00000000028C8E81 (device_scheduler::timeslice()+0x0651)
  0000000000229BA0: 00000000028D5278 (running_machine::run(bool)+0x0218)
  000000000022F690: 00000000029CC5C9 (machine_manager::execute()+0x0219)
  000000000022F840: 0000000002987BB4 (cli_frontend::execute(int, char**)+0x0e64)
  000000000022FDF0: 00000000017EA144 (utf8_main(int, char**)+0x0174)
  000000000022FE50: 0000000002D41C6E (wmain+0x007e)
  000000000022FF20: 00000000004013CA (__tmainCRTStartup+0x024a)
  000000000022FF50: 00000000004014F8 (mainCRTStartup+0x0018)
  000000000022FF80: 0000000077155A4D (BaseThreadInitThunk+0x000d)
  000000000022FFD0: 000000007728B831 (RtlUserThreadStart+0x0021)

Minimal Backtrace
Program received signal SIGSEGV, Segmentation fault.
0x0000000002b13af2 in disassemble () at ../../../../../src/devices/cpu/dsp56k/opcode.c:36
36 ../../../../../src/devices/cpu/dsp56k/opcode.c: No such file or directory
#0 0x0000000002b13af2 in disassemble ()
      at ../../../../../src/devices/cpu/dsp56k/opcode.c:36
#1 0x0000000002adcfa1 in cpu_disassemble_dsp56k ()
      at ../../../../../src/devices/cpu/dsp56k/dsp56dsm.c:26
#2 0x000000000213eddd in disasm_disassemble ()
      at ../../../../../src/devices/cpu/dsp56k/dsp56k.c:498
#3 0x0000000002968d38 in disassemble ()
      at ../../../../../src/emu/didisasm.h:63
#4 disassemble () at ../../../../../src/emu/debug/debugcpu.c:2036
#5 0x0000000002991b32 in recompute ()
      at ../../../../../src/emu/debug/dvdisasm.c:403
#6 0x0000000002992b88 in view_update ()
      at ../../../../../src/emu/debug/dvdisasm.c:512
#7 0x000000000298fdf8 in end_update ()
      at ../../../../../src/emu/debug/debugvw.c:122
User avatar
Dec 22, 2015, 13:49
This one seems fixed by Micko, anybody confirms?
User avatar
Dec 23, 2015, 01:33
Doesn't crash for me following posted instructions with 0.168
User avatar
Jan 25, 2016, 11:57
Doesn't crash for me too.