http://bugs.winehq.org/show_bug.cgi?id=26969
Summary: acmStreamConvert fails struct size check on win64 while winecfg audio test Product: Wine Version: 1.3.18 Platform: x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: msacm32 AssignedTo: wine-bugs@winehq.org ReportedBy: NightNord@gmail.com
Created an attachment (id=34396) --> (http://bugs.winehq.org/attachment.cgi?id=34396) +wave,+alsa,+oss,+winmm,+wavemap,+msacm win64 failture log
WINEDEBUG=+wave,+alsa,+oss,+winmm,+wavemap,+msacm log attached.
Following the log, this part of check at dlls/msacm32/stream.c:93 failed on 64bit: pash->cbStruct < sizeof(ACMSTREAMHEADER) Still, I haven't found why it fails.
I'll attach same log from win32-only wineprefix which plays sound just ok. Selected driver: ALSA. Same on OSS or both.
http://bugs.winehq.org/show_bug.cgi?id=26969
--- Comment #1 from Night Nord NightNord@gmail.com 2011-04-30 03:33:36 CDT --- Created an attachment (id=34397) --> (http://bugs.winehq.org/attachment.cgi?id=34397) +wave,+alsa,+oss,+winmm,+wavemap,+msacm win32 success log
http://bugs.winehq.org/show_bug.cgi?id=26969
Night Nord NightNord@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|acmStreamConvert fails |acmStreamConvert fails |struct size check on win64 |struct check on win64 while |while winecfg audio test |winecfg audio test
--- Comment #2 from Night Nord NightNord@gmail.com 2011-04-30 05:46:09 CDT --- Oh, I'm sorry, missed the line. Correct error lines are dlls/msacm32/stream.c:112-115:
111 /* check that pointers have not been modified */ 112 if (padsh->pbPreparedSrc != padsh->pbSrc || 113 padsh->cbPreparedSrcLength < padsh->cbSrcLength || 114 padsh->pbPreparedDst != padsh->pbDst || 115 padsh->cbPreparedDstLength < padsh->cbDstLength) {
Also, I've hacked stream.c adding TRACE to acmStreamPrepareHeader with sizeof outputs for ACMSTREAMHEADER and ACMDRVSTREAMHEADER, just after the comment: 316 /* Note: the ACMSTREAMHEADER and ACMDRVSTREAMHEADER structs are of same 317 * size. some fields are private to msacm internals, and are exposed 318 * in ACMSTREAMHEADER in the dwReservedDriver array 319 */
For win32 it is: trace:msacm:acmStreamPrepareHeader sizeof(PACMDRVSTREAMHEADER) = 84, sizeof(ACMSTREAMHEADER) = 84
For win64 it is: trace:msacm:acmStreamPrepareHeader sizeof(PACMDRVSTREAMHEADER) = 144, sizeof(ACMSTREAMHEADER) = 124
That's on gcc-4.6.0. There is similar reports from Fedora 15 users [1], which is also using gcc-4.6.0 [2]. Probably some align issues?
I'll patch acmStreamConvert and acmStreamPrepareHeader to TRACE out this pointer addresses, so it will be clear if they are changed due to memory overwrite.
[1] http://forums.fedoraforum.org/showthread.php?t=262080 [2] http://fedoraproject.org/wiki/Features/GCC46
http://bugs.winehq.org/show_bug.cgi?id=26969
--- Comment #3 from Night Nord NightNord@gmail.com 2011-04-30 07:37:27 CDT --- Increasing the size of ACMSTREAMHEADER struct resolves the issue.
http://bugs.winehq.org/show_bug.cgi?id=26969
--- Comment #4 from butraxz@gmail.com 2013-10-18 13:43:40 CDT --- This ticket has not been updated for over 900 days. Development recommends to check the status on your bug every release or two and let to be known if the bug is still present. If not, mark it fixed. If you are no longer able to put effort to this ticket, you can abandon it.
Is this still an issue with 1.7.4 or higher ?
https://bugs.winehq.org/show_bug.cgi?id=26969
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |ABANDONED
--- Comment #5 from Austin English austinenglish@gmail.com --- (In reply to butraxz from comment #4)
This ticket has not been updated for over 900 days. Development recommends to check the status on your bug every release or two and let to be known if the bug is still present. If not, mark it fixed. If you are no longer able to put effort to this ticket, you can abandon it.
Is this still an issue with 1.7.4 or higher ?
Abandoned.
https://bugs.winehq.org/show_bug.cgi?id=26969
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #6 from Austin English austinenglish@gmail.com --- Closing.