- --
Viewing Issue Advanced Details
ID | Category [?] | Severity [?] | Reproducibility | Date Submitted | Last Update |
---|---|---|---|---|---|
04849 | Core | Major | Always | May 20, 2012, 15:56 | Nov 5, 2022, 09:56 |
Tester | Firewave | View Status | Public | Platform | MAME (Self-compiled) |
Assigned To | Resolution | Fixed | OS | Windows Vista/7 (64-bit) | |
Status [?] | Resolved | Driver | |||
Version | 0.145u8 | Fixed in Version | Build | 64-bit | |
Fixed in Git Commit | Github Pull Request # | ||||
Summary | 04849: tourtabl, tourtab2: stack corruption in src/mame/video/tia.c | ||||
Description |
The Visual Studio run-time checks reports a stack corruption around the variables "linePF" and "lineBL" in tia_video_device::update_bitmap(). The problem is, that collision_check() will be called with a negative value of "x2", which is the "next_x" parameter passed into the function. The actual values of x2 until the corruption are 34, 49, 88, 103, 160, -29. I think the problem lies in this check at the beginning of the function. if (prev_y >= next_y && prev_x >= next_x) { return; } When the corruption occures we have the following values: prev_y = 0 next_y = 1 prev_x = 103 next_x = -29 It needs to handle the increment of the y. |
||||
Steps To Reproduce | |||||
Additional Information | |||||
Github Commit | |||||
Flags | |||||
Regression Version | |||||
Affected Sets / Systems | tourtabl, tourtab2 | ||||
Attached Files
|
|||||
Relationships
There are no relationship linked to this issue. |
Notes
5
No.08620
hap Developer
May 20, 2012, 17:24
|
I can't find the cause by eye, but I'm sure that a negative x2 is fine, and the check at the start of the function is also ok. |
---|---|
No.08621
Tafoid Administrator
May 20, 2012, 17:42
|
Please discuss this on Dev List. If the game is not crashing or regressing or have a broken presentation, it should not be here as bug. Closing. |
No.08623
Firewave Senior Tester
May 20, 2012, 17:54
|
It is actually crashing:Program received signal SIGSEGV, Segmentation fault. 0x00000000005da3d3 in tia_video_device::update_bitmap (this=0x33cca8, next_x=34, next_y=0) at src/mame/video/tia.c:763 warning: Source file is more recent than executable. 763 p = &helper[current_bitmap]->pix16(y % screen_height, 34 ); (gdb) bt #0 0x00000000005da3d3 in tia_video_device::update_bitmap (this=0x33cca8, next_x=34, next_y=0) at src/mame/video/tia.c:763 #1 0x00000000005de326 in tia_video_device::read (this=0x33cca8, space=..., offset=0, mem_mask=255 'ÿ') at src/mame/video/tia.c:1623 #2 0x00000000039aad02 in delegate_base<unsigned char, address_space&, unsigned int, unsigned char, _noparam, _noparam>::operator() (this=0x34c54060, p1=..., p2=0, p3=255 'ÿ') at src/emu/delegate.h:619 #3 0x00000000039ba10f in handler_entry_read::read8 (this=0x34c53fa8, space=..., offset=0, mask=255 'ÿ') at src/emu/memory.c:403 #4 0x000000000382f44f in address_space_specific<unsigned char, (endianness_t)0, false>::read_native (this=0x34c08818, offset=0) at src/emu/memory.c:1110 #5 0x00000000038305bd in address_space_specific<unsigned char, (endianness_t)0, false>::read_byte (this=0x34c08818, address=0) at src/emu/memory.c:1415 #6 0x0000000001f4697f in m6502_95 (cpustate=0x32c81f08) at src/emu/cpu/m6502/t6502.c:139 #7 0x0000000001f8dc80 in cpu_execute_m6502 (device=0x3396f8) at src/emu/cpu/m6502/m6502.c:244 #8 0x000000000298c655 in legacy_cpu_device::execute_run (this=0x3396f8) at src/emu/devcpu.c:260 #9 0x0000000003858292 in device_execute_interface::run (this=0x339b08) at src/emu/diexec.h:228 #10 0x00000000025df2e6 in device_scheduler::timeslice (this=0x22e770) at src/emu/schedule.c:489 #11 0x00000000026ad214 in running_machine::run (this=0x228d10, firstrun=true) at src/emu/machine.c:389 #12 0x00000000025c7854 in mame_execute (options=..., osd=...) at src/emu/mame.c:189 #13 0x0000000002963c45 in cli_frontend::execute (this=0x22fce0, argc=9, argv=0x314c5460) at src/emu/clifront.c:252 #14 0x0000000001e3adcf in utf8_main (argc=9, argv=0x314c5460) at src/osd/windows/winmain.c:482 #15 0x0000000002c68926 in wmain (argc=9, argv=0x314c2350) at src/osd/windows/main.c:88 #16 0x000000000040142e in __tmainCRTStartup () at ../mingw-w64-crt/crt/crtexe.c:282 #17 0x0000000076fd652d in KERNEL32!BaseThreadInitThunk () from C:\Windows\system32\kernel32.dll #18 0x0000000000000000 in ?? () |
No.09534
Firewave Senior Tester
May 22, 2013, 18:50
|
No errors with ASAN. |
No.20749
Firewave Senior Tester
Nov 5, 2022, 09:56
|
No ASAN error with 0.249 on Linux. |