Skip to content

Cef.Shutdown() too slow on version compiled from source #614

@rfgamaral

Description

@rfgamaral

I have been running CefSharp v33.0.2 (from NuGet) and so far so good. But because of recent issues (i.e. #608) I felt the need to compile CefSharp from source and use the latest master build in my project.

Maybe I missed something important, but here's the process I followed for this:

  1. Cloned CefSharp and restored all packages with NuGet.
  2. Opened CefSharp3.sln and built everything from Build » Batch Build....
  3. Built the CefSharp.Common and CefSharp.WinForms NuGet packages with commands from build.ps1 file.
    • The files CefSharp.Common.37.0.0-pre01.nupkg and CefSharp.WinForms.37.0.0-pre01.nupkg were generated.
  4. Configured the NuGet Package Sources (Visual Studio settings) to look for packages inside the cloned CefSharp\NuGet folder where the .nupkg files are located (placed this source at the top).
  5. Updated my project to the pre-release packages available.

My project packages.config went from this:

<package id="cef.redist" version="3.1750.1738" targetFramework="net45" />
<package id="CefSharp.Common" version="33.0.2" targetFramework="net45" />
<package id="CefSharp.WinForms" version="33.0.2" targetFramework="net45" />

To this:

<package id="cef.redist.x64" version="3.2062.1898" targetFramework="net45" />
<package id="cef.redist.x86" version="3.2062.1898" targetFramework="net45" />
<package id="CefSharp.Common" version="37.0.0-pre01" targetFramework="net45" />
<package id="CefSharp.WinForms" version="37.0.0-pre01" targetFramework="net45" />

Assuming my process is correct, after building a new version of my application with the latest "pre-release" from CefSharp's master branch. The call to Cef.Shutdown() has become incredibly slow. I'm calling the Shutdown method when the user exits the application (by pressing Exit in a context menu) and it took more than 10 seconds to close the whole thing.

This did not happen on the previous version.

After looking closer to IntelliTrace I noticed a bunch of thrown and caught exceptions, 5 of each of the following:

Exception:Thrown: "The ServiceHost close operation timed out after 00:00:09.9857724.  This could be because a client failed to close a sessionful channel within the required time.  The time allotted to this operation may have been a portion of a longer timeout." (System.TimeoutException)
A System.TimeoutException was thrown: "The ServiceHost close operation timed out after 00:00:09.9857724.  This could be because a client failed to close a sessionful channel within the required time.  The time allotted to this operation may have been a portion of a longer timeout."
Time: 17/11/2014 23:06:27
Thread:<No Name>[8836]
Exception:Thrown: "The operation cannot be completed because the pipe was closed.  This may have been caused by the application on the other end of the pipe exiting." (System.ServiceModel.CommunicationObjectAbortedException)
A System.ServiceModel.CommunicationObjectAbortedException was thrown: "The operation cannot be completed because the pipe was closed.  This may have been caused by the application on the other end of the pipe exiting."
Time: 17/11/2014 23:06:27
Thread:Worker Thread[1548]

Is there anything else that I should probably be doing to make sure this v37 works as expected?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions