http://bugs.winehq.org/show_bug.cgi?id=26697
Summary: F-22 Raptor freezes when loading a mission Product: Wine Version: 1.3.17 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: testing.tigerwolf@mail.com
Created an attachment (id=33995) --> (http://bugs.winehq.org/attachment.cgi?id=33995) F22-Raptor backtrace
F-22 Raptor freezes when loading a mission regardless of the Wine configuration (Windows XP / 98).
Installing the game and launching it works correctly. Introducing video plays. After choosing a campaign or free flight, the game freezes with a black screen during loading the mission
http://bugs.winehq.org/show_bug.cgi?id=26697
Andrew Nguyen arethusa26@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #33995|application/octet-stream |text/plain mime type| | Attachment #33995|backtrace_F22 |backtrace_F22.log filename| |
http://bugs.winehq.org/show_bug.cgi?id=26697
--- Comment #1 from Andrew Nguyen arethusa26@gmail.com 2011-04-09 04:45:23 CDT --- Does the freeze occur with the demo version of F-22 Raptor? I didn't have trouble starting the demo mission in wine-1.3.17-173-g6eed4c4.
http://bugs.winehq.org/show_bug.cgi?id=26697
--- Comment #2 from testing.tigerwolf@mail.com 2011-04-09 05:23:30 CDT --- (In reply to comment #1)
Does the freeze occur with the demo version of F-22 Raptor? I didn't have trouble starting the demo mission in wine-1.3.17-173-g6eed4c4.
Not the demo but the retail CD version.
Software configuration : Ubuntu 10.10 amd-64 wine 1.3.17
Hardware configuration : Radeon HD 5x series
http://bugs.winehq.org/show_bug.cgi?id=26697
--- Comment #3 from GyB gyebro69@gmail.com 2011-04-10 04:50:06 CDT --- Created an attachment (id=34025) --> (http://bugs.winehq.org/attachment.cgi?id=34025) backtrace generated by winedbg
Maybe the bug reporter misunderstood the question in comment #1 ? At least I can reproduce the problem in the demo as well as with my retail cd version of the game. I've used the demo for testing: http://www.fileplanet.com/11317/10000/fileinfo/F-22-Raptor-Demo
The game hangs when you select a mission (or campaign) from the menu. The problem occurs whether I choose ALSA or OSS in winecfg (I have no Pulseaudio). I can reproduce the problem in 0.9.33, too (compiled on my current system).
Workaround: disable audio in winecfg (missions load fine with disabled audio).
Fedora 14 32 bits Kernel 2.6.38.2 Nvidia GeForce 250 / driver 260.19.36 Audio device: nVidia Corporation MCP61 High Definition Audio (rev a2)
Tigerwolf, can you reproduce the problem in the demo as well? (see link above)
http://bugs.winehq.org/show_bug.cgi?id=26697
--- Comment #4 from testing.tigerwolf@mail.com 2011-04-10 15:25:26 CDT --- Created an attachment (id=34031) --> (http://bugs.winehq.org/attachment.cgi?id=34031) F22 Demo backtrace
http://bugs.winehq.org/show_bug.cgi?id=26697
--- Comment #5 from testing.tigerwolf@mail.com 2011-04-10 15:26:40 CDT --- (In reply to comment #3) Sorry, I missudertood your comment #1. And thank you for the link to the demo version.
I have reproduced the same problem with it. I obtain the following bactrace (cf. attachement).
Regards
______________________________________________________________________________ Ubuntu 10.10 amd-64 wine 1.3.17 Radeon HD 5x series / driver: fglrx 2.8.831 (Catalyst 11.2) Audio : HDA Intel (ALC 888 Analog)
http://bugs.winehq.org/show_bug.cgi?id=26697
GyB gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gyebro69@gmail.com
--- Comment #6 from GyB gyebro69@gmail.com 2011-08-08 14:27:34 CDT --- The problem is still reproducible on my system with Wine-1.3.26. The same freezing issue can be observed when you exit the game.
Removing the midi files from the game directory also works around the problem. In-game music is stored in midi files and is audible (provided Timidity is running).
http://bugs.winehq.org/show_bug.cgi?id=26697
--- Comment #7 from GyB gyebro69@gmail.com 2011-08-30 09:26:38 CDT --- Created an attachment (id=36160) --> (http://bugs.winehq.org/attachment.cgi?id=36160) +midi,+wavemap,+winmm,+alsa,+driver,+msacm debug log
Here I'm attaching a debug log as requested by Jörg Höhle in a private message. The log was created with wine-1.3.27-60-g49dc157, using Alsa full hw. acceleration. Timidity was running as a separate process and I killed the game after it became unresponsive.
http://bugs.winehq.org/show_bug.cgi?id=26697
Jörg Höhle hoehle@users.sourceforge.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #34031|application/octet-stream |text/plain mime type| |
http://bugs.winehq.org/show_bug.cgi?id=26697
Jörg Höhle hoehle@users.sourceforge.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hoehle@users.sourceforge.ne | |t Component|-unknown |winmm&mci
--- Comment #8 from Jörg Höhle hoehle@users.sourceforge.net 2012-02-06 16:43:50 CST --- Please check whether the patch attached to bug #28388 helps. In addition, you may try this hack: diff --git a/dlls/winmm/winmm.c b/dlls/winmm/winmm.c index 9996f11..4260e09 100644 --- a/dlls/winmm/winmm.c +++ b/dlls/winmm/winmm.c @@ -1259,8 +1261,9 @@ the_end: */ static BOOL MMSYSTEM_MidiStream_PostMessage(WINE_MIDIStream* lpMidiStrm, WORD m { if (PostThreadMessageA(lpMidiStrm->dwThreadID, msg, pmt1, pmt2)) { - MsgWaitForMultipleObjects( 1, &lpMidiStrm->hEvent, FALSE, INFINITE, 0 ); + if (GetCurrentThreadId() != lpMidiStrm->dwThreadID) + MsgWaitForMultipleObjects( 1, &lpMidiStrm->hEvent, FALSE, INFINITE, 0 ); } else { ERR("bad PostThreadMessageA\n"); return FALSE;
Your log shows that the app calls midiOutUnprepareHeader and finally midiStreamClose from within a function callback. Wine hangs because it's waiting for an event that is to be delivered by the player thread on which the callback executes. This remembers bug #3930, comment #35.
If Wine's midiStream messaging as seen in MidiStream_PostMessage were changed not to wait for itself and solely queue the message, this app would have a chance to work, even though it performs calls that MS said not to do.
I have started a patch to use SendMessageW instead, then realized that I'm not yet familiar enough with MS-Windows' messaging.
Please report back ASAP, as I could give you yet another patch to try out that would call midiStreamStop and Restart using PostThreadMessage only, without waiting for SetEvent.
http://bugs.winehq.org/show_bug.cgi?id=26697
--- Comment #9 from Jörg Höhle hoehle@users.sourceforge.net 2012-02-07 00:31:07 CST --- Forget it. midiStreamClose from within a function callback is pulling the rug from under one's own feet if executed by the player itself. Some other thread must execute the callback.
http://bugs.winehq.org/show_bug.cgi?id=26697
--- Comment #10 from Jörg Höhle hoehle@users.sourceforge.net 2012-02-08 04:16:36 CST --- Please try out patches 1+2 winmm: Avoid using SuspendThread, it can hang Wine. winmm: Make midiStream* messages asynchronous to avoid dead-locks. http://www.winehq.org/pipermail/wine-patches/2012-February/111430.html http://www.winehq.org/pipermail/wine-patches/2012-February/111431.html
midiStreamClose from within a function callback now somewhat works. It should stop MIDI and hang no more.
http://bugs.winehq.org/show_bug.cgi?id=26697
--- Comment #11 from GyB gyebro69@gmail.com 2012-02-08 09:37:00 CST --- Thanks Jörg, the 2 patches indeed fix the problem with F-22 Raptor.
http://bugs.winehq.org/show_bug.cgi?id=26697
--- Comment #12 from Jörg Höhle hoehle@users.sourceforge.net 2012-02-09 03:35:27 CST --- Excellent. Can you list other apps that you know hung because of MIDI, worked with sound or MIDI disabled and work now, including music? Bug #3930 is about waveOut* function callbacks. Still other apps can hang because of midiOut* function callbacks.
We still need a solution for them all. That would avoid leaking memory like I opted to do here with midiStream*.
http://bugs.winehq.org/show_bug.cgi?id=26697
Jörg Höhle hoehle@users.sourceforge.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #13 from Jörg Höhle hoehle@users.sourceforge.net 2012-02-17 12:09:11 CST --- Fixed by commit 21e47e905e2d1f1206344a83e303610d4992be05 and predecessor
http://bugs.winehq.org/show_bug.cgi?id=26697
Jörg Höhle hoehle@users.sourceforge.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |21e47e905e2d1f1206344a83e30 | |3610d4992be05
http://bugs.winehq.org/show_bug.cgi?id=26697
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #14 from Alexandre Julliard julliard@winehq.org 2012-02-17 13:51:23 CST --- Closing bugs fixed in 1.4-rc4.