Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
02779 Crash/Freeze Critical (emulator) Always Dec 28, 2008, 15:53 Jan 5, 2009, 02:07
Tester Firewave View Status Public Platform MAME (Self-compiled)
Assigned To aaron Resolution Fixed OS Windows XP/Vista 64-bit
Status [?] Resolved Driver
Version 0.128u7 Fixed in Version 0.129 Build Debug
Fixed in Git Commit Github Pull Request #
Summary 02779: sfiii2j: Access Violation with -debug
Description It crashes before the debugger window even shows up.

-----------------------------------------------------
Exception at EIP=00C5B245 (debug_read_opcode+0x0427): ACCESS VIOLATION
While attempting to read memory at 1D432000
-----------------------------------------------------
EAX=1D431FFF EBX=00000001 ECX=00000000 EDX=00000003
ESI=00000002 EDI=4A817C80 EBP=0022F818 ESP=0022F7A0


Program received signal SIGSEGV, Segmentation fault.
0x00bbac29 in debug_read_opcode (space=0x18cf1750, address=87490867, size=2,
    arg=0) at src/emu/debug/debugcpu.c:1745
1745                    case 2: return *(UINT16 *)ptr;
(gdb) bt full
#0  0x00bbac29 in debug_read_opcode (space=0x18cf1750, address=87490867,
    size=2, arg=0) at src/emu/debug/debugcpu.c:1745
        info = (cpu_debug_data *) 0x29b61a70
        lowbits_mask = 3
        ptr = (const void *) 0x1e631fff
#1  0x00bc824a in disasm_view_generate_bytes (space=0x18cf1750,
    pcbyte=87490865, numbytes=2, minbytes=2, string=0x2ce4169e " ",
    maxchars=6, encrypted=0) at src/emu/debug/debugvw.c:1783
        byte = 753145503
        offset = 0
        val = 284220986987
#2  0x00bc8864 in disasm_view_recompute (view=0x2cd71fa4, pc=87490867,
    startline=0, lines=1000) at src/emu/debug/debugvw.c:1919
        destbuf = 0x2ce41660 " 05370131  ??????  00", ' ' <repeats 39 times>
        buffer = "??????  00", '
Program received signal SIGSEGV, Segmentation fault.
0x00bbac29 in debug_read_opcode (space=0x18cf1750, address=87490867, size=2,
    arg=0) at src/emu/debug/debugcpu.c:1745
1745 case 2: return *(UINT16 *)ptr;
(gdb) bt full
#0 0x00bbac29 in debug_read_opcode (space=0x18cf1750, address=87490867,
    size=2, arg=0) at src/emu/debug/debugcpu.c:1745
        info = (cpu_debug_data *) 0x29b61a70
        lowbits_mask = 3
        ptr = (const void *) 0x1e631fff
#1 0x00bc824a in disasm_view_generate_bytes (space=0x18cf1750,
    pcbyte=87490865, numbytes=2, minbytes=2, string=0x2ce4169e " ",
    maxchars=6, encrypted=0) at src/emu/debug/debugvw.c:1783
        byte = 753145503
        offset = 0
        val = 284220986987
#2 0x00bc8864 in disasm_view_recompute (view=0x2cd71fa4, pc=87490867,
    startline=0, lines=1000) at src/emu/debug/debugvw.c:1919
        destbuf = 0x2ce41660 " 05370131 ?????? $0900", ' ' <repeats 39 times>
        buffer = "?????? $0900", '\0' <repeats 86 times>
        oldbuf = '\0' <repeats 99 times>
        instr = 0
        pcbyte = 87490865
        physpcbyte = 87490865
        numbytes = 2
        dasmdata = (debug_view_disasm *) 0x2cd91fa8
        space = (const address_space *) 0x18cf1750
        minbytes = 2
        maxbytes = 2
        maxbytes_clamped = 2
        changed = 0
        line = 0
#3 0x00bc8c96 in disasm_view_update (view=0x2cd71fa4)
    at src/emu/debug/debugvw.c:2051
        backpc = 87490865
        dasmdata = (debug_view_disasm *) 0x2cd91fa8
        space = (const address_space *) 0x18cf1750
        dest = (debug_view_char *) 0x2cd81f38
        recomputed_this_time = 0
        pc = 87490871
        pcbyte = 87490871
        exprerr = 0
        row = 0
#4 0x00bc5d7d in debug_view_end_update (view=0x2cd71fa4)
    at src/emu/debug/debugvw.c:507
        size = 100
#5 0x00bc9346 in disasm_view_set_expression (view=0x2cd71fa4,
    expression=0x21b1054 "curpc") at src/emu/debug/debugvw.c:2303
        dasmdata = (debug_view_disasm *) 0x2cd91fa8
#6 0x0096eaf4 in console_create_window (machine=0xad41efc)
    at src/osd/windows/debugwin.c:2355
        regsubview = (const registers_subview_item *) 0x0
        dasmsubview = (const disasm_subview_item *) 0x0
        info = (debugwin_info *) 0x2cd01654
        bestwidth = 65535
        bestheight = 1
        bounds = {left = 129755264, top = 0, right = 0, bottom = -10000}
        work_bounds = {left = 2292364, top = 1944496414, right = 2292332,
  bottom = -10000}
        optionsmenu = (HMENU) 0x178f065b
        conchars = 2103560904
#7 0x0096a47e in osd_wait_for_debugger (device=0xad91f7c, firststop=1)
    at src/osd/windows/debugwin.c:237
        message = {hwnd = 0x9d7f5d, message = 4294967264, wParam = 1,
  lParam = 2292484, time = 12288160, pt = {x = 711794672, y = 0}}
#8 0x00bb8875 in debug_cpu_instruction_hook (device=0xad91f7c,
    curpc=87490871) at src/emu/debug/debugcpu.c:587
        firststop = 1
        global = (debugcpu_private *) 0x29941f70
        info = (cpu_debug_data *) 0x29b61a70
#9 0x197606ea in ?? ()
No symbol table info available.
#10 0x0ad91f7c in ?? ()
No symbol table info available.
#11 0x05370137 in ?? ()
No symbol table info available.
#12 0x0022ffe0 in ?? ()
No symbol table info available.
#13 0x00000000 in ?? ()
No symbol table info available.
' <repeats 86 times> oldbuf = '
Program received signal SIGSEGV, Segmentation fault.
0x00bbac29 in debug_read_opcode (space=0x18cf1750, address=87490867, size=2,
    arg=0) at src/emu/debug/debugcpu.c:1745
1745 case 2: return *(UINT16 *)ptr;
(gdb) bt full
#0 0x00bbac29 in debug_read_opcode (space=0x18cf1750, address=87490867,
    size=2, arg=0) at src/emu/debug/debugcpu.c:1745
        info = (cpu_debug_data *) 0x29b61a70
        lowbits_mask = 3
        ptr = (const void *) 0x1e631fff
#1 0x00bc824a in disasm_view_generate_bytes (space=0x18cf1750,
    pcbyte=87490865, numbytes=2, minbytes=2, string=0x2ce4169e " ",
    maxchars=6, encrypted=0) at src/emu/debug/debugvw.c:1783
        byte = 753145503
        offset = 0
        val = 284220986987
#2 0x00bc8864 in disasm_view_recompute (view=0x2cd71fa4, pc=87490867,
    startline=0, lines=1000) at src/emu/debug/debugvw.c:1919
        destbuf = 0x2ce41660 " 05370131 ?????? $0900", ' ' <repeats 39 times>
        buffer = "?????? $0900", '\0' <repeats 86 times>
        oldbuf = '\0' <repeats 99 times>
        instr = 0
        pcbyte = 87490865
        physpcbyte = 87490865
        numbytes = 2
        dasmdata = (debug_view_disasm *) 0x2cd91fa8
        space = (const address_space *) 0x18cf1750
        minbytes = 2
        maxbytes = 2
        maxbytes_clamped = 2
        changed = 0
        line = 0
#3 0x00bc8c96 in disasm_view_update (view=0x2cd71fa4)
    at src/emu/debug/debugvw.c:2051
        backpc = 87490865
        dasmdata = (debug_view_disasm *) 0x2cd91fa8
        space = (const address_space *) 0x18cf1750
        dest = (debug_view_char *) 0x2cd81f38
        recomputed_this_time = 0
        pc = 87490871
        pcbyte = 87490871
        exprerr = 0
        row = 0
#4 0x00bc5d7d in debug_view_end_update (view=0x2cd71fa4)
    at src/emu/debug/debugvw.c:507
        size = 100
#5 0x00bc9346 in disasm_view_set_expression (view=0x2cd71fa4,
    expression=0x21b1054 "curpc") at src/emu/debug/debugvw.c:2303
        dasmdata = (debug_view_disasm *) 0x2cd91fa8
#6 0x0096eaf4 in console_create_window (machine=0xad41efc)
    at src/osd/windows/debugwin.c:2355
        regsubview = (const registers_subview_item *) 0x0
        dasmsubview = (const disasm_subview_item *) 0x0
        info = (debugwin_info *) 0x2cd01654
        bestwidth = 65535
        bestheight = 1
        bounds = {left = 129755264, top = 0, right = 0, bottom = -10000}
        work_bounds = {left = 2292364, top = 1944496414, right = 2292332,
  bottom = -10000}
        optionsmenu = (HMENU) 0x178f065b
        conchars = 2103560904
#7 0x0096a47e in osd_wait_for_debugger (device=0xad91f7c, firststop=1)
    at src/osd/windows/debugwin.c:237
        message = {hwnd = 0x9d7f5d, message = 4294967264, wParam = 1,
  lParam = 2292484, time = 12288160, pt = {x = 711794672, y = 0}}
#8 0x00bb8875 in debug_cpu_instruction_hook (device=0xad91f7c,
    curpc=87490871) at src/emu/debug/debugcpu.c:587
        firststop = 1
        global = (debugcpu_private *) 0x29941f70
        info = (cpu_debug_data *) 0x29b61a70
#9 0x197606ea in ?? ()
No symbol table info available.
#10 0x0ad91f7c in ?? ()
No symbol table info available.
#11 0x05370137 in ?? ()
No symbol table info available.
#12 0x0022ffe0 in ?? ()
No symbol table info available.
#13 0x00000000 in ?? ()
No symbol table info available.
' <repeats 99 times> instr = 0 pcbyte = 87490865 physpcbyte = 87490865 numbytes = 2 dasmdata = (debug_view_disasm *) 0x2cd91fa8 space = (const address_space *) 0x18cf1750 minbytes = 2 maxbytes = 2 maxbytes_clamped = 2 changed = 0 line = 0 #3 0x00bc8c96 in disasm_view_update (view=0x2cd71fa4) at src/emu/debug/debugvw.c:2051 backpc = 87490865 dasmdata = (debug_view_disasm *) 0x2cd91fa8 space = (const address_space *) 0x18cf1750 dest = (debug_view_char *) 0x2cd81f38 recomputed_this_time = 0 pc = 87490871 pcbyte = 87490871 exprerr = 0 row = 0 #4 0x00bc5d7d in debug_view_end_update (view=0x2cd71fa4) at src/emu/debug/debugvw.c:507 size = 100 #5 0x00bc9346 in disasm_view_set_expression (view=0x2cd71fa4, expression=0x21b1054 "curpc") at src/emu/debug/debugvw.c:2303 dasmdata = (debug_view_disasm *) 0x2cd91fa8 #6 0x0096eaf4 in console_create_window (machine=0xad41efc) at src/osd/windows/debugwin.c:2355 regsubview = (const registers_subview_item *) 0x0 dasmsubview = (const disasm_subview_item *) 0x0 info = (debugwin_info *) 0x2cd01654 bestwidth = 65535 bestheight = 1 bounds = {left = 129755264, top = 0, right = 0, bottom = -10000} work_bounds = {left = 2292364, top = 1944496414, right = 2292332, bottom = -10000} optionsmenu = (HMENU) 0x178f065b conchars = 2103560904 #7 0x0096a47e in osd_wait_for_debugger (device=0xad91f7c, firststop=1) at src/osd/windows/debugwin.c:237 message = {hwnd = 0x9d7f5d, message = 4294967264, wParam = 1, lParam = 2292484, time = 12288160, pt = {x = 711794672, y = 0}} #8 0x00bb8875 in debug_cpu_instruction_hook (device=0xad91f7c, curpc=87490871) at src/emu/debug/debugcpu.c:587 firststop = 1 global = (debugcpu_private *) 0x29941f70 info = (cpu_debug_data *) 0x29b61a70 #9 0x197606ea in ?? () No symbol table info available. #10 0x0ad91f7c in ?? () No symbol table info available. #11 0x05370137 in ?? () No symbol table info available. #12 0x0022ffe0 in ?? () No symbol table info available. #13 0x00000000 in ?? () No symbol table info available.
Steps To Reproduce
Additional Information
Github Commit
Flags
Regression Version
Affected Sets / Systems sfiii2j
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
1
User avatar
No.03498
Haze
Senior Tester
Jan 5, 2009, 02:07
this isn't really properly fixed. the real issue is that the sfiii2j set is missing from the decryption configuration table

static const struct game_keys2 keys_table2[] =
{
// name key1 key2
{ "jojo", { 0x02203ee3, 0x01301972 },0 },
{ "jojon", { 0x02203ee3, 0x01301972 },0 },
{ "jojoalt", { 0x02203ee3, 0x01301972 },0 },
{ "jojoaltn", { 0x02203ee3, 0x01301972 },0 },
{ "jojoba", { 0x23323ee3, 0x03021972 },0 },
{ "jojoban", { 0x23323ee3, 0x03021972 },0 },
{ "jojobane", { 0x23323ee3, 0x03021972 },0 },
{ "sfiii", { 0xb5fe053e, 0xfc03925a },0 },
{ "sfiiiu", { 0xb5fe053e, 0xfc03925a },0 },
{ "sfiiin", { 0xb5fe053e, 0xfc03925a },0 },
{ "sfiii2", { 0x00000000, 0x00000000 },1 },
{ "sfiii2u", { 0x00000000, 0x00000000 },1 },
{ "sfiii2n", { 0x00000000, 0x00000000 },1 },
{ "sfiii3", { 0xa55432b4, 0x0c129981 },0 },
{ "sfiii3n", { 0xa55432b4, 0x0c129981 },0 },
{ "sfiii3a", { 0xa55432b4, 0x0c129981 },0 },
{ "sfiii3an", { 0xa55432b4, 0x0c129981 },0 },
{ "warzard", { 0x9e300ab1, 0xa175b82c },0 },
{ "redearth", { 0x9e300ab1, 0xa175b82c },0 },
{ 0 } // end of table
};


it should be added in there as

{ "sfiii2j", { 0x00000000, 0x00000000 },1 },