Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
01742 Crash/Freeze Critical (emulator) Always Apr 23, 2008, 21:42 Apr 24, 2008, 05:33
Tester MKChamp View Status Public Platform MAME (Self-compiled)
Assigned To aaron Resolution Fixed OS
Status [?] Resolved Driver
Version 0.124u3 Fixed in Version 0.124u4 Build Normal
Fixed in Git Commit Github Pull Request #
Summary 01742: punchout, armwrest + many vsnes.c and playch10.c games: Refreshspeed causes fatal exception in punchout
Description When refreshspeed = 1 following error produces when running punchout:

-----------------------------------------------------
Exception at EIP=009966E3: ACCESS VIOLATION
While attempting to read memory at 0000003C
-----------------------------------------------------
EAX=00000000 EBX=BA41AAAA ECX=03B92160 EDX=009952B0
ESI=003B363E EDI=03B920D8 EBP=0022FCE8 ESP=0022FCA0
Steps To Reproduce Following core performance options:
autoframeskip 0
frameskip 0
seconds_to_run 0
throttle 1
sleep 0
speed 1.0
refreshspeed 1

Change refreshspeed to 0 and error goes away
Additional Information Backtrace (from 0.124u3):
Program received signal SIGSEGV, Segmentation fault.
0x009cb133 in update_refresh_speed (machine=0x67fe008) at src/emu/video.c:1996
1996                                    min_frame_period = MIN(min_frame_period,
 state->frame_period);
(gdb) bt full
#0  0x009cb133 in update_refresh_speed (machine=0x67fe008)
    at src/emu/video.c:1996
        state = (screen_state *) 0x0
        min_frame_period = 16666666666666666
        original_speed = 100
        screen = (const device_config *) 0x6800978
        target_speed = 0
        minrefresh = 60
#1  0x009cb133 in update_refresh_speed (machine=0x68008e0)
    at src/emu/video.c:1996
        state = (screen_state *) 0x100
        min_frame_period = 1099620682000
        original_speed = 256
        screen = (const device_config *) 0x2
        target_speed = 34235476
        minrefresh = 3.28623772e-034
#2  0x009cb133 in update_refresh_speed (machine=0x68008e0)
    at src/emu/video.c:1996
        state = (screen_state *) 0x6800910
        min_frame_period = 46362514105236944
        original_speed = 109054176
        screen = (const device_config *) 0x7da6870
        target_speed = 109322344
        minrefresh = 0
#3  0x009cb133 in update_refresh_speed (machine=0x67fe008)
    at src/emu/video.c:1996
        state = (screen_state *) 0x6723e18
        min_frame_period = 45646925306790080
        original_speed = 117004321
        screen = (const device_config *) 0x1f
        target_speed = 35
        minrefresh = 0
#4  0x009cb133 in update_refresh_speed (machine=0x67fe008)
    at src/emu/video.c:1996
        state = (screen_state *) 0x67fe0f0
        min_frame_period = 6631429505025
        original_speed = 34233109
        screen = (const device_config *) 0x0
        target_speed = 664
        minrefresh = 1.01647904e-037
#5  0x009cb133 in update_refresh_speed (machine=0x6723ab8)
    at src/emu/video.c:1996
        state = (screen_state *) 0xa
        min_frame_period = 468340207775637512
        original_speed = 108149432
        screen = (const device_config *) 0x67ecb08
        target_speed = 108144153
        minrefresh = 6.04646162e-038
#6  0x009cb133 in update_refresh_speed (machine=0x4) at src/emu/video.c:1996
        state = (screen_state *) 0x1a499b0
        min_frame_period = 464498273523269384
        original_speed = 108144192
        screen = (const device_config *) 0x67239a0
        target_speed = 108150296
        minrefresh = 4.55426575e-035
#7  0x009cb133 in update_refresh_speed (machine=0x4) at src/emu/video.c:1996
        state = (screen_state *) 0x22fef0
        min_frame_period = 8647793436508425840
        original_speed = 48
        screen = (const device_config *) 0x22fef0
        target_speed = 2013271247
        minrefresh = 4.5542623e-035
#8  0x009cb133 in update_refresh_speed (machine=0x7ffdf000)
    at src/emu/video.c:1996
        state = (screen_state *) 0x6722500
        min_frame_period = -4292673664
        original_speed = 4
        screen = (const device_config *) 0x7801e4fb
        target_speed = 108143976
        minrefresh = 4.5542623e-035
#9  0x009cb133 in update_refresh_speed (machine=0x1) at src/emu/video.c:1996
        state = (screen_state *) 0x67229d8
        min_frame_period = 2293668
        original_speed = 2293672
        screen = (const device_config *) 0x0
        target_speed = 0
        minrefresh = 1.12544401e-037
#10 0x009cb133 in update_refresh_speed (machine=0x0) at src/emu/video.c:1996
        state = (screen_state *) 0x401298
        min_frame_period = 464479719262257152
        original_speed = 0
        screen = (const device_config *) 0x7ffdf000
        target_speed = 2293696
        minrefresh = 0
#11 0x009cb133 in update_refresh_speed (machine=0x401280)
    at src/emu/video.c:1996
        state = (screen_state *) 0x7c5c2160
        min_frame_period = 2147348480
        original_speed = 2293704
        screen = (const device_config *) 0x0
        target_speed = 4294967295
        minrefresh = 0
#12 0x009cb133 in update_refresh_speed (machine=Cannot access memory at address
0x8
) at src/emu/video.c:1996
        state = (screen_state *) Cannot access memory at address 0xfffffff4
Github Commit
Flags
Regression Version 0.124u2
Affected Sets / Systems punchout, armwrest + many vsnes.c and playch10.c games
Attached Files
 
Relationships
has duplicate 02488Resolvedaaron All sets with using 2+ monitors: Crash to desktop on second play. 
has duplicate 02439Resolvedaaron  tx1: TX1 quits out on second launch. 
Notes
1
User avatar
No.00777
Tafoid
Administrator
Apr 23, 2008, 21:53
Confirmed and added regression. Backtrace also added.