Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

windows: dbghelp.dll from Windows SDK causes local CEF builds to hang #3356

Closed
magreenblatt opened this issue Jul 8, 2022 · 12 comments
Closed
Labels
bug Bug report Build Related to building CEF/Chromium windows Windows platform

Comments

@magreenblatt
Copy link
Collaborator

Original report by me.


When a local Windows build of CEF crashes or asserts the application hangs for an extended period of time (minutes) and memory continues to increase. In some cases the 32-bit process will run out of memory and be terminated by the OS.

This appears to be a problem with the dbghelp.dll version 10.0.20348.1 from the recent Windows SDK update.
Downgrading dbghelp.dll to version 10.1.10150.0 (included with the VS2019 install) fixes the issue (stack traces are now almost instantaneous again).

We should copy dbghelp.dll/dbgcore.dll from the VS install instead of the Windows SDK for local CEF builds.

Related Chromium issue: https://bugs.chromium.org/p/chromium/issues/detail?id=1320818

@magreenblatt
Copy link
Collaborator Author

Copying from the VS install won’t be sufficient, since that only contains x86 binaries (not x64 or arm64).

@magreenblatt
Copy link
Collaborator Author

Looks like the best option (currently) is to not copy these DLLs to the out directly at all, but instead implicitly use the version from system PATH (e.g. “C:\Windows\System32”). This is currently 10.0.19041.867 with Windows 10 Version 10.0.19044, and seems to work fine.

@magreenblatt
Copy link
Collaborator Author

Don't copy dbghelp.dll/dbgcore.dll from the Windows SDK (fixes issue #3356)

→ <<cset 71ef10bb604d (bb)>>

@magreenblatt
Copy link
Collaborator Author

  • changed state from "new" to "resolved"

@magreenblatt
Copy link
Collaborator Author

Don't copy dbghelp.dll/dbgcore.dll from the Windows SDK (fixes issue #3356)

→ <<cset ca90a945ccde (bb)>>

@magreenblatt
Copy link
Collaborator Author

We should revisit this now that Chromium has updated to Win11 SDK 10.0.22621.0 in M112+

@magreenblatt
Copy link
Collaborator Author

  • changed state from "resolved" to "open"

@magreenblatt
Copy link
Collaborator Author

It’s still version 10.0.20348.1 in the “C:\Program Files (x86)\Windows Kits\10\Debuggers\x64” directory. There is also a DbgHelp.dll (but no dbgcore.dll) version 10.0.22621.755 in the “C:\Program Files (x86)\Windows Kits\10\App Certification Kit” directory. These binaries are both 64-bit.

VS2022 includes 32-bit, 64-bit and ARM64 builds of dbghelp.dll (but no dbgcore.dll) version 10.0.22551.1001 in the “C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\Extensions\TestPlatform\Extensions\Cpp“ directory.

@magreenblatt
Copy link
Collaborator Author

Version 10.0.22551.1001 included with VS2022 seems to work fine (tested with M112).

@magreenblatt
Copy link
Collaborator Author

After installing “Debugging tools for Windows” for the Win SDK (optional component) I now have version 10.0.22621.755, which works. We can now return to the default behavior of copying dbghelp.dll/dbgcore.dll from the SDK.

@magreenblatt
Copy link
Collaborator Author

win: Copy dbghelp.dll/dbgcore.dll from the Windows SDK (fixes issue #3356)

→ <<cset 3e4f8d1b9ccf (bb)>>

@magreenblatt
Copy link
Collaborator Author

  • changed state from "open" to "resolved"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Bug report Build Related to building CEF/Chromium windows Windows platform
Projects
None yet
Development

No branches or pull requests

1 participant