"Assertion failed: edge && !edge->outputs_ready()" - when CMake generates CXX dyndep file
Hi,
I'm using Visual Studio 2022, latest Preview version (17.14.0 Preview 4.0), and I've got a C++/CMake project that I've opened in VS with File -> Open -> CMake. This uses Visual Studio's "integrated" CMake facilities, which uses ninja to build.
I made some C++ code changes, and out of nowhere, suddenly got a ninja crash - full output below. The crash was reproducible and re-occurred on every build. When I did a "Clean All", the crash disappeared. So it was likely some stale cache file. But I still wanted to report this, as probably ninja still shouldn't crash. The output probably isn't very useful and I couldn't find where the minidump might potentially be saved - but it's probably useful for you to know that there is a condition that can make your assert trigger.
> & "C:/Program Files/Microsoft Visual Studio/2022/Preview/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe" --version
1.12.1>------ Build All started: Project: myproj, Configuration: x64-relwithdebinfo ------
[1/24] Generating CXX dyndep file apps\CMakeFiles\process-video.dir\CXX.dd
Assertion failed: edge && !edge->outputs_ready(), file D:\a\_work\1\s\src\build.cc, line 423
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : error : exception: 0x80000003
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC0000005
C:\Users\PatrikHuber\Projects\MyProj\myproj\out\build\x64-relwithdebinfo\ninja : warning : minidump created: ninja: error: exception: 0xC000Source: ninja-build/ninja