2

we have issues with Windows 10 Updates (KB4041676, KB4041691) and our applications. Hopefully we'll find someone who can help.

The applications are Delphi 7 32 bit with an COM Interop .net part to connect to a service over WCF. When the KBs installed the application crashes with the following procdump output directly after start:

[14:37:21] Exception: C0000091.FLOAT_OVERFLOW
[14:37:21] Exception: C0000091.FLOAT_OVERFLOW
[14:37:21] Exception: C0000091.FLOAT_OVERFLOW
[14:37:21] Exception: C0000091.FLOAT_OVERFLOW
[14:37:21] Exception: C0000091.FLOAT_OVERFLOW
[14:37:21] Exception: C0000091.FLOAT_OVERFLOW
[14:37:21] Exception: C0000091.FLOAT_OVERFLOW
[14:37:21] Exception: C0000091.FLOAT_OVERFLOW
[14:37:21] Exception: C0000091.FLOAT_OVERFLOW
[14:37:21] Exception: C00000FD.STACK_OVERFLOW

I have prepared a minimal sample. First .net dll Classes:

[ComVisible(true)]
[Guid("5725C8DE-B28F-4A82-BE75-E85EC1832AAA")]
public interface IMyNetComConnector
{
    void DoIt(string test);
}

[ClassInterface(ClassInterfaceType.None)]
[ComSourceInterfaces(typeof(IMyNetComConnector))]
[ComVisible(true)]
[Guid("5725C8DE-B28F-4A82-BE75-E85EC1832AAB")]
public class MyNetComConnector : IMyNetComConnector
{
    private ContentControl c;
    public void DoIt(string test)
    {
        c = new ContentControl();
        c.Content = "";
    }
}

We need the ContentControl for some ViewModels with inheritance, so in our code the error happens when we create these viewmodels.

In Delphi 7 i imported an ActiveX-Control in a vcl formular application and used it:

program Project3;

uses
  Forms, ActiveX,
  Unit2 in 'Unit2.pas' {Form2},
  MyNetComComponent_TLB in 'D:\MyNetComComponent_TLB.pas';

{$R *.res}
  var
  connector :  TMyNetComConnector;
begin
  CoInitialize(nil);
  connector := TMyNetComConnector.Create(nil);

  connector.Connect();
  connector.DoIt('test');
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm2, Form2);
  Application.Run;
end.

The posted code example above running in our application fine for over 4 years on Windows 7 and Windows 10 without the named KBs.

Is the root cause a change in the wpf initialization or .net framework bug or are there any policies which are active and enabled in the kbs?

Thanks in advance

Moelli.de
  • 41
  • 4
  • If a specific Windows patch introduces this, report it to Microsoft. Alternatively, grab a memory dump when the process crashes and run an analysis on it in WinDbg. – xxbbcc Nov 10 '17 at 14:28
  • you are receiving an external FPU exception, you have to mask it: https://stackoverflow.com/a/40968784/800214 – whosrdaddy Nov 10 '17 at 14:36
  • If your program is not performing any floating point then the simplest way forward is indeed just to mask all exceptions by setting the control word to the MS default. – David Heffernan Nov 10 '17 at 16:06
  • Oh, the joys of an FPU control word war with third-party dependencies... Why even good developers can't just put it back the way they found it, I'll never understand. It's like having bad house guests who insist on leaving the toilet seat up. – J... Nov 10 '17 at 16:10

0 Answers0