My app. was working fine until late May 2018, when Windows updated itself to v1803 (a.k.a. Windows 2018 Spring Update or Windows April 2018 Update). When subsequently I built my app., the commands worked but anything involving the UI crashed MicroStation, including any MicroStation commands that popped the UI.
I tracked the problem to a call to ::setlocale (LC_ALL, "") in MdlMain(). Once I removed that call, the app. behaved correctly once more. ::setlocale (LC_ALL, "") is a C library call to establish a neutral locale. I think I probably included it to guarantee correct working of regular expressions. Until Windows v1803 that function has been working OK since the first release of MicroStation CONNECT, and previously with V8i.
::setlocale (LC_ALL, "")
MdlMain()
I suspect my problem is related to the issues for international apps. and the Windows v1803 update, which seems to have created chaos elsewhere (am I understating the problem?). Can anyone throw any light on this? At some point I would like to reinstate ::setlocale (LC_ALL, ""), but don't know how to determine when it would be safe to do so.
Hi Jon, I posted about this not too long ago.
https://communities.bentley.com/products/programming/microstation_programming/f/microstation-programming---forum/154475/connect-c-windows-10-update-1803-std-setlocale-causing-microstation-to-lockup
Maury said:I posted about this not too long ago
Thanks! But 'not too long ago' is six days in the past at the time of writing. I was hoping to read about some progress on the issue that we have both witnessed and raised ...
Regards, Jon Summers LA Solutions
We are still pending response from Microsoft and will provide any updated information once received and becomes available.
Thank you,Bob
Robert Hook said:We are still pending response from Microsoft
How's the dialog with Microsoft progressing?
When CONNECT Update 10 is released, and subsequently the Update 10 SDK, will we have to take any action to make our software compatible with whatever Microsoft advise? Or, will you be able to wrap all modifications within the black box to which the SDK offers a public API?
Hi Jon,
Sorry for the delayed response I was out of office last week.
We are still pending Microsoft staging proposed fixes in their various release channel patches. Though we (like other software vendors) took additional precautions in MicroStation CONNECT as recommended by Microsoft in their notification, we expect the forth-coming Microsoft update patch to completely correct the issue. The primary location to find the current status/updates will be this wiki:
MicroStation hangs on startup after Windows 10 Update (Spring Creator) has been installed
Mentioned in the link above, consider reviewing the developer note link (for convenience below) if you need additional details or work-arounds to review or inspect in your code calling setlocale and/or related Microsoft CRT functions identified and mentioned here:
Known Issue – Universal CRT ctype functions can fail with EOF input (Windows 10 1803 SDK (17134), April 2018 release.)
HTH,Bob
Please note the following update (first "limited distribution" not "general availability" fix being availability):
FROM: MicroStation hangs on startup after Windows 10 Update (Spring Creator) has been installed
[07/24/2018 - RESOLVED]
Microsoft has released a patch that should resolve underlying UCRT EOF hanging issues reported by users of Windows 10 Spring Creator Update (version 1803). See: MicroStation hangs on startup after Windows 10 Update (Spring Creator) has been installed and July 24, 2018—KB4340917 (OS Build 17134.191)
[07/20/2018]
[06/20/2018]
Microsoft pushed a fix to the Windows 10 Insiders Fast Ring (Build 17692) on Thursday, June 14. Since no major regressions were found by Windows Insiders, the fix was approved and checked in yesterday and is currently scheduled to go out to everyone with next security updates on Tuesday, July 10th.
Note: Bentley does NOT recommend becoming part of the Windows Insiders program, but rather we suggest you wait until July 10th for the fix..
Answer Verified By: Jon Summers
Robert,
Note that the latest Windows 10 update (KB4338819) contains a fix for "Improves the ability of the Universal CRT Ctype family of functions to correctly handle EOF as valid input." which I believe is the update you were hoping would fix this problem.
Unfortunately, the problem still occurs.
Maury said: the Universal CRT Ctype family of functions
As developers, don't we have to download and use those CRT libraries? Or, is Microsoft saying that the EOF fix is included in the Windows update?
I imagine that Microsoft is saying that the fix was included in the windows update since it was in the update notes.
https://support.microsoft.com/en-us/help/4338819/windows-10-update-kb4338819
Plus, everything was working before and Microsoft broke it without us downloading any libraries.
I just saw this at the bottom of the Bentley link
[07/05/2018]
Last week, Bentley worked closely with Microsoft to test the July 10th security updates and found that Microsoft did not commit all the necessary pieces to fix our problem. Thus, tomorrow's security updates will NOT resolve this issue. We tried desperately to escalate the case and get the security patch rebuilt, but Microsoft management declined our request due to their inability to provide enough security assurance testing before it gets released out to the world.
Root cause of why our fix wasn't committed was identified and has been resolved and the proper fix is currently scheduled to go out to everyone with next set of security updates during the week of July 23rd. We will continue to work daily with Microsoft until this issue gets resolved.
Hi Maury and Jon,
I added an update to my earlier response in this thread, suggesting to wait for confirmation on Microsoft's next public patch release on Tuesday 7/24/2018 that should contain additional patches. Sorry for not providing anything more frequent for updates on this thread, but the there are a number of SDK enhancements being squeezed in this time.
All, please note: