winetricks speechsdk to fix Falcon BMS 4.34 TTS causes hang bug

Questions about Wine on Linux
Locked
sponsor61
Level 3
Level 3
Posts: 59
Joined: Tue Apr 07, 2020 10:05 pm

winetricks speechsdk to fix Falcon BMS 4.34 TTS causes hang bug

Post by sponsor61 »

The Falcon BMS combat flight simulator has always had platinum wine compatibility - until the latest version introduced text to speech. Now after a few minutes in a campaign the spoken messages repeat a word endlessly and the BMS simulator hangs. The text output to the terminal is:
------------ begin error text output --------------

wine: Unhandled page fault on read access to 0000000000000951 at address 00000000048DDEC5 (thread 003e), starting debugger...
0035:err:seh:setup_exception stack overflow 1552 bytes in thread 0035 eip 000000007bc88d63 esp 0000000028121000 stack 0x28120000-0x28121000-0x28220000
003e:err:seh:setup_exception stack overflow 2016 bytes in thread 003e eip 000000007bc882b8 esp 0000000028ab0e30 stack 0x28ab0000-0x28ab1000-0x28bb0000
002e:err:ntdll:RtlpWaitForCriticalSection section 0x100a8 "heap.c: main process heap section" wait timed out in thread 002e, blocked by 003e, retrying (60 sec)
0042:err:ntdll:RtlpWaitForCriticalSection section 0x100a8 "heap.c: main process heap section" wait timed out in thread 0042, blocked by 003e, retrying (60 sec)
0041:err:ntdll:RtlpWaitForCriticalSection section 0x100a8 "heap.c: main process heap section" wait timed out in thread 0041, blocked by 003e, retrying (60 sec)
0043:err:ntdll:RtlpWaitForCriticalSection section 0x100a8 "heap.c: main process heap section" wait timed out in thread 0043, blocked by 003e, retrying (60 sec)
0033:err:ntdll:RtlpWaitForCriticalSection section 0x100a8 "heap.c: main process heap section" wait timed out in thread 0033, blocked by 003e, retrying (60 sec)
0034:err:ntdll:RtlpWaitForCriticalSection section 0x115195c0 "?" wait timed out in thread 0034, blocked by 0033, retrying (60 sec)
---------- end error text output ------------------

There are a couple posts to BMS forums suggesting that loading Microsoft TTS libraries solves the problem, one post references a link (https://www.reddit.com/r/linux/comments ... microsoft/) suggestiong these commands:

$export WINEARCH=win32
$export WINPREFIX=~/.wine32
$winetricks msxml3
$wine msiexec /i SpeechPlatformRuntime.msi
$wine msiexec /i MSSpeech_TTS_en-US_ZiraPro.msi

I tried this - no change.

Then I tried

winetricks speechsdk

on a fresh BMS install - the hang problem was still there.

Since BMS 4.34 is a 64 bit executable, with a fresh BMS install I also tried installing a 64 bit Microsoft SDK with wine:
wine msiexec /i MicrosoftSpeechPlatformSDK.msi
wine msiexec /i MSSpeech_TTS_en-US_Helen.msi
wine msiexec /i MSSpeech_TTS_en-US_ZiraPro.msi
I also included a 64 bit version of the MS xml msi because it was included in the reddit link above
wine msiexec /i msxml6_x64.msi

Also, on a fresh install I tried using the MS speech platform runtime msi rather than the SDK:
SpeechPlatformRuntime.msi

One other BMS forum post which suggests a solution is:
------------------------ text from BMS forum post ---------------------
"Using winetricks to install `msxml3`and Microsoft's SpeechPlatform(x64) and languages (Zira, Helena) it seems to not crash. I have a server flight in a campaign running for about 30 minutes now. Idea was coming from here.

I'll update my server scripts for 4.34 then.

edit: after some more tests, crashes do still happen. Looks like it's related to AI taxiing. Seems like one of the threads has a unhandled page fault on write. BMS doesn't stop but tries to wait for the thread which ofc never returns. "
--------------------------- end of text -----------------------------------
So far, none of these attempts have had any effect on the TTS hang problem.

What am I doing wrong? Thanks for your help.
sponsor61
Level 3
Level 3
Posts: 59
Joined: Tue Apr 07, 2020 10:05 pm

Re: winetricks speechsdk to fix Falcon BMS 4.34 TTS causes hang bug

Post by sponsor61 »

I'm using Ubuntu 20.04 with wine version 5.0 on a 5 year old Intel i7 with a Nvidia Geforce GT graphics card
hoover
Level 2
Level 2
Posts: 12
Joined: Sat Feb 18, 2017 2:08 am

Re: winetricks speechsdk to fix Falcon BMS 4.34 TTS causes hang bug

Post by hoover »

Hi folks,

I'm having the same issue, using WINE 5.0.15 winehq-devel build.

"Instant action" works fine, but when starting a campaign trying to RAMP the jet, the sim crashes throwing a wine dbg error.

I've tried disabling "Text to speech" in falcon bms.cfg, sadly to no avail.

Any updates on this issue? Linux Mint 19.x here.

Thanks in advance & all the best,

uwe
hoover
Level 2
Level 2
Posts: 12
Joined: Sat Feb 18, 2017 2:08 am

Re: winetricks speechsdk to fix Falcon BMS 4.34 TTS causes hang bug

Post by hoover »

PS: These are the errors I'm getting in the console:

010c:err:ntdll:RtlpWaitForCriticalSection section 0000000000010100 "heap.c: main process heap section" wait timed out in thread 010c, blocked by 0104, retrying (60 sec)
0108:err:ntdll:RtlpWaitForCriticalSection section 0000000000010100 "heap.c: main process heap section" wait timed out in thread 0108, blocked by 0104, retrying (60 sec)
00ec:err:ntdll:RtlpWaitForCriticalSection section 0000000000010100 "heap.c: main process heap section" wait timed out in thread 00ec, blocked by 0104, retrying (60 sec)
0170:err:ntdll:RtlpWaitForCriticalSection section 0000000000010100 "heap.c: main process heap section" wait timed out in thread 0170, blocked by 0104, retrying (60 sec)
014c:err:ntdll:RtlpWaitForCriticalSection section 0000000000010100 "heap.c: main process heap section" wait timed out in thread 014c, blocked by 0104, retrying (60 sec)
00fc:err:ntdll:RtlpWaitForCriticalSection section 0000000000010100 "heap.c: main process heap section" wait timed out in thread 00fc, blocked by 0104, retrying (60 sec)
010c:err:ntdll:RtlpWaitForCriticalSection section 0000000000010100 "heap.c: main process heap section" wait timed out in thread 010c, blocked by 0104, retrying (60 sec)
bbuske
Newbie
Newbie
Posts: 4
Joined: Fri Sep 21, 2018 10:48 am

Re: winetricks speechsdk to fix Falcon BMS 4.34 TTS causes hang bug

Post by bbuske »

I have the same problem as hoover has reported. The same error message.
hoover
Level 2
Level 2
Posts: 12
Joined: Sat Feb 18, 2017 2:08 am

Re: winetricks speechsdk to fix Falcon BMS 4.34 TTS causes hang bug

Post by hoover »

I just tried to triage this crash a bit further and I don't think it's related to TTS, but to something in the BMS AI taxiing code that WINE cannot handle (tested version 5.18 on Linux Mint 19.3, fully updated).

I've managed to create a simple TE which reliably crashes BMS at the same instant / time into the TE, you can find the details in the BMS forum thread here:

https://www.benchmarksims.org/forum/sho ... post552125

This is the moment this happens during an AI flight "training" lineup:

Image

WINE backtrace & stdout / stderr logs:

https://zif.gplrank.info/hoover/bms/win ... ktrace.zip

Test TE:

https://zif.gplrank.info/hoover/bms/tes ... _crash.zip

It'd be great if we could get some support from the WINE community with this error!

Thanks in advance & all the best,

Uwe
cg666
Newbie
Newbie
Posts: 2
Joined: Thu Nov 14, 2019 3:28 pm

Re: winetricks speechsdk to fix Falcon BMS 4.34 TTS causes hang bug

Post by cg666 »

Hi,

I'm running wine-5.18 (staging), I got similar error with SC2 and even with cmd.exe :lol:

Could you try :

Code: Select all

$ wine cmd.exe
And copy paste output please ?
hoover
Level 2
Level 2
Posts: 12
Joined: Sat Feb 18, 2017 2:08 am

Re: winetricks speechsdk to fix Falcon BMS 4.34 TTS causes hang bug

Post by hoover »

I don't know why this would help with the issue at hand as this wine version runs many other programs just fine, "cmd.exe" among them...

I guess there's something wrong with or missing from your setup then.

All the best,

Uwe
$ wine cmd.exe
Microsoft Windows 6.1.7601
Z:\home\hoover>
cg666
Newbie
Newbie
Posts: 2
Joined: Thu Nov 14, 2019 3:28 pm

Re: winetricks speechsdk to fix Falcon BMS 4.34 TTS causes hang bug

Post by cg666 »

Because I have same error with some applications (SC2, cmd.exe ...) and it runs perfectly other applications, trying to find a root cause, by testing, remove commits, add logs ...

Code: Select all

$launch_wine.sh cmd.exe
Microsoft Windows 10.0.17763

Z:\home\user\games>wine client error:120: partial write 4096
0124:err:ntdll:RtlpWaitForCriticalSection section 000000000040A060 "/mnt/scripts/..//sources/wine/programs/conhost/conhost.c: console_section" wait timed out in thread 0124, blocked by 0120, retrying (60 sec)
Locked