Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
04268 Crash/Freeze Critical (emulator) Sometimes Mar 2, 2011, 19:08 Jan 28, 2012, 20:40
Tester Iaspis View Status Public Platform MAMEUI
Assigned To R. Belmont Resolution Fixed OS
Status [?] Resolved Driver
Version 0.141u3 Fixed in Version 0.144u7 Build Normal
Fixed in Git Commit Github Pull Request #
Summary 04268: All sets using OKI6295 audio: Use of save states eventually crashes MAME upon loading
Description If you save / load many times in any of these games, MAME will eventually crash
Steps To Reproduce
Additional Information Drivers which fully or partially use OKI6295 sound:

1945kiii.c
5clown.c
acommand.c
actfancr.c
aerofgt.c
airbustr.c
aquarium.c
arcadecl.c
artmagic.c
astrocorp.c
atarig1.c
atarigen.c
atarijsa.c
backfire.c
bestleag.c
bigstrkb.c
blackt96.c
blmbycar.c
blockout.c
bmcbowl.c
boogwing.c
cardline.c
cave.c
cbasebal.c
cbuster.c
chinagat.c
cischeat.c
cninja.c
cps1.c
cps2.c
crospang.c
cultures.c
darkhors.c
darkseal.c
dassault.c
dblewing.c
dbz.c
ddenlovr.c
ddragon.c
ddragon3.c
dec0.c
deco156.c
deco32.c
deniam.c
dietgo.c
diverboy.c
djboy.c
dooyong.c
dreamwld.c
drgnmst.c
drtomy.c
dunhuang.c
dynax.c
dynduke.c
egghunt.c
eolith16.c
esd16.c
expro02.c
f-32.c
f1gp.c
feversoc.c
fitfight.c
funkyjet.c
funybubl.c
fuukifg2.c
gaelco.c
gaiden.c
galaxi.c
galpani2.c
galpanic.c
galspnbl.c
gcpinbal.c
glass.c
goal92.c
goldstar.c
good.c
gotcha.c
gstream.c
gumbo.c
gunpey.c
hexion.c
hyprduel.c
igs009.c
igs011.c
igs017.c
igspoker.c
itech8.c
itgambl3.c
itgamble.c
jackpool.c
jalmah.c
kaneko16.c
kickgoal.c
kingdrby.c
klax.c
koftball.c
lastduel.c
lemmings.c
lethalj.c
limenko.c
lordgun.c
m92.c
madmotor.c
magic10.c
majorpkr.c
megasys1.c
metro.c
metro.c
midyunit.c
mil4000.c
mirage.c
missb2.c
mitchell.c
mjkjidai.c
moo.c
mugsmash.c
mwarr.c
news.c
nmg5.c
nmk004.c
nmk16.c
ohmygod.c
oneshot.c
onetwo.c
othldrby.c
paradise.c
pasha2.c
pass.c
pinkiri8.c
pirates.c
pktgaldx.c
playmark.c
pokechmp.c
powerbal.c
powerins.c
psikyo.c
puckpkmn.c
pzletime.c
quizdna.c
quizpani.c
r2dx_v33.c
raiden.c
raiden2.c
rampart.c
rbmk.c
relief.c
renegade.c
rohga.c
rohga.c
sandscrp.c
sderby.c
segac2.c
seibu.c
seibuspi.c
seta.c
sfbonus.c
shadfrce.c
shangha3.c
shuuz.c
silkroad.c
simpl156.c
skimaxx.c
sliver.c
snookr10.c
snowbros.c
spbactn.c
speedspn.c
spoker.c
spool99.c
sshangha.c
sslam.c
stadhero.c
stlforce.c
subsino.c
subsino2.c
supbtime.c
taito_b.c
taito_f2.c
taito_f3.c
targeth.c
tatsumi.c
tecmo16.c
tecmosys.c
tetrisp2.c
thoop2.c
tickee.c
tmaster.c
tmnt.c
toaplan2.c
tumbleb.c
tumblep.c
ultraman.c
unico.c
vamphalf.c
vaportra.c
vball.c
vmetal.c
williams.c
wrally.c
wwfsstar.c
wwfwfest.c
yunsun16.c
zerozone.c
Github Commit
Flags
Regression Version 0.141u2
Affected Sets / Systems All sets using OKI6295 audio
Attached Files
 
Relationships
related to 03969Resolvedaaron All sets and drivers using OKI audio: Eventual crash using Save States 
has duplicate 04379Closed  totcarn: Loading savestate causes MAME to segfault 
Notes
5
User avatar
No.07282
Tafoid
Administrator
Mar 2, 2011, 19:31
assert: src/emu/sound.c:282: update_sampindex - m_output_base_sampindex <= m_output_bufalloc

This might be a larger issue with OKI sound or particular to adding save states to this driver and others recently.
User avatar
No.07283
Tafoid
Administrator
Mar 2, 2011, 19:52
Tracing this right now, but it looks like it happened around the time of the C++-ification of the sound/streams (r11380).
User avatar
No.07349
Haze
Senior Tester
Mar 28, 2011, 19:43
#0 0x766a22a2 in ?? ()
#1 0x0207bab6 in osd_break_into_debugger (message=0x1caccdd4 "assert: src/emu/sound.c:282: update_sampindex - m_output_base_sampindex <= m_output_bufalloc") at src/osd/windows/winmisc.c:177
#2 0x02276369 in emu_fatalerror (this=0x1caccdd0, format=0x3b49220 "assert: %s:%d: %s") at src/emu/emucore.h:301
#3 0x01befc02 in sound_stream::update (this=0x1bd443c8) at src/emu/sound.c:282
#4 0x01f7ae90 in okim6295_device::set_bank_base (this=0x127371e0, base=0) at src/emu/sound/okim6295.c:255
#5 0x01f7ad92 in okim6295_device::device_post_load (this=0x127371e0) at src/emu/sound/okim6295.c:215
#6 0x01bc4a1e in device_t::post_load (this=0x127371e0) at src/emu/devintrf.c:842
#7 0x01bc2537 in device_list::static_post_load (machine=0x28ec90, param=0x28efa4) at src/emu/devintrf.c:221
#8 0x01bcf121 in state_manager::read_file (this=0x28f56c, file=...) at src/emu/state.c:303
#9 0x01b2f862 in running_machine::handle_saveload (this=0x28ec90) at src/emu/machine.c:782
#10 0x01b2e611 in running_machine::run (this=0x28ec90, firstrun=true) at src/emu/machine.c:397
#11 0x01ba0ae8 in mame_execute (options=..., osd=...) at src/emu/mame.c:189
#12 0x01e41ca5 in cli_execute (options=..., osd=..., argc=3, argv=0x126945d0) at src/emu/clifront.c:205
#13 0x013b9af1 in utf8_main (argc=3, argv=0x126945d0) at src/osd/windows/winmain.c:418
#14 0x0207b99a in wmain (argc=3, argv=0x12694480) at src/osd/windows/main.c:82
#15 0x004013d1 in __tmainCRTStartup () at ../mingw-w64-crt/crt/crtexe.c:268
#16 0x74cc33ca in ?? ()

is your trace, but the assert describes the problem anyway.
User avatar
No.07350
Haze
Senior Tester
Mar 28, 2011, 19:45
(gdb) bt full
#0 0x766a22a2 in ?? ()
No symbol table info available.
#1 0x0207bab6 in osd_break_into_debugger (message=0x1caccdd4 "assert: src/emu/sound.c:282: update_sampindex - m_output_base_sampindex <= m_output_bufalloc") at src/osd/windows/winmisc.c:177
No locals.
#2 0x02276369 in emu_fatalerror (this=0x1caccdd0, format=0x3b49220 "assert: %s:%d: %s") at src/emu/emucore.h:301
        ap = 0x28e778 "a'´\003\032\001"
#3 0x01befc02 in sound_stream::update (this=0x1bd443c8) at src/emu/sound.c:282
        time = {seconds = 9, attoseconds = 207767970162071631, static never = {seconds = 1000000000, attoseconds = 0, static never = <same as static member of an already seen type>, static zero = {seconds = 0, attoseconds = 0, static never = <same as static member of an already seen type>, static zero = <same as static member of an already seen type>}}, static zero = <same as static member of an already seen type>}
        update_sampindex = 1584
        last_update = {seconds = 9, attoseconds = 200000000000000000, static never = {seconds = 1000000000, attoseconds = 0, static never = <same as static member of an already seen type>, static zero = {seconds = 0, attoseconds = 0, static never = <same as static member of an already seen type>, static zero = <same as static member of an already seen type>}}, static zero = <same as static member of an already seen type>}
#4 0x01f7ae90 in okim6295_device::set_bank_base (this=0x127371e0, base=0) at src/emu/sound/okim6295.c:255
No locals.
#5 0x01f7ad92 in okim6295_device::device_post_load (this=0x127371e0) at src/emu/sound/okim6295.c:215
No locals.
#6 0x01bc4a1e in device_t::post_load (this=0x127371e0) at src/emu/devintrf.c:842
No locals.
#7 0x01bc2537 in device_list::static_post_load (machine=0x28ec90, param=0x28efa4) at src/emu/devintrf.c:221
        device = 0x127371e0
        list = 0x28efa4
#8 0x01bcf121 in state_manager::read_file (this=0x28f56c, file=...) at src/emu/state.c:303
        func = 0x1ad8f730
        header = "MAMESAVE\002\000darkseal\000\000\000\000\000\000\000\000\000\000ô%>r"
        sig = 1922770420
        flip = false
#9 0x01b2f862 in running_machine::handle_saveload (this=0x28ec90) at src/emu/machine.c:782
        staterr = 7283
        openflags = 1
        opname = 0x3b1af63 "load"
        filerr = FILERR_NONE
User avatar
No.07547
Tafoid
Administrator
Jun 18, 2011, 01:09
I'm including a list of drivers which have OKI6295 in them, so if someone searches they won't need to post a bug and duplicate what is already here.