[Bug 23866] New: Microsoft Wine Guide crashes, unimplemented function msvideo.dll16._MCIWNDCREATE
http://bugs.winehq.org/show_bug.cgi?id=23866 Summary: Microsoft Wine Guide crashes, unimplemented function msvideo.dll16._MCIWNDCREATE Product: Wine Version: 1.2 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: minor Priority: P2 Component: -unknown AssignedTo: wine-bugs(a)winehq.org ReportedBy: markk(a)clara.co.uk Created an attachment (id=29963) --> (http://bugs.winehq.org/attachment.cgi?id=29963) +relay,+int21,+mmio log in Windows XP mode This bug applies to Microsoft Wine Guide 1.0a, a multimedia CD-ROM from 1995. On attempting to play a video clip, the program crashes with console output like this: wine: Call from 0x7b836872 to unimplemented function msvideo.dll16._MCIWNDCREATE, aborting wine: Unimplemented function msvideo.dll16._MCIWNDCREATE called at address 0x7b836872 (thread 001d), starting debugger... Unhandled exception: unimplemented function msvideo.dll16._MCIWNDCREATE called in 32-bit code (0x7b836872). However, there is a (probably related) issue with the program trying unsuccessfully to copy some DLLs to the Windows system directory on startup. Start wine.exe in the root directory of the CD-ROM. A Microsoft Home splash window opens, then there are several error dialog boxes with text like this: "The file C:\windows\SY32\iccvid.dll open, which Wine Guide needs to modify. Please close all other open programs or restart Windows." The dialog box has Abort/Retry/Ignore buttons. Pressing Ignore each time allows the program to continue. With Wine set to Windows XP mode (the program works fine under Windows XP), the dialog appears for each of these DLLs: iccvid.dll, ir32_32.dll, msadp32.acm, msrle32.dll, msvideo.dll. The program's main window then opens. If you click the film strip button near the centre of the window (which should cause a video to play), the program crashes with a Wine error dialog saying winevdm.exe needs to close, and console output as above. Two attached logs: Wine in Windows XP mode, WINEDEBUG=+relay,+int21,+mmio. Start wine.exe, click Ignore for each dialog box, then click film strip button in main window. Wine in Windows 3.1 mode, WINEDEBUG=+relay,+int21. Start wine.exe, dismiss all dialogs until program exits with out of memory dialog. I don't know why the program tries to look in C:\windows\SY32\, but if you set the Wine windows version to Windows 3.1, it instead looks in C:\windows\SY\ (and tries to copy more/different files there). -- 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.
http://bugs.winehq.org/show_bug.cgi?id=23866 --- Comment #1 from markk(a)clara.co.uk 2010-08-01 12:08:54 --- Created an attachment (id=29964) --> (http://bugs.winehq.org/attachment.cgi?id=29964) +relay,+int21 log in Windows 3.1 mode -- 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.
http://bugs.winehq.org/show_bug.cgi?id=23866 --- Comment #2 from Stefan Leichter <Stefan.Leichter(a)camLine.com> 2010-08-12 15:15:20 --- Created an attachment (id=30117) --> (http://bugs.winehq.org/attachment.cgi?id=30117) forward MCIWndCreate to MCIWndCreateA i'm not sure if the attached patch is correct. Please give it a try -- 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.
http://bugs.winehq.org/show_bug.cgi?id=23866 David Love <dlove(a)nighton.net> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dlove(a)nighton.net --- Comment #3 from David Love <dlove(a)nighton.net> 2010-08-13 11:24:14 --- (In reply to comment #2)
Created an attachment (id=30117) --> (http://bugs.winehq.org/attachment.cgi?id=30117) [details] forward MCIWndCreate to MCIWndCreateA
i'm not sure if the attached patch is correct. Please give it a try
I'm currently building wine from git on Lucid with the patch applied. I'm actually trying to get this bug: http://bugs.winehq.org/show_bug.cgi?id=2812 resolved. I'll test with The Journeyman Project Turbo! and tell you how it goes. P.S. - I actually took off work early when I saw your patch just to try this. (: -- 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.
http://bugs.winehq.org/show_bug.cgi?id=23866 --- Comment #4 from David Love <dlove(a)nighton.net> 2010-08-13 12:15:58 --- Created an attachment (id=30127) --> (http://bugs.winehq.org/attachment.cgi?id=30127) Backtrace with patch applied. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=23866 --- Comment #5 from Dmitry Timoshkov <dmitry(a)codeweavers.com> 2010-08-13 22:54:08 --- (In reply to comment #2)
Created an attachment (id=30117) --> (http://bugs.winehq.org/attachment.cgi?id=30117) [details] forward MCIWndCreate to MCIWndCreateA
i'm not sure if the attached patch is correct. Please give it a try
+HWND16 MCIWndCreate16(HWND16 hwnd, HINSTANCE16 hinst16, DWORD style, LPSTR file) +{ + HINSTANCE hinst32; + if (hinst16 == GetModuleHandle16("msvideo.dll")) + hinst32 = GetModuleHandleA("msvfw32.dll"); + else + hinst32 = HINSTANCE_32(GetExePtr( hinst16 )); + return HWND_16(MCIWndCreateA(HWND_32(hwnd), hinst32, style, file)); +} ... +250 cdecl _MCIWndCreate(word word long str) MCIWndCreate16 Why do you think that 16-bit MCIWndCreate is supposed to be cdecl? If that's really the case you need to add CDECL to the API implementation. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=23866 --- Comment #6 from Dmitry Timoshkov <dmitry(a)codeweavers.com> 2010-08-16 00:15:50 --- (In reply to comment #5)
+250 cdecl _MCIWndCreate(word word long str) MCIWndCreate16
Why do you think that 16-bit MCIWndCreate is supposed to be cdecl? If that's really the case you need to add CDECL to the API implementation.
I've found an old copy of 16-bit VFW SDK, and MCIWndCreate is really cdecl there. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=23866 Stefan Leichter <Stefan.Leichter(a)camLine.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #30117|0 |1 is obsolete| | --- Comment #7 from Stefan Leichter <Stefan.Leichter(a)camLine.com> 2010-08-16 15:27:30 --- Created an attachment (id=30188) --> (http://bugs.winehq.org/attachment.cgi?id=30188) improved patch -- 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.
http://bugs.winehq.org/show_bug.cgi?id=23866 --- Comment #8 from Dmitry Timoshkov <dmitry(a)codeweavers.com> 2010-08-17 01:09:19 --- (In reply to comment #7)
Created an attachment (id=30188) --> (http://bugs.winehq.org/attachment.cgi?id=30188) [details] improved patch
+HWND16 VFWAPIV MCIWndCreate16(HWND16 hwnd, HINSTANCE16 hinst16, DWORD style, LPSTR file)
This should be CDECL not VFWAPIV. First SDK defines this API as cdecl, and VFWAPIV assumes variable number of arguments which is not the case here. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=23866 Stefan Leichter <Stefan.Leichter(a)camLine.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #30188|0 |1 is obsolete| | --- Comment #9 from Stefan Leichter <Stefan.Leichter(a)camLine.com> 2010-08-24 15:26:40 --- (From update of attachment 30188) an implementation is commited (http://source.winehq.org/git/wine.git/?a=commit;h=6894af6fc0232d9ed7b62fa5e8...) -- 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.
http://bugs.winehq.org/show_bug.cgi?id=23866 --- Comment #10 from David Love <dlove(a)nighton.net> 2010-08-24 15:42:11 --- (In reply to comment #9)
(From update of attachment 30188 [details]) an implementation is commited (http://source.winehq.org/git/wine.git/?a=commit;h=6894af6fc0232d9ed7b62fa5e8...)
It still has the problem that it's forwarding 16-bit messages to a function expecting 32-bit messages... -- 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.
http://bugs.winehq.org/show_bug.cgi?id=23866 --- Comment #11 from Austin English <austinenglish(a)gmail.com> 2010-09-22 20:03:44 CDT --- (In reply to comment #10)
(In reply to comment #9)
(From update of attachment 30188 [details] [details]) an implementation is commited (http://source.winehq.org/git/wine.git/?a=commit;h=6894af6fc0232d9ed7b62fa5e8...)
It still has the problem that it's forwarding 16-bit messages to a function expecting 32-bit messages...
Does the application run? -- 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.
http://bugs.winehq.org/show_bug.cgi?id=23866 --- Comment #12 from David Love <dlove(a)nighton.net> 2010-10-21 16:50:17 CDT --- (In reply to comment #11)
(In reply to comment #10)
(In reply to comment #9)
(From update of attachment 30188 [details] [details] [details]) an implementation is commited (http://source.winehq.org/git/wine.git/?a=commit;h=6894af6fc0232d9ed7b62fa5e8...)
It still has the problem that it's forwarding 16-bit messages to a function expecting 32-bit messages...
Does the application run?
Nope. Still crashes hard. I've spent some of my free time trying to handle message translation, but I have little to show for it. I can get the application launching and then complaining about the name of the avi file it's trying to load. I'm guessing I'm not properly converting a string somewhere. The way I've been trying to do this is very much wrong (lots of duplicated code), but I'm just trying to get a handle on the problem. The wine codebase is intimidating and scary to those of us who are uninitiated. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=23866 --- Comment #13 from Mark K <markk(a)clara.co.uk> 2012-01-13 15:05:38 CST --- Created attachment 38340 --> http://bugs.winehq.org/attachment.cgi?id=38340 +mci log with Wine 1.3.36, start program and click film strip icon Testing Wine Guide with Wine 1.3.36, the program still crashes on attempting to play a video clip, but the error is different. Looking at the +mci log (attached), the program opens INTRO.CP which is an AVI file. Wine seems to be relying on the filename extension to determine the file type. Run WINE.EXE. When the main window appears, click the film strip icon near the centre of the window. Get a message box with MCI Error in the title bar and this text: Cannot determine the device type from the given filename extension. Clicking OK then causes a crash, the Program Error window mentions winevdm.exe. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=23866 Mark K <markk(a)clara.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |markk(a)clara.co.uk --- Comment #14 from Mark K <markk(a)clara.co.uk> 2012-01-17 16:07:55 CST --- After adding a registry key for the .cp extension (in HKLM\Windows NT\CurrentVersion\MCI Extensions) as avivideo, I was able to play one of the video clips. Windows doesn't need that workaround; it doesn't seem to pay attention to the filename extension. Navigating elsewhere after playing a video clip results in a crash; I'll open a separate bug for that. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=23866 Damjan Jovanovic <damjan.jov(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |win16 CC| |damjan.jov(a)gmail.com -- 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=23866 Austin English <austinenglish(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |6894af6fc0232d9ed7b62fa5e83 | |b4dc3e453076b Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #15 from Austin English <austinenglish(a)gmail.com> --- (In reply to Mark K from comment #14)
After adding a registry key for the .cp extension (in HKLM\Windows NT\CurrentVersion\MCI Extensions) as avivideo, I was able to play one of the video clips. Windows doesn't need that workaround; it doesn't seem to pay attention to the filename extension.
Navigating elsewhere after playing a video clip results in a crash; I'll open a separate bug for that.
Please move the current issue to a new bug rather than recyling it. The original bug was fixed. -- 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=23866 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #16 from Alexandre Julliard <julliard(a)winehq.org> --- Closing bugs fixed in 1.7.37. -- 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