Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
04875 Crash/Freeze Critical (emulator) Always May 27, 2012, 22:44 Jan 2, 2013, 19:02
Tester Firewave View Status Public Platform MESS (Self-compiled)
Assigned To Firewave Resolution Fixed OS Windows Vista/7 (64-bit)
Status [?] Resolved Driver
Version 0.146 Fixed in Version 0.148 Build 64-bit
Fixed in Git Commit Github Pull Request #
Summary MESS-specific 04875: fp: Access Violation when taking snapshot
Description When taking a snapshot with F12 it crashes:

-----------------------------------------------------
Exception at EIP=0000000140DA74BC (+0x40da74bc): ACCESS VIOLATION
While attempting to write memory at 000000000A735200
-----------------------------------------------------
RAX=000000000A735200 RBX=0000000000000000 RCX=0000000000000000 RDX=0000000000000000
RSI=00000000002B5E70 RDI=00000000002B5DD8 RBP=0000000000000000 RSP=00000000002B5DA0
 R8=0000000000000000  R9=00000000000042AB R10=00000000000000DA R11=0000000000000001
R12=0000000000000000 R13=0000000000000000 R14=0000000000000000 R15=0000000000000000
-----------------------------------------------------
Stack crawl:
  00000000002B5E90: 0000000140DA74BC (software_renderer<unsigned int,0,0,0,16,8,0,0,1>::draw_rect+0x039c, s:\svn\mess\src\emu\rendersw.c:591)
  00000000002B6320: 0000000140DA66D6 (software_renderer<unsigned int,0,0,0,16,8,0,0,1>::draw_primitives+0x0106, s:\svn\mess\src\emu\rendersw.c:1962)
  00000000002B63E0: 0000000140DA51BC (video_manager::create_snapshot_bitmap+0x024c, s:\svn\mess\src\emu\video.c:1072)
  00000000002B65E0: 0000000140DA2EAB (video_manager::save_snapshot+0x009b, s:\svn\mess\src\emu\video.c:323)
  00000000002B6840: 0000000140DA4F18 (video_manager::recompute_speed+0x0378, s:\svn\mess\src\emu\video.c:1031)
  00000000002B6900: 0000000140DA2B52 (video_manager::frame_update+0x0312, s:\svn\mess\src\emu\video.c:258)
  00000000002B6A00: 0000000140B93691 (screen_device::vblank_begin+0x0141, s:\svn\mess\src\emu\screen.c:811)
  00000000002B6A80: 0000000140B91E2A (screen_device::device_timer+0x006a, s:\svn\mess\src\emu\screen.c:394)
  00000000002B6AC0: 0000000140BEB686 (device_t::timer_expired+0x0056, s:\svn\mess\src\emu\device.h:223)
  00000000002B6B40: 0000000140BEAF5F (device_scheduler::execute_timers+0x022f, s:\svn\mess\src\emu\schedule.c:911)
  00000000002B6C60: 0000000140BE94CC (device_scheduler::timeslice+0x008c, s:\svn\mess\src\emu\schedule.c:433)
  00000000002B7180: 0000000140BDE0BC (running_machine::run+0x034c, s:\svn\mess\src\emu\machine.c:392)
  00000000002BD860: 0000000140A52F6A (mame_execute+0x01ba, s:\svn\mess\src\emu\mame.c:189)
  00000000002BF720: 00000001410E0990 (cli_frontend::execute+0x0ab0, s:\svn\mess\src\emu\clifront.c:252)
  00000000002BFBF0: 000000014105E65C (utf8_main+0x016c, s:\svn\mess\src\osd\windows\winmain.c:482)
  00000000002BFC30: 000000014105E4A1 (wmain+0x00b1, s:\svn\mess\src\osd\windows\main.c:88)
  00000000002BFCA0: 000000014105C3BC (__tmainCRTStartup+0x019c, f:\dd\vctools\crt_bld\self_64_amd64\crt\src\crtexe.c:552)
  00000000002BFCD0: 000000014105C20E (wmainCRTStartup+0x000e, f:\dd\vctools\crt_bld\self_64_amd64\crt\src\crtexe.c:371)
  00000000002BFD00: 0000000076FD652D (BaseThreadInitThunk+0x000d)
  00000000002BFD50: 000000007747C521 (RtlUserThreadStart+0x0021)
Steps To Reproduce
Additional Information
Github Commit
Flags
Regression Version
Affected Sets / Systems fp
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
3
User avatar
No.08676
Robbbert
Senior Tester
May 28, 2012, 06:38
It creates a 0-byte file 0000.png in the correct folder.
User avatar
No.08769
wilbert
Developer
Jun 21, 2012, 20:00
It does work if you manually supply a snap size on the command line.

Somehow the m_snap_width and m_snap_height variables get accidentally overwritten with bogus data (103040 and 17067 in my case) by something, but this only seems to happen when the snap size has not been provided on the command line.
User avatar
No.09195
Firewave
Senior Tester
Jan 2, 2013, 19:02
Fixes in r20015. The bounds of the second screen in the layout were wrong.