http://bugs.winehq.org/show_bug.cgi?id=14892
Summary: ever17 crashes in msacm32 Product: Wine Version: CVS/GIT Platform: Other OS/Version: other Status: UNCONFIRMED Severity: normal Priority: P2 Component: msacm32 AssignedTo: wine-bugs@winehq.org ReportedBy: leffeman@gmail.com
Created an attachment (id=15461) --> (http://bugs.winehq.org/attachment.cgi?id=15461) trace+msacm crash log
Ever17 crashes in MSACM_FormatEnumHelper with the attached stack trace on startup.
Using a native msacm32.dll allows the game to run, except that voices do not work in-game.
I don't think this applies to the demo.
http://bugs.winehq.org/show_bug.cgi?id=14892
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bunglehead@gmail.com
--- Comment #1 from Nikolay Sivov bunglehead@gmail.com 2008-08-24 07:40:23 --- It's about NULL pointer dereference in MSACM_FormatEnumHelper here:
---- for (i = 0; i < padid->cFormatTags; i++) { ----
Go further I think crash belongs to this part of acmFormatEnumW:
---- if (had) { HACMDRIVERID hadid;
if (acmDriverID((HACMOBJ)had, &hadid, 0) != MMSYSERR_NOERROR) return MMSYSERR_INVALHANDLE; MSACM_FormatEnumHelper(MSACM_GetDriverID(hadid), had, pafd, &wfxRef, fnCallback, dwInstance, fdwEnum); return MMSYSERR_NOERROR; } ----
I'll take a look just now.
http://bugs.winehq.org/show_bug.cgi?id=14892
--- Comment #2 from Philip Nilsson leffeman@gmail.com 2008-08-24 08:02:49 --- (In reply to comment #1)
It's about NULL pointer dereference in MSACM_FormatEnumHelper here:
That is indeed the problem, but I somehow believe the real problem is that acmDriverOpen is being called with NULL, and perhaps in combination with the unsupported flag (_SUGGEST).
I tried changing around acmDriverOpen and acmFormatEnum a bit, and I think I managed to get the code running a bit further, but I never managed to get something that really worked.
http://bugs.winehq.org/show_bug.cgi?id=14892
--- Comment #3 from Nikolay Sivov bunglehead@gmail.com 2008-08-24 08:06:08 --- You mean acmDriverOpen call in this: ---- for (padid = MSACM_pFirstACMDriverID; padid; padid = padid->pNextACMDriverID){ /* should check for codec only */ if ((padid->fdwSupport & ACMDRIVERDETAILS_SUPPORTF_DISABLED) || acmDriverOpen(&had, (HACMDRIVERID)padid, 0) != MMSYSERR_NOERROR) continue; ret = MSACM_FormatEnumHelper(padid, had, pafd, &wfxRef, fnCallback, dwInstance, fdwEnum); acmDriverClose(had, 0); if (!ret) break; } ---- ?
http://bugs.winehq.org/show_bug.cgi?id=14892
--- Comment #4 from Philip Nilsson leffeman@gmail.com 2008-08-24 12:26:07 --- (In reply to comment #3)
You mean acmDriverOpen call in this:
No, the call above the call to Enum in my log. I just confirmed that the application calls it directly.
Perhaps the application discards the returned error or something, I really don't know anything about msacm32 anyway.
http://bugs.winehq.org/show_bug.cgi?id=14892
tyle7@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |tyle7@hotmail.com
--- Comment #5 from tyle7@hotmail.com 2008-12-07 02:46:35 --- Bug 10005 that is very similar has recently had a patch attached fixing an msacm crash at startup of ever17. I have tried with the patch, and have not experienced any more crash.
http://bugs.winehq.org/show_bug.cgi?id=14892
Jeff Zaroyko jeffz@jeffz.name changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |DUPLICATE
--- Comment #6 from Jeff Zaroyko jeffz@jeffz.name 2008-12-07 03:01:23 --- (In reply to comment #5)
Bug 10005 that is very similar has recently had a patch attached fixing an msacm crash at startup of ever17. I have tried with the patch, and have not experienced any more crash.
Didn't notice this bug report, but anyway it seems like a duplicate of 10005.
from my debugging as far as I can tell, Ever17 always expects to find the msadpcm codec, the failure and resulting passing null to acmDriverOpen just looks like a side effect to me. The real issue was reporting different information than what windows does.
The suggest flag looks like a different issue unrelated to the crash. Anyway, with my patch which I've sent to wine-patches the game runs, but the audio doesn't work correctly. That should be filed as a new bug.
*** This bug has been marked as a duplicate of bug 10005 ***
http://bugs.winehq.org/show_bug.cgi?id=14892
Jeff Zaroyko jeffz@jeffz.name changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #7 from Jeff Zaroyko jeffz@jeffz.name 2008-12-07 03:01:40 --- closing duplicate
http://bugs.winehq.org/show_bug.cgi?id=14892
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|CVS/GIT |unspecified