[Bug 29646] New: Microsoft Wine Guide crashes after playing one video clip
http://bugs.winehq.org/show_bug.cgi?id=29646 Bug #: 29646 Summary: Microsoft Wine Guide crashes after playing one video clip Product: Wine Version: 1.3.37 Platform: x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: msvfw32 AssignedTo: wine-bugs(a)winehq.org ReportedBy: markk(a)clara.co.uk Classification: Unclassified Created attachment 38424 --> http://bugs.winehq.org/attachment.cgi?id=38424 +mci log This bug applies to Microsoft Wine Guide 1.0a, a multimedia CD-ROM from 1995. There are various video clips which should play when the user clicks the appropriate icon. The clips are AVI files with names ending .CP, e.g. ACIDITY.CP, ALLABOUT.CP, INTRO.CP. Wine MCI (or msvfw32?) refuses to play them, since the file extension is not .avi. On Windows the videos play as they should. After adding a registry key to associate the .cp extension with AVI files (in HKLM\Software\Microsoft\Windows NT\CurrentVersion\MCI Extensions), it is possible to play one video clip. However, after doing that, clicking on any link causes the program to crash. Navigating between links/pages works fine before playing a video clip. The attached +mci log was created (after adding the registry key mentioned above) like this: - Start Microsoft Wine Guide - Click on icon to play introductory video clip - Click again on the video to stop it playing - Click "Wine tasting with Oz" An extract from the log: trace:mci:MCIWndProc MCIWNDM_SENDSTRINGA (invalid) wine: Unhandled page fault on read access to 0x12772fce at address 0xf7559bc6 (thread 0026), starting debugger... ... Backtrace: =>0 0xf7559bc6 in libc.so.6 (+0x7cbc6) (0x007bcfa8) 1 0x7bc687fc RtlInitAnsiString+0x2b(target=0x7bcfc8, source="") [/build/buildd/wine1.3-1.3.37/dlls/ntdll/rtlstr.c:105] in ntdll (0x007bcfa8) 2 0x7bc69ce9 RtlCreateUnicodeStringFromAsciiz+0x28(target=0x7bd50c, src="") [/build/buildd/wine1.3-1.3.37/dlls/ntdll/rtlstr.c:301] in ntdll (0x007bcfd8) 3 0x7e1fddd8 MCIWndProc+0xbd7(hWnd=0x2002a, wMsg=0x465, wParam=0, lParam=0x12772fc6) [/build/buildd/wine1.3-1.3.37/dlls/msvfw32/mciwnd.c:980] in msvfw32 (0x007bd578) 4 0x7ecc776a WINPROC_wrapper+0x19() in user32 (0x007bd5a8) ... -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=29646 --- Comment #1 from Austin English <austinenglish(a)gmail.com> --- This is your friendly reminder that there has been no bug activity for 2 years. Is this still an issue in current (1.7.16 or newer) wine? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=29646 Austin English <austinenglish(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |ABANDONED --- Comment #2 from Austin English <austinenglish(a)gmail.com> --- (In reply to Austin English from comment #1)
This is your friendly reminder that there has been no bug activity for 2 years. Is this still an issue in current (1.7.16 or newer) wine?
Abandoned. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=29646 Austin English <austinenglish(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #3 from Austin English <austinenglish(a)gmail.com> --- Closing. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=29646 Bruno Jesus <00cpxxx(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |win16 Status|CLOSED |REOPENED Resolution|ABANDONED |--- Ever confirmed|0 |1 --- Comment #4 from Bruno Jesus <00cpxxx(a)gmail.com> --- Confirming in wine 1.7.51. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=29646 Bruno Jesus <00cpxxx(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |NEW CC| |00cpxxx(a)gmail.com Summary|Microsoft Wine Guide |Microsoft Wine Guide |crashes after playing one |crashes after playing one |video clip |video clip (app sends | |invalid string address to | |MCIWNDM_SENDSTRINGA) --- Comment #5 from Bruno Jesus <00cpxxx(a)gmail.com> --- The main issue here is that the application sends an invalid address in the SENDSTRING command, when the DLL tries to access it a crash happens. trace:mci:MCIWndProc 0x10074 0465 00000000 12772fc6 trace:mci:MCIWndProc MCIWNDM_SENDSTRINGA (invalid) The backtrace from comment 0 only shifted lines but it's identical to current wine. The invalid address (0x12772fc6) is always the same. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=29646 --- Comment #6 from Dmitry Timoshkov <dmitry(a)baikal.ru> --- (In reply to Bruno Jesus from comment #5)
The main issue here is that the application sends an invalid address in the SENDSTRING command, when the DLL tries to access it a crash happens.
trace:mci:MCIWndProc 0x10074 0465 00000000 12772fc6 trace:mci:MCIWndProc MCIWNDM_SENDSTRINGA (invalid)
The backtrace from comment 0 only shifted lines but it's identical to current wine. The invalid address (0x12772fc6) is always the same.
The address 0x12772fc6 is not invalid, it's a 16-bit segment:offset pointer (0x1277:2fc6), and needs a translation using MapSL(). For instance have a look at the values in the backtrace: ... 13 0x126f:0x0250 (0x1277:0x94dc) 14 0x101f:0x0468 in krnl386.exe16 (+0x100af) (0x1277:0x9516) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=29646 Bruno Jesus <00cpxxx(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Microsoft Wine Guide |Microsoft Wine Guide |crashes after playing one |crashes after playing one |video clip (app sends |video clip (string sent to |invalid string address to |MCIWNDM_SENDSTRINGA needs |MCIWNDM_SENDSTRINGA) |previous translation from | |16-bit) --- Comment #7 from Bruno Jesus <00cpxxx(a)gmail.com> --- Thanks, Dmitry. I understand what you said but I don't know where to make that conversion after viewing the backtrace. All uses of MapSL seem to be in 16-bit DLLs so msvfw32 would need to receive the already mapped address. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=29646 --- Comment #8 from Dmitry Timoshkov <dmitry(a)baikal.ru> --- (In reply to Bruno Jesus from comment #7)
Thanks, Dmitry. I understand what you said but I don't know where to make that conversion after viewing the backtrace. All uses of MapSL seem to be in 16-bit DLLs so msvfw32 would need to receive the already mapped address.
Probably the best fix would be to introduce 16-bit MCIWndProc handler. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=29646 --- Comment #9 from Bruno Jesus <00cpxxx(a)gmail.com> --- (In reply to Dmitry Timoshkov from comment #8)
Probably the best fix would be to introduce 16-bit MCIWndProc handler.
Thanks, I tried studying where to do that but it is beyond my comprehension. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=29646 --- Comment #10 from Dmitry Timoshkov <dmitry(a)baikal.ru> --- Created attachment 52330 --> https://bugs.winehq.org/attachment.cgi?id=52330 patch Something like the attached patch may help. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=29646 Bruno Jesus <00cpxxx(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch --- Comment #11 from Bruno Jesus <00cpxxx(a)gmail.com> --- (In reply to Dmitry Timoshkov from comment #10)
Created attachment 52330 [details] patch
Something like the attached patch may help.
PERFECT, thanks so much Dmitry. The patch does fix the bug. The videos in the application work and there are no more crashes. Now the line looks like: trace:mci:MCIWndProc MCIWNDM_SENDSTRINGA "close wait" -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=29646 Bruno Jesus <00cpxxx(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |70161bc134ce8e7198d41c65ff1 | |47630a397f095 Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #12 from Bruno Jesus <00cpxxx(a)gmail.com> --- Fixed by http://source.winehq.org/git/wine.git/commitdiff/70161bc134ce8e7198d41c65ff1... Thanks again, Dmitry. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=29646 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #13 from Alexandre Julliard <julliard(a)winehq.org> --- Closing bugs fixed in 1.7.52. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (1)
-
wine-bugs@winehq.org