- --
Viewing Issue Advanced Details
ID | Category [?] | Severity [?] | Reproducibility | Date Submitted | Last Update |
---|---|---|---|---|---|
02043 | Crash/Freeze | Critical (emulator) | Always | Jul 25, 2008, 05:40 | Jul 31, 2008, 08:57 |
Tester | FrizzleFried | View Status | Public | Platform | MAME (Official Binary) |
Assigned To | Resolution | Fixed | OS | Windows XP/Vista 32-bit | |
Status [?] | Resolved | Driver | |||
Version | 0.126u2 | Fixed in Version | 0.126u3 | Build | Athlon |
Fixed in Git Commit | Github Pull Request # | ||||
Summary | 02043: All games in cps2.c: All Parent Sets for CPS2 Games Abort | ||||
Description |
Every CPS2 game I've tried loads with black screen for a couple seconds then aborts to the front end/command prompt. Clones don't appear to be affected. Games I've tried: Xmen vs SF Xmen: Children of the Atom Both Dungeons & Dragons games 1944 Street Fighter Alpha (all of them) Marvel vs Capcom |
||||
Steps To Reproduce | Simply attempt to run a parent CPS2 ROM. | ||||
Additional Information |
Here are a few backtraces - they all seem to indicate sound problem causing the crash (as Mamesick mentions). I was able to crash a clone of SFA (sfar1) as well, so it might not be specifically a parent issue.- 1944 |
||||
Github Commit | |||||
Flags | |||||
Regression Version | 0.126u1 | ||||
Affected Sets / Systems | All games in cps2.c | ||||
Attached Files
|
fix.diff (1,282 bytes) Jul 25, 2008, 06:27 [Show Content] [Hide Content]diff -Nru sourceold/src/emu/sound/qsound.c temp/src/emu/sound/qsound.c --- sourceold/src/emu/sound/qsound.c 2008-07-24 15:43:32.000000000 +0200 +++ temp/src/emu/sound/qsound.c 2008-07-25 08:19:44.000000000 +0200 @@ -158,17 +158,20 @@ static void qsound_stop (void *_chip) { - struct qsound_info *chip = _chip; - if (chip->fpRawDataR) + if (LOG_WAVE) { - fclose(chip->fpRawDataR); - } - chip->fpRawDataR = NULL; - if (chip->fpRawDataL) - { - fclose(chip->fpRawDataL); + struct qsound_info *chip = _chip; + if (chip->fpRawDataR) + { + fclose(chip->fpRawDataR); + } + chip->fpRawDataR = NULL; + if (chip->fpRawDataL) + { + fclose(chip->fpRawDataL); + } + chip->fpRawDataL = NULL; } - chip->fpRawDataL = NULL; } WRITE8_HANDLER( qsound_data_h_w ) @@ -360,11 +363,13 @@ } pC++; } - - if (chip->fpRawDataL) - fwrite(datap[0], length*sizeof(QSOUND_SAMPLE), 1, chip->fpRawDataL); - if (chip->fpRawDataR) - fwrite(datap[1], length*sizeof(QSOUND_SAMPLE), 1, chip->fpRawDataR); + if (LOG_WAVE) + { + if (chip->fpRawDataL) + fwrite(datap[0], length*sizeof(QSOUND_SAMPLE), 1, chip->fpRawDataL); + if (chip->fpRawDataR) + fwrite(datap[1], length*sizeof(QSOUND_SAMPLE), 1, chip->fpRawDataR); + } } | ||||
qsound.diff (350 bytes) Jul 27, 2008, 20:49 [Show Content] [Hide Content]Index: src/emu/sound/qsound.c =================================================================== --- src/emu/sound/qsound.c (revision 2984) +++ src/emu/sound/qsound.c (working copy) @@ -100,7 +100,7 @@ int i; chip = auto_malloc(sizeof(*chip)); - memset(chip, 0, sizeof(chip)); + memset(chip, 0, sizeof(*chip)); chip->intf = config; | |||||
Relationships
There are no relationship linked to this issue. |
Notes
14
No.01783
Mamesick Senior Tester
Jul 25, 2008, 06:28
|
Confirmed. Something has been broken in qsound.c I attached a temporary fix, maybe who broke it has a better one. |
---|---|
No.01787
Fujix Administrator
Jul 25, 2008, 07:50
|
My 0.126u2 doesn't have the problem. hmm. |
No.01789
john_iv Senior Tester
Jul 25, 2008, 08:22
|
Non-repro also in MameUI64 .126.2. |
No.01790
etabeta Developer
Jul 25, 2008, 09:00
edited on: Jul 25, 2008, 09:03 |
not confirmed on my SDLMAME 126u2 (with u1 OSD layer), but it seems Tafoid was able to reproduce it http://www.mameworld.info/ubbthreads/showthreaded.php?Cat=&Number=158687 |
No.01792
Mamesick Senior Tester
Jul 25, 2008, 13:44
|
Yes, it looks like it's a random thing... I tested SFA and sometimes it crashes after the game info screen, sometimes it boots perfectly. |
No.01794
FrizzleFried Tester
Jul 25, 2008, 14:28
|
To be 100% clear, NONE of the titles I have tried the parent roms of have made it to the title screen. They all start to load (black screen) then they abort back to either the front end or the command line. When I try their clones, they work fine. |
No.01795
Tafoid Administrator
Jul 25, 2008, 14:36
edited on: Jul 25, 2008, 15:00 |
I'm building a symbols build in hopes of getting some backtraces for these crashes. Mamesick listed a DIFF that you could try, FrizzleFried - but that might not be the official fix. EDIT: Set to acknowledged. This is a straight/normal build (not Athlon optimized as I've used before) - but I'm still on an Athlon. I noted OP has Athlon as well - is there a possible relation? Does Mamesick have an Athlon? I'd assume the majority of testers have pentium.... |
No.01796
Mamesick Senior Tester
Jul 25, 2008, 15:23
|
I'm on a P4 3.00 GHz and I experienced the crashes. |
No.01804
mahlemiut Developer
Jul 25, 2008, 22:19
|
ddsom and sfar1 crash for me, but the others mentioned work fine. CPU is an AthlonXP 3000+. |
No.01824
Tafoid Administrator
Jul 27, 2008, 16:42
|
There is enough evidence here to label this a confirmed bug. As to why or why not people are experiencing it and some are not - It will be sorted out soon enough :) |
No.01827
Firewave Senior Tester
Jul 27, 2008, 19:40
edited on: Jul 27, 2008, 20:49 |
This is an issue with uninitialized memory (my first guess - but I found the memset...). It's an not so obvious issue. Look at this in qsound_start(): memset(chip, 0, sizeof(chip)); It does initialized the whole structure with the size of a pointer. It should be the same argument as the auto_malloc() call, which is actually the structure itself -> "sizeof(*chip)". I attached another diff to this report. |
No.01836
aaron Developer
Jul 29, 2008, 01:39
|
Good catch. I checked this in. Can someone confirm this is the real fix? |
No.01837
FrizzleFried Tester
Jul 29, 2008, 05:50
edited on: Jul 29, 2008, 05:50 |
I can confirm that gsound.diff above fixes the issue I reported. I tested 1944 and both Dungeons & Dragons games with success. Thank you! |
No.01856
aaron Developer
Jul 31, 2008, 08:57
|
Fixed by Firewave |