Logos Bible Software crashes when I switch to IPA(SIL) keyboard

Since about 2 weeks ago, Logos Bible program has started crashing whenever I switch to the IPA (SIL) keyboard (it is the only keyboard I use with Keyman).
I am using Windows 11 and have the newest version of Keyman (16.0.145) and the newest version of Logos. I have used both the IPA (SIL) keyboard and Logos without any conflicts for years. But starting perhaps 10 days ago or so Logos has begun hanging up when I switch to the IPA (SIL) keyboard. I’ve contacted Logos and they said they were aware of an issue with Keyman, but said I should contact Keyman about the problem.
Is this something others have dealt with and is there a known solution?
Thank you,
Dale Talsma

Hi @Montul, welcome to the community!

I am sorry to hear you are having trouble with Keyman and Logos. This is not something we have heard about before, so I am pretty disappointed that Logos have not reached out to us because they were already aware of the problem!

Given it’s a new problem (at least for you!), I’d like to try investigating directly on your computer with you, in a remote support session. I will write to you via private message on this forum to organise a time for a remote support session.

I am tracking this issue at bug(windows): SIL IPA keyboard can cause .NET applications to crash · Issue #10727 · keymanapp/keyman · GitHub

Good news: we believe we have traced the root cause of the problem, and it is not a bug in Logos, nor in Keyman – is seems it’s actually a bug in the .NET Framework and how it interacts with the “International Components for Unicode” (ICU) library. Gory details in the link in my previous post!

The best workaround at present is to change to using another language tag for the IPA keyboard, such as en-US (English - US), instead of und-fonipa (Undetermined language - IPA) or und-Latn (Undetermined language - Latin script). Read more on how to do this:

Another workaround that has been shared with us by a Microsoft engineer is to set the environment variable DOTNET_SYSTEM_GLOBALIZATION_USENLS=1 before starting the app (Reference). This turns off .NET’s use of ICU. It may have other side-effects. This env var should be set in the System Environment Variables dialog in Windows.