https://bugs.winehq.org/show_bug.cgi?id=50166
Bug ID: 50166 Summary: Benchmark Sims BMS 4.34 flight sim hangs when air traffic control uses TTS, able to get backtrace Product: Wine Version: 5.21 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: critical Priority: P2 Component: setupapi Assignee: wine-bugs@winehq.org Reporter: freehand@tutanota.com Distribution: ---
Created attachment 68684 --> https://bugs.winehq.org/attachment.cgi?id=68684 backtrace produced at the moment BMS 4.34 hangs, during air traffic TTS
The latest version of the Falcon 4 community patch project is BMS 4.34, which adds sophisticated air traffic control. Though it is maintained and developed by volunteers, as of 2020 BMS 4.34 is one of the best combat flight sims available, comparable to the best commercial products. Previous versions, such as BMS 4.33, are rated platinum compatibility with wine. With BMS 4.34, though, wine hangs when air traffic control TTS is used.
I experimented with sound settings and was able to get a backtrace rather than just a hang (see attachment).
My specific procedure was:
I am using wine 5.21 (Staging) on Ubuntu 20.04 LTS.
As a first step, I got a reproduceable hang by starting BMS 434, choosing TE #1 ground ops, selecting the training flight entering 3D with the default ramp start, then waiting for the hang at about 10:28:47 on the cockpit clock at upper right. While waiting I was watching the running processes on a second monitor using the linux top command. I saw the pulseaudio process active a lot, so I exited BMS, set sound volume to zero in Ubuntu, restarted BMS, turned all sound volume to zero, then started the TE #1 again. Then in top I killed the pulseaudio process.
Why do all this with the sound? In hopes of generating a stack trace. It worked! BMS produced the stack trace dialog at the point where it usually hangs.
From the stack trace it appears that the problem is in VoiceManager (see stack
trace below). Components involved appear to be: installation and setup API ( dlls/{cfgmgr32,newdev,setupapi} ) Common Controls DLL ( dlls/comctl32/ ) winmm and mci ( dlls/{winmm,mciavi32,mcicda,mciseq,mciwave}/ )