Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash on ssystem3 / saitek_ssystem3.cpp #5584

Closed
john-iv opened this issue Sep 2, 2019 · 12 comments
Closed

Crash on ssystem3 / saitek_ssystem3.cpp #5584

john-iv opened this issue Sep 2, 2019 · 12 comments

Comments

@john-iv
Copy link

john-iv commented Sep 2, 2019

0.212 (mame0212-684-g17e43dada2) / 9/2/2019 6am PST
Win10 x64

Attempts to run ssystem3 receive an immediate fault.

c:\O\Games\MAME>mame ssystem3


Exception at EIP=0000000005c10026 (not found): ACCESS VIOLATION
While attempting to read memory at 0000000000000010

RAX=000000000ded5500 RBX=0000000000000000 RCX=0000000000000000 RDX=000000000d55de4e
RSI=0000000011ccd990 RDI=000000000f9a9710 RBP=0000000011cf6b40 RSP=000000000f9a7920
R8=000000000a24d1b0 R9=0000000000000006 R10=0000000000000000 R11=8101010101010100
R12=000000000f9a7bd0 R13=0000000011ccd9c8 R14=000000000d54bb1f R15=0000000000000000

Stack crawl:
000000000f9a7950: 0000000005c10026 (not found)
000000000f9a7dd0: 00000000058614f9 (not found)
000000000f9a7fe0: 00000000058491c3 (not found)
000000000f9a8d60: 000000000584a8f7 (not found)
000000000f9a8db0: 000000000584d889 (not found)
000000000f9a8e20: 000000000584da46 (not found)
000000000f9a8ee0: 0000000003bce99c (not found)
000000000f9a8f50: 0000000003bc9fe6 (not found)
000000000f9a9070: 0000000003bbfdb7 (not found)
000000000f9a9330: 0000000003bb858a (not found)
000000000f9a9420: 000000000583469b (not found)
000000000f9a94f0: 000000000583686a (not found)
000000000f9af1d0: 0000000003c74fc8 (not found)
000000000f9af440: 0000000003ce7f57 (not found)
000000000f9af610: 0000000003ce82bd (not found)
000000000f9af670: 0000000003c73067 (not found)
000000000f9afe20: 0000000009c084b7 (not found)
000000000f9afef0: 00000000004013a5 (not found)
000000000f9aff20: 000000000040150b (not found)
000000000f9aff50: 00007ffc885b7bd4 (BaseThreadInitThunk+0x0014)
000000000f9affd0: 00007ffc8a48cee1 (RtlUserThreadStart+0x0021)

@happppp
Copy link
Member

happppp commented Sep 3, 2019

Looks like you don't have mame.sym, so unfortunately there's no useful info in that stack trace. The game works fine for me, both on my own MAME build and also on a daily build provided by Tafoid. When the official MAME binary is released, please try again on that version.

@john-iv
Copy link
Author

john-iv commented Sep 4, 2019

Hi Hap, I built a debug / symbols version and here's the backtrace:

(gdb) run ssystem3 -window
Starting program: c:\O\Games\MAME\mame.exe ssystem3 -window
[New Thread 10872.0x2b48]
[New Thread 10872.0x2c30]
[New Thread 10872.0x2a24]
[New Thread 10872.0x43e8]
[New Thread 10872.0x588]
[New Thread 10872.0x3d70]
[New Thread 10872.0x3a38]

Thread 1 received signal SIGSEGV, Segmentation fault.
0x0000000006478c5a in util::xml::data_node::get_child(char const*) const ()
at ../../../../../src/lib/util/xmlfile.cpp:292
292 }
(gdb) bt
#0 0x0000000006478c5a in util::xml::data_node::get_child(char const*) const ()
at ../../../../../src/lib/util/xmlfile.cpp:292
#1 0x000000000614a1b9 in layout_file::layout_file () at ../../../../../src/emu/rendlay.cpp:3534
#2 0x0000000006131d7d in __gnu_cxx::new_allocator<std::_List_node<layout_file> >::construct<layout_file, device_t&, util::xml::data_node const&, char const*&> () at c:/buildtools/mingw64/include/c++/8.3.0/ext/new_allocator.h:136
#3 std::allocator_traits<std::allocator<std::_List_node<layout_file> > >::construct<layout_file, device_t&, util::xml::data_node const&, char const*&> () at c:/buildtools/mingw64/include/c++/8.3.0/bits/alloc_traits.h:475
#4 std::__cxx11::list<layout_file, std::allocator<layout_file> >::_M_create_node<device_t&, util::xml::data_node const&, char const*&> () at c:/buildtools/mingw64/include/c++/8.3.0/bits/stl_list.h:645
#5 std::__cxx11::list<layout_file, std::allocator<layout_file> >::_M_insert<device_t&, util::xml::data_node const&, char const*&> () at c:/buildtools/mingw64/include/c++/8.3.0/bits/stl_list.h:1903
#6 std::__cxx11::list<layout_file, std::allocator<layout_file> >::emplace_back<device_t&, util::xml::data_node const&, char const*&> () at c:/buildtools/mingw64/include/c++/8.3.0/bits/stl_list.h:1235
#7 render_target::load_layout_file () at ../../../../../src/emu/render.cpp:2079
#8 render_target::load_layout_file () at ../../../../../src/emu/render.cpp:2063
#9 0x0000000006132f1b in render_target::load_additional_layout_files () at ../../../../../src/emu/render.cpp:1589
#10 0x0000000006135dea in render_target::load_layout_files () at ../../../../../src/emu/render.cpp:1551
#11 render_target::render_target<internal_layout const*&> () at ../../../../../src/emu/render.cpp:946
#12 0x0000000006135fa9 in render_target::render_target () at ../../../../../src/emu/render.cpp:880
#13 render_manager::target_alloc () at ../../../../../src/emu/render.cpp:2989
#14 0x00000000043003ba in win_window_info::create () at ../../../../../src/osd/windows/window.cpp:780
#15 0x00000000042fa4ff in windows_osd_interface::video_init () at ../../../../../src/osd/windows/video.cpp:63
#16 0x00000000042efa07 in osd_common_t::init_subsystems ()
at ../../../../../src/osd/modules/lib/osdobj_common.cpp:650
#17 0x00000000042e8300 in windows_osd_interface::init () at ../../../../../src/osd/windows/winmain.cpp:567
#18 0x000000000611b3a8 in running_machine::start () at ../../../../../src/emu/machine.cpp:205
#19 0x000000000611d2f1 in running_machine::run () at ../../../../../src/emu/machine.cpp:309
#20 0x00000000043bda78 in mame_machine_manager::execute () at ../../../../../src/frontend/mame/mame.cpp:261
#21 0x0000000004432b86 in cli_frontend::start_execution () at ../../../../../src/frontend/mame/clifront.cpp:264
#22 0x0000000004432ee3 in cli_frontend::execute () at ../../../../../src/frontend/mame/clifront.cpp:280
#23 0x00000000043bbaaa in emulator_info::start_frontend () at ../../../../../src/frontend/mame/mame.cpp:392
#24 0x000000000a764dcd in main () at ../../../../../src/osd/windows/winmain.cpp:324

@john-iv
Copy link
Author

john-iv commented Sep 4, 2019

Interesting. mame ssystem3 -norc works. Something in the *.ini. Attached.
MAMEini.zip

@john-iv
Copy link
Author

john-iv commented Sep 4, 2019

Appears to not care for the ssystem3.zip artwork. When I remove that from my artwork folder it defaults to the internal layout and plays. With it it faults.
ssystem3.zip

c:\O\Games\MAME>mame ssystem3 -v
Attempting load of mame.ini
Parsing mame.ini
Attempting load of mame.ini
Parsing mame.ini
Attempting load of horizont.ini
Attempting load of console.ini
Attempting load of source\saitek_ssystem3.ini
Attempting load of ssystem3.ini
Attempting load of mame.ini
Parsing mame.ini
Attempting load of mame.ini
Parsing mame.ini
Attempting load of horizont.ini
Attempting load of console.ini
Attempting load of source\saitek_ssystem3.ini
Attempting load of ssystem3.ini
Video: Monitor 65539 = "\.\DISPLAY1"
Video: Monitor 65537 = "\.\DISPLAY2" (primary)
Direct3D: Using Direct3D 9
unzip: opened archive file artwork_ingame\ssystem3.zip
unzip: found artwork_ingame\ssystem3.zip ECD
unzip: artwork_ingame\ssystem3.zip has no ZIP64 ECD locator
unzip: read artwork_ingame\ssystem3.zip central directory
unzip: closing archive file artwork_ingame\ssystem3.zip and sending to cache
unzip: found artwork_ingame\ssystem3.zip in cache
unzip: opened archive file artwork_ingame\ssystem3.zip
unzip: closing archive file artwork_ingame\ssystem3.zip and sending to cache


Exception at EIP=0000000006478c5a (not found): ACCESS VIOLATION
While attempting to read memory at 0000000000000010

RAX=000000000ec8ae50 RBX=0000000000000000 RCX=0000000000000000 RDX=000000000e304c16
RSI=0000000064e66f00 RDI=0000000062c894a0 RBP=0000000062c87690 RSP=0000000062c87670
R8=000000000ada02b0 R9=0000000000000006 R10=0000000000000000 R11=8101010101010100
R12=0000000064e78f50 R13=0000000062c87920 R14=0000000064e66f38 R15=0000000064e78f50

Stack crawl:
0000000062c87680: 0000000006478c5a (not found)
0000000062c87b20: 000000000614a1b9 (not found)
0000000062c87d40: 0000000006131d7d (not found)
0000000062c88ac0: 0000000006132f1b (not found)
0000000062c88b20: 0000000006135dea (not found)
0000000062c88b90: 0000000006135fa9 (not found)
0000000062c88c50: 00000000043003ba (not found)
0000000062c88cd0: 00000000042fa4ff (not found)
0000000062c88df0: 00000000042efa07 (not found)
0000000062c890a0: 00000000042e8300 (not found)
0000000062c891a0: 000000000611b3a8 (not found)
0000000062c89280: 000000000611d2f1 (not found)
0000000062c8ef60: 00000000043bda78 (not found)
0000000062c8f1d0: 0000000004432b86 (not found)
0000000062c8f600: 0000000004432ee3 (not found)
0000000062c8f660: 00000000043bbaaa (not found)
0000000062c8fe20: 000000000a764dcd (not found)
0000000062c8fef0: 00000000004013a5 (not found)
0000000062c8ff20: 000000000040150b (not found)
0000000062c8ff50: 00007ffc885b7bd4 (BaseThreadInitThunk+0x0014)
0000000062c8ffd0: 00007ffc8a48cee1 (RtlUserThreadStart+0x0021)

@Robbbert
Copy link
Contributor

Robbbert commented Sep 4, 2019

The old external artwork no longer works, for all chess games. You need to remove it from your artpath.

@cuavas
Copy link
Member

cuavas commented Sep 4, 2019

Does the old artwork pass complay.py checks?

@john-iv
Copy link
Author

john-iv commented Sep 4, 2019

Doesn't appear so; if I'm doing this right:
C:\BuildTools\src\scripts\build>python complay.py default.lay
error: default.lay:8:1: Encountered unexpected element view
fatal error: default.lay:64:2: mismatched tag

@cuavas
Copy link
Member

cuavas commented Sep 4, 2019

Yeah, that looks like there's an error in the layout file itself that was somehow being ignored before. If you can't work it out, paste the content of the file here.

@john-iv
Copy link
Author

john-iv commented Sep 4, 2019

The zip is in the comment above. I'll ping Mr. Do and let him know there may be trouble w/ the old chess layouts. Thanks -

@happppp
Copy link
Member

happppp commented Sep 4, 2019

Right, that default.lay is broken. But then I don't understand why it didn't crash before my driver update.

<element name="button" defstate="0">

Should have a closing tag, so at the least like this:
<element name="button" defstate="0" />

@cuavas
Copy link
Member

cuavas commented Sep 4, 2019

I'm aware MAME should do better than crash on invalid layouts, but that's a known issue - invalid element nesting can cause MAME to crash.

@cuavas cuavas closed this as completed Sep 4, 2019
@cuavas
Copy link
Member

cuavas commented Sep 8, 2019

FWIW, as of fde41f3 MAME will print a warning and continue, ignoring the layout file. Now we can get bug reports from people saying artwork doesn't show when their layout files are actually malformed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants