Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
05127 Misc. Minor Always Jan 26, 2013, 11:32 May 29, 2013, 10:42
Tester Firewave View Status Public Platform MESS (Self-compiled)
Assigned To Robbbert Resolution Fixed OS Linux
Status [?] Resolved Driver
Version 0.148 Fixed in Version 0.149 Build Debug
Fixed in Git Commit Github Pull Request #
Summary MESS-specific 05127: paso1600: Invalid read of size 4
Description
==8410== Command: /home/notroot/trunk/mess64d paso1600 -artpath /home/notroot/trunk/artwork -video none -nosound -nothrottle -nodebug -nomouse -window -seconds_to_run 2 -rompath /media/roms/mess;/media/roms/mess_software -hashpath /home/notroot/trunk/hash
...
==8410== Invalid read of size 4
==8410==    at 0x1022142: paso1600_state::screen_update_paso1600(screen_device&, bitmap_ind16&, rectangle const&) (paso1600.c:143)
==8410==    by 0x1B1189C: delegate_base<unsigned int, screen_device&, bitmap_ind16&, rectangle const&, _noparam, _noparam>::operator()(screen_device&, bitmap_ind16&, rectangle const&) const (delegate.h:542)
==8410==    by 0x1B0EDC3: screen_device::update_partial(int) (screen.c:602)
==8410==    by 0x1B52275: video_manager::finish_screen_updates() (video.c:658)
==8410==    by 0x1B50DE7: video_manager::frame_update(bool) (video.c:229)
==8410==    by 0x1B0F7CC: screen_device::vblank_begin() (screen.c:812)
==8410==    by 0x1B0E309: screen_device::device_timer(emu_timer&, unsigned int, int, void*) (screen.c:397)
==8410==    by 0x1B0B9B0: device_t::timer_expired(emu_timer&, unsigned int, int, void*) (device.h:227)
==8410==    by 0x1B0BC7C: device_scheduler::execute_timers() (schedule.c:914)
==8410==    by 0x1B0A3BB: device_scheduler::timeslice() (schedule.c:429)
==8410==    by 0x1AA49B0: running_machine::run(bool) (machine.c:393)
==8410==    by 0x1AA22B3: mame_execute(emu_options&, osd_interface&) (mame.c:190)
==8410==    by 0x19C94F4: cli_frontend::execute(int, char**) (clifront.c:255)
==8410==    by 0x13154D8: main (sdlmain.c:371)
==8410==  Address 0x1088e00c is 4 bytes before a block of size 40 alloc'd
==8410==    at 0x63303F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==8410==    by 0x1F162D9: osd_malloc_array (sdlos_unix.c:101)
==8410==    by 0x1A1AAAA: malloc_array_file_line(unsigned long, char const*, int) (emualloc.c:171)
==8410==    by 0x1A1E6D1: allocate_color_tables(running_machine&, palette_private*) (emualloc.h:153)
==8410==    by 0x1A1D259: palette_init(running_machine&) (emupal.c:143)
==8410==    by 0x1AA3B48: running_machine::start() (machine.c:246)
==8410==    by 0x1AA48E7: running_machine::run(bool) (machine.c:372)
==8410==    by 0x1AA22B3: mame_execute(emu_options&, osd_interface&) (mame.c:190)
==8410==    by 0x19C94F4: cli_frontend::execute(int, char**) (clifront.c:255)
==8410==    by 0x13154D8: main (sdlmain.c:371) 
Steps To Reproduce
Additional Information
Github Commit
Flags
Regression Version
Affected Sets / Systems paso1600
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
5
User avatar
No.09277
Firewave
Senior Tester
Jan 26, 2013, 11:32
This is another weird one. On Windows it doesn't even reach that line. I set a breakpoint and it is never hit...
User avatar
No.09291
Firewave
Senior Tester
Jan 28, 2013, 02:13
For some reason m_crtc_vreg never changes in Visual Studio since paso1600_state::paso1600_6845_data_w is never called.
User avatar
No.09306
Firewave
Senior Tester
Feb 3, 2013, 17:48
The code in question:

bitmap.pix16(y*19+yi, x*8+xi) = machine().pens[pen];

The problem is, that pen is -1.
User avatar
No.09531
Firewave
Senior Tester
May 22, 2013, 18:45
Confirmed the issue location with ASAN - so confirming this.
User avatar
No.09571
Firewave
Senior Tester
May 29, 2013, 10:42
Fixed in r23249.