http://bugs.winehq.org/show_bug.cgi?id=21060
Summary: MCI open+play .avi hangs Product: Wine Version: 1.1.34 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winmm&mci AssignedTo: wine-bugs@winehq.org ReportedBy: hoehle@users.sourceforge.net
Perhaps this simple scenario explains one or another hang in some application.
Please use my mci command shell at bug #20232, comment #10 to enter the following commands: open z:...path\to\wine-src\dlls\shell32\searching.avi alias v play v Wine hangs.
Alternatively: open z:...path\to\wine-src\dlls\shell32\searching.avi alias v play v wait does not hang. Use close v Ctrl-D to exit the shell.
open z:...path\to\wine-src\dlls\shell32\searching.avi alias v window v show play v does not hang either.
Supposedly you can use any .avi file of your choice. If you prefer, you can write a 20 liner C program to send the commands instead of using my shell.
Perhaps there's some race condition? The play command must open a window if none is present (native does so). "play v wait" shows that Wine can do it too, yet the "play v" without previously opened window hangs.
BTW, the window that Wine opens for the video is larger than the one native opens. It looks like there's room reserved to the right for a scrollbar. This could explain some layout discrepancies in some applications. But that's another issue.
http://bugs.winehq.org/show_bug.cgi?id=21060
Jörg Höhle hoehle@users.sourceforge.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |source
http://bugs.winehq.org/show_bug.cgi?id=21060
--- Comment #1 from Jörg Höhle hoehle@users.sourceforge.net 2010-04-27 07:54:14 ---
Perhaps this simple scenario explains one or another hang in some application.
Bug #14785 looks like one:
If I comment out the call to MCIAVI_mciPlay_async(), then the movie plays
Likewise "play v" hangs while "play v wait" works.
http://bugs.winehq.org/show_bug.cgi?id=21060
--- Comment #2 from Jörg Höhle hoehle@users.sourceforge.net 2010-04-28 09:20:43 --- Created an attachment (id=27598) --> (http://bugs.winehq.org/attachment.cgi?id=27598) bt all backtrace (from wine-1.1.31 due to bt all regression)
At first I thought there are 2 groups of mciavi bugs: - bug #12908, bug #15669, bug #18363 involving ShowWindow; - bug #14785, bug #21060 involving EnterCriticalSection. But perhaps there's only a single issue.
Kirill K. Smirnov's ShowWindow patch in bug #15669, comment #3 fixes my test case in the present issue. It seems anterior to the same patch by Peter Dons Tychsen in bug #18363, comment #3. http://www.winehq.org/pipermail/wine-patches/2009-March/070748.html Why was it not committed? I found no comment in the wine-devel archives.
It seems like ShowWindow() is a kind of synchronous call which waits via WaitForMultipleObjectsEx() to return from send_inter_thread_message(). When ShowWindow is invoked after SetEvent(ack_event) the main thread is allowed to resume. Perhaps this causes some event loop to be entered somewhere, such that ShowWindow returns?
What is ShowWindow waiting for?
The main thread (which sent the MCI command) is blocked waiting for the ack_event (see attached log).
I don't understand why "play a wait" works. What's different (except nothing waits for ack_event)?
http://bugs.winehq.org/show_bug.cgi?id=21060
Kirill K. Smirnov lich@math.spbu.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |lich@math.spbu.ru
--- Comment #3 from Kirill K. Smirnov lich@math.spbu.ru 2010-04-28 11:04:18 --- I wrote my patch along with "mciavi32: Fix typo" http://www.winehq.org/pipermail/wine-patches/2009-March/070747.html just as quick fixes to be able to make one application run.
For "mciavi32: Fix typo" patch I was sure it is correct, and it has been applied.
Why was it not committed?
"mciavi: fix deadlock" - may miss something important (since I am not familiar with mciavi logic in details), this may explain why experts rejected it.
http://bugs.winehq.org/show_bug.cgi?id=21060
--- Comment #4 from Austin English austinenglish@gmail.com 2012-03-19 14:52:25 CDT --- This is your friendly reminder that there has been no bug activity for 650 days. Is this still an issue in current (1.4 or newer) wine?
http://bugs.winehq.org/show_bug.cgi?id=21060
--- Comment #5 from Jörg Höhle hoehle@users.sourceforge.net 2012-03-21 10:20:58 CDT --- Still present in 1.4.0. I'd love to see somebody who knows about MS-Windows messaging look at this ShowWindow dead-lock. Half the bugs listed in comment #2 are still open, one was marked abandoned. They perhaps all depend on a single cause, identified by Kirill and Peter.
From the user perspective, the MCI commands
open z:...path\to\wine-src\dlls\shell32\searching.avi alias v play v should auto-open a window and play the anim therein.
http://bugs.winehq.org/show_bug.cgi?id=21060
--- Comment #6 from Jörg Höhle hoehle@users.sourceforge.net 2012-11-07 04:26:03 CST --- Created attachment 42426 --> http://bugs.winehq.org/attachment.cgi?id=42426 Fix mciavi player deadlock when starting to play.
Re-reading bug #14785, comment #2, I was enlightened. This is not an issue about windows messaging at all rather that a plain and simple dead-lock resulting from abuse of critical sections.
Please try out whether my patch helps with the other mciavi hangs that you know from comment #2.
http://bugs.winehq.org/show_bug.cgi?id=21060
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch CC| |00cpxxx@gmail.com
--- Comment #7 from Bruno Jesus 00cpxxx@gmail.com 2012-11-07 19:15:47 CST --- I can confirm that the patch from comment 6 fixes the issue from comment 0.
http://bugs.winehq.org/show_bug.cgi?id=21060
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1
--- Comment #8 from Bruno Jesus 00cpxxx@gmail.com 2012-11-07 20:36:05 CST --- Bug 15669 is also fixed by the patch in comment 6.
http://bugs.winehq.org/show_bug.cgi?id=21060
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |42bdb48c675be7bc1b38a76554d | |2eb78fd64026c Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #9 from Bruno Jesus 00cpxxx@gmail.com 2012-11-13 19:57:40 CST --- Patch commited.
http://source.winehq.org/git/wine.git/commitdiff/42bdb48c675be7bc1b38a76554d...
http://bugs.winehq.org/show_bug.cgi?id=21060
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #10 from Alexandre Julliard julliard@winehq.org 2012-11-23 14:29:53 CST --- Closing bugs fixed in 1 5.18.
http://bugs.winehq.org/show_bug.cgi?id=21060
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |arethusa26@gmail.com
--- Comment #11 from Bruno Jesus 00cpxxx@gmail.com 2013-01-23 23:37:51 CST --- *** Bug 15669 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=21060
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |thestig@google.com
--- Comment #12 from Bruno Jesus 00cpxxx@gmail.com 2013-02-19 18:22:22 CST --- *** Bug 14785 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=21060
--- Comment #13 from Jay jaynobyl@gmx.de 2013-12-06 02:12:49 CST --- Created attachment 46753 --> http://bugs.winehq.org/attachment.cgi?id=46753 log of video crash (wine 1.7.7)
In 1.7.7 I can't get the video working at all. Happens with and without using a virtual desktop. Attaching log and error.
http://bugs.winehq.org/show_bug.cgi?id=21060
Jay jaynobyl@gmx.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jaynobyl@gmx.de
--- Comment #14 from Jay jaynobyl@gmx.de 2013-12-06 02:14:14 CST --- Sorry, last comment was posted in wrong bug.
https://bugs.winehq.org/show_bug.cgi?id=21060
Jay jaynobyl@gmx.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|jaynobyl@gmx.de |