chromium编译v8生成的bin时失败:failed generate_v8_context_snapshot,

在64位windows上编译参数指定: target_cpu=\"x86\"  时会报错。去掉就好了。

报错:

复制代码
autoninja -C out\Default chrome
"E:\dev\chromium96\depot_tools\ninja.exe" -C out\Default chrome -j 6
ninja: Entering directory `out\Default'
[13/326] ACTION //tools/v8_context_snapshot:generate_v8_context_snapshot(//build/toolchain/win:win_clang_x86)
FAILED: v8_context_snapshot.bin
e:/dev/chromium96/depot_tools/bootstrap-2@3_8_10_chromium_23_bin/python3/bin/python3.exe ../../build/gn_run_binary.py ./v8_context_snapshot_generator --output_file=v8_context_snapshot.bin
[0301/094629.260:FATAL:com_init_check_hook.cc(176)] Check failed: false. CoCreateInstance appears to be previously patched. <cc cc cc cc cc e9 6b> Attempted to write <e9 d0 89 57 03 eb f9>
Backtrace:
        base::debug::CollectStackTrace [0x7A5CFFB1+49] (e:\dev\chromium96\src\base\debug\stack_trace_win.cc:305)
        base::debug::StackTrace::StackTrace [0x7A3181BA+74] (e:\dev\chromium96\src\base\debug\stack_trace.cc:200)
        base::debug::StackTrace::StackTrace [0x7A318152+34] (e:\dev\chromium96\src\base\debug\stack_trace.cc:197)
        logging::LogMessage::~LogMessage [0x7A3662F8+168] (e:\dev\chromium96\src\base\logging.cc:582)
        logging::LogMessage::~LogMessage [0x7A367A22+34] (e:\dev\chromium96\src\base\logging.cc:576)
        logging::CheckError::~CheckError [0x7A2DA568+40] (e:\dev\chromium96\src\base\check.cc:106)
        base::win::`anonymous namespace'::HookManager::WriteHook [0x7A605257+711] (e:\dev\chromium96\src\base\win\com_init_check_hook.cc:183)
        base::win::`anonymous namespace'::HookManager::RegisterHook [0x7A604D17+103] (e:\dev\chromium96\src\base\win\com_init_check_hook.cc:106)
        base::win::ComInitCheckHook::ComInitCheckHook [0x7A604BFB+27] (e:\dev\chromium96\src\base\win\com_init_check_hook.cc:333)
        base::internal::ThreadPoolImpl::ThreadPoolImpl [0x7A547587+519] (e:\dev\chromium96\src\base\task\thread_pool\thread_pool_impl.cc:88)
        base::internal::ThreadPoolImpl::ThreadPoolImpl [0x7A54731C+92] (e:\dev\chromium96\src\base\task\thread_pool\thread_pool_impl.cc:80)
        std::__1::make_unique<base::internal::ThreadPoolImpl,base::BasicStringPiece<char,std::__1::char_traits<char> > &> [0x7A54D996+86] (e:\dev\chromium96\src\buildtools\third_party\libc++\trunk\include\__memory\unique_ptr.h:725)
        base::ThreadPoolInstance::Create [0x7A54D7EF+47] (e:\dev\chromium96\src\base\task\thread_pool\thread_pool_instance.cc:73)
        base::ThreadPoolInstance::CreateAndStartWithDefaultParams [0x7A54D79B+59] (e:\dev\chromium96\src\base\task\thread_pool\thread_pool_instance.cc:56)
        main [0x004D10DC+220] (e:\dev\chromium96\src\tools\v8_context_snapshot\v8_context_snapshot_generator.cc:46)
        invoke_main [0x00BD8963+51] (d:\a01\_work\10\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78)
        __scrt_common_main_seh [0x00BD8AC7+343] (d:\a01\_work\10\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288)
        __scrt_common_main [0x00BD8B9D+13] (d:\a01\_work\10\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:331)
        mainCRTStartup [0x00BD8BA8+8] (d:\a01\_work\10\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp:17)
        BaseThreadInitThunk [0x75E0FA29+25]
        RtlGetAppContainerNamedObjectPath [0x77D77A9E+286]
        RtlGetAppContainerNamedObjectPath [0x77D77A6E+238]

./v8_context_snapshot_generator failed with exit code 2147483651
[14/326] LINK(DLL) content.dll content.dll.lib content.dll.pdb
ninja: build stopped: subcommand failed.
复制代码

查看进程,后台还有在控制台同时在编译的进程。

另外不知道这些路径:

d:\a01\_work\10\s\
从哪里来的,磁盘上没有这些路径啊。可能是用了 sscache 缓存的缘故。不是。应该是vs2022弄的;2019是d:\a0\agent不啦不啦。
最终决定试用:
gn clean out\Default
清除后目录还那么大。
还是不行。将 out\default目录删除在重新编译:
autoninja -C out\Default chrome
报错:是cpu过热了?
autoninja -C out\Default chrome
"E:\dev\chromium96\depot_tools\ninja.exe" -C out\Default chrome -j 6
ninja: Entering directory `out\Default'
[41525/50025] CXX obj/third_party/blink/renderer/bindings/core/v8/v8/v8_mutation_callback.obj
FAILED: obj/third_party/blink/renderer/bindings/core/v8/v8/v8_mutation_callback.obj
sccache ..\..\third_party\llvm-build\Release+Asserts\bin\clang-cl.exe /c gen/third_party/blink/renderer/bindings/core/v8/v8_mutation_callback.cc /Foobj/third_party/blink/renderer/bindings/core/v8/v8/v8_mutation_callback.obj /nologo /showIncludes "-imsvcC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\ATLMFC\include" "-imsvcC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\include" "-imsvcD:\Windows Kits\10\include\10.0.19041.0\ucrt" "-imsvcD:\Windows Kits\10\\include\10.0.19041.0\\shared" "-imsvcD:\Windows Kits\10\\include\10.0.19041.0\\um" "-imsvcD:\Windows Kits\10\\include\10.0.19041.0\\winrt" "-imsvcD:\Windows Kits\10\\include\10.0.19041.0\\cppwinrt" -DDCHECK_ALWAYS_ON=1 -DUSE_AURA=1 "-DCR_CLANG_REVISION=\"llvmorg-14-init-5759-g02895eed-1\"" -D_HAS_NODISCARD -DCOMPONENT_BUILD -D_LIBCPP_ABI_UNSTABLE -D_LIBCPP_ENABLE_NODISCARD -D_LIBCPP_NO_AUTO_LINK -D__STD_C -D_CRT_RAND_S -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -D_ATL_NO_OPENGL -D_WINDOWS -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -DPSAPI_VERSION=2 -DWIN32 -D_SECURE_ATL -DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP -DWIN32_LEAN_AND_MEAN -DNOMINMAX -D_UNICODE -DUNICODE -DNTDDI_VERSION=NTDDI_WIN10_VB -D_WIN32_WINNT=0x0A00 -DWINVER=0x0A00 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DUSING_V8_SHARED -DBLINK_CORE_IMPLEMENTATION=1 -DWEBP_EXTERN=extern -DVK_USE_PLATFORM_WIN32_KHR -DUSE_EGL -DBLINK_IMPLEMENTATION=1 -DINSIDE_BLINK -DABSL_CONSUME_DLL -DBORINGSSL_SHARED_LIBRARY -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DU_ENABLE_TRACING=1 -DU_ENABLE_RESOURCE_TRACING=0 -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DPROTOBUF_USE_DLLS -DWEBRTC_ENABLE_SYMBOL_EXPORT -DWEBRTC_ENABLE_AVX2 -DRTC_ENABLE_WIN_WGC -DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0 -DWEBRTC_CHROMIUM_BUILD -DWEBRTC_WIN -DABSL_ALLOCATOR_NOTHROW=1 -DWEBRTC_USE_BUILTIN_ISAC_FIX=0 -DWEBRTC_USE_BUILTIN_ISAC_FLOAT=1 -DWEBRTC_HAVE_SCTP -DNO_MAIN_THREAD_WRAPPING -DSK_UNTIL_CRBUG_1187654_IS_FIXED -DSK_WIN_FONTMGR_NO_SIMULATIONS -DSK_CODEC_DECODES_PNG -DSK_CODEC_DECODES_WEBP -DSK_ENCODE_PNG -DSK_ENCODE_WEBP -DSK_ENABLE_SKSL "-DSK_USER_CONFIG_HEADER=\"../../skia/config/SkUserConfig.h\"" -DSK_GL -DSK_CODEC_DECODES_JPEG -DSK_ENCODE_JPEG -DSK_HAS_WUFFS_LIBRARY -DSK_VULKAN=1 -DSK_DAWN -DSKIA_DLL -DSKCMS_API=__declspec(dllexport) -DSK_SUPPORT_GPU=1 "-DSK_GPU_WORKAROUNDS_HEADER=\"gpu/config/gpu_driver_bug_workaround_autogen.h\"" -DGR_GL_FUNCTION_TYPE=__stdcall -DV8_ENABLE_CHECKS -DV8_DEPRECATION_WARNINGS -DLEVELDB_PLATFORM_CHROMIUM=1 -DLEVELDB_SHARED_LIBRARY -DWTF_USE_WEBAUDIO_PFFFT=1 -DUSE_LIBJPEG_TURBO=1 -DMANGLE_JPEG_NAMES -DPNG_USE_DLL -DPNG_NO_MODULEDEF -DUSING_V8_BASE_SHARED -DUSING_V8_PLATFORM_SHARED -DLIBXSLT_STATIC -I../.. -Igen -I../../buildtools/third_party/libc++ -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -I../../third_party/libyuv/include -I../../third_party/jsoncpp/source/include -Igen/third_party/dawn/src/include -I../../third_party/dawn/src/include -I../../third_party/libwebp/src -I../../third_party/khronos -I../../gpu -I../../third_party/vulkan-deps/vulkan-headers/src/include -I../../third_party/abseil-cpp -I../../third_party/boringssl/src/include -I../../third_party/protobuf/src -Igen/protoc_out -I../../third_party/ced/src -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -Igen/net/third_party/quiche/src -I../../net/third_party/quiche/overrides -I../../net/third_party/quiche/src/common/platform/default -I../../net/third_party/quiche/src -I../../third_party/webrtc_overrides -I../../third_party/webrtc -Igen/third_party/webrtc -I../../third_party/skia -I../../third_party/wuffs/src/release/c -I../../third_party/vulkan/include -I../../v8/include -Igen/v8/include -I../../third_party/mesa_headers -I../../third_party/libwebm/source -I../../third_party/leveldatabase -I../../third_party/leveldatabase/src -I../../third_party/leveldatabase/src/include -I../../third_party/libjpeg_turbo -I../../third_party/iccjpeg -I../../third_party/libpng -I../../third_party/zlib -I../../third_party/ots/src/include -I../../third_party/libxml/src/include -I../../third_party/libxml/win32/include -I../../third_party/libxslt/src -I../../third_party/snappy/src -I../../third_party/snappy/win32 -fno-delete-null-pointer-checks -fno-ident -fcolor-diagnostics -fmerge-all-constants -fcrash-diagnostics-dir=../../tools/clang/crashreports -mllvm -instcombine-lower-dbg-declare=0 -fcomplete-member-pointers /Gy /FS /bigobj /utf-8 /Zc:twoPhase /Zc:sizedDealloc- /D__WRL_ENABLE_FUNCTION_STATICS__ -fmsc-version=1916 /Zc:dllexportInlines- -m32 -msse3 -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -ffile-compilation-dir=. -no-canonical-prefixes /W4 -Wimplicit-fallthrough -Wunreachable-code-aggressive -Wthread-safety -Wextra-semi /WX /wd4996 -Wno-missing-field-initializers -Wno-unused-parameter -Wloop-analysis -Wno-unneeded-internal-declaration -Wno-nonportable-include-path -Wno-null-pointer-subtraction -Wenum-compare-conditional -Wno-psabi -Wno-ignored-pragma-optimize -Wno-builtin-assume-aligned-alignment -Wno-unused-but-set-parameter -Wno-unused-but-set-variable -Wno-bitwise-instead-of-logical -Wmax-tokens /Od /Ob0 /GF -ftrivial-auto-var-init=pattern /guard:cf,nochecks /MDd -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang raw-ptr-template-as-trivial-member -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wexit-time-destructors /wd4305 /wd4324 /wd4714 /wd4800 /wd4996 -Xclang -add-plugin -Xclang blink-gc-plugin -Wglobal-constructors -Wshadow /Z7 -gcodeview-ghash -Xclang -fuse-ctor-homing /FI../../third_party/blink/renderer/core/precompile_core.h -Wconversion -Wno-float-conversion -Wno-sign-conversion -Wno-implicit-float-conversion -Wno-implicit-int-conversion -Wno-enum-float-conversion -Wshadow -DPROTOBUF_ALLOW_DEPRECATED=1 /wd4344 /wd4291 -DLIBXML_STATIC= /Fpobj/third_party/blink/renderer/bindings/core/v8/v8_cc.pch /Yu../../third_party/blink/renderer/core/precompile_core.h -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare -Wno-trigraphs /TP /GR- -I../../buildtools/third_party/libc++/trunk/include -Wno-deprecated-declarations /Fd"obj/third_party/blink/renderer/bindings/core/v8/v8_cc.pdb"
[41530/50025] CXX obj/third_party/blink/renderer/bindings/core/v8/v8/v8_function.obj
ninja: build stopped: subcommand failed.

再次编译换成 content为目标:通过了

autoninja -C out\Default content
"E:\dev\chromium96\depot_tools\ninja.exe" -C out\Default content -j 6
ninja: Entering directory `out\Default'
[7575/7575] LINK(DLL) content.dll content.dll.lib content.dll.pdb

编chrome又嗝屁了

不行的话,再同时删除 sscashe 目录内容,再试试。这个源码再其他机器上编过,成功。这台机器同时安装了 2019 和vs2022。可能是这个原因吗?
最大原因可能是磁盘空间不足,运行失败时磁盘只剩下7G空间了。清理了空间,编译速度也快了。
都排除了都不行。
最终只能用2019编译试试 , 否则真没办法了。
最后发现有个宏控制要不要使用 com hook 初始化检查:COM_INIT_CHECK_HOOK_ENABLED 。注释掉后可用了。

base/win/com_init_check_hook.h

// Hotpatching is only supported in Intel 32-bit x86 processors because Windows
// binaries contain a convenient 2 byte hotpatch noop. This doesn't exist in
// 64-bit binaries.

也许是在gn生成编译选项时强制在 64位系统上指定了 target_cpu=\"x86\" 。但是有的机器上编译又是可以的。

#if DCHECK_IS_ON() && defined(ARCH_CPU_X86_FAMILY) &&        \
    defined(ARCH_CPU_32_BITS) && !defined(OFFICIAL_BUILD) && \
    !defined(COM_INIT_CHECK_HOOK_DISABLED)  // See crbug/737090 for details.
// #define COM_INIT_CHECK_HOOK_ENABLED
#endif

 终于可用了。

其实与模块等东西没关系。直接手动执行这个生成就报错:

e:\dev\chromium110\src>cd out\Default
e:\dev\chromium110\src\out\Default>e:/dev/chromium110/depot_tools/bootstrap-2@3_8_10_chromium_23_bin/python3/bin/python3.exe ../../build/gn_run_binary.py ./v8_context_snapshot_generator --output_file=v8_context_snapshot.bin
[0208/104128.174:FATAL:com_init_check_hook.cc(185)] Check failed: false. CoCreateInstance appears to be previously patched. <cc cc cc cc cc e9 2b> Attempted to write <e9 50 2f a1 04 eb f9>
Backtrace:
base::debug::CollectStackTrace [0x7A500E61+49] (e:\dev\chromium110\src\base\debug\stack_trace_win.cc:329)
base::debug::StackTrace::StackTrace [0x7A1F3BDA+74] (e:\dev\chromium110\src\base\debug\stack_trace.cc:221)
base::debug::StackTrace::StackTrace [0x7A1F3B72+34] (e:\dev\chromium110\src\base\debug\stack_trace.cc:218)
logging::LogMessage::~LogMessage [0x7A2482FE+190] (e:\dev\chromium110\src\base\logging.cc:718)
logging::LogMessage::~LogMessage [0x7A24A150+32] (e:\dev\chromium110\src\base\logging.cc:712)
logging::CheckError::~CheckError [0x7A1ADFC8+40] (e:\dev\chromium110\src\base\check.cc:190)
logging::NotReachedError::~NotReachedError [0x7A1AE09F+15] (e:\dev\chromium110\src\base\check.cc:204)
base::win::`anonymous namespace'::HookManager::WriteHook [0x7A5514FD+637] (e:\dev\chromium110\src\base\win\com_init_check_hook.cc:192)
base::win::`anonymous namespace'::HookManager::RegisterHook [0x7A551007+103] (e:\dev\chromium110\src\base\win\com_init_check_hook.cc:113)
base::win::ComInitCheckHook::ComInitCheckHook [0x7A550EEB+27] (e:\dev\chromium110\src\base\win\com_init_check_hook.cc:354)
base::internal::ThreadPoolImpl::ThreadPoolImpl [0x7A4717D8+488] (e:\dev\chromium110\src\base\task\thread_pool\thread_pool_impl.cc:85)
base::internal::ThreadPoolImpl::ThreadPoolImpl [0x7A47158C+92] (e:\dev\chromium110\src\base\task\thread_pool\thread_pool_impl.cc:76)
std::Cr::make_unique<base::internal::ThreadPoolImpl,base::BasicStringPiece<char,std::Cr::char_traits<char> > &> [0x7A4772BD+77] (e:\dev\chromium110\src\buildtools\third_party\libc++\trunk\include\__memory\unique_ptr.h:670)
base::ThreadPoolInstance::Create [0x7A47712F+47] (e:\dev\chromium110\src\base\task\thread_pool\thread_pool_instance.cc:90)
base::ThreadPoolInstance::CreateAndStartWithDefaultParams [0x7A4770DB+59] (e:\dev\chromium110\src\base\task\thread_pool\thread_pool_instance.cc:73)
main [0x00D710DC+220] (e:\dev\chromium110\src\tools\v8_context_snapshot\v8_context_snapshot_generator.cc:46)
invoke_main [0x015D6423+51] (D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78)
__scrt_common_main_seh [0x015D6587+343] (D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288)
__scrt_common_main [0x015D665D+13] (D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:331)
mainCRTStartup [0x015D6668+8] (D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp:17)
BaseThreadInitThunk [0x760700F9+25]
RtlGetAppContainerNamedObjectPath [0x77217BBE+286]
RtlGetAppContainerNamedObjectPath [0x77217B8E+238]
./v8_context_snapshot_generator failed with exit code 2147483651

 

posted @   Bigben  阅读(1772)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2018-03-02 Learn to securely share files on the blockchain with IPFS!
2018-03-02 200行Go代码实现自己的区块链——区块生成与网络通信
2015-03-02 intent 几种用法
2015-03-02 intent.setFlags方法中的参数值含义
2015-03-02 PendingIntent的使用
2015-03-02 jar的打包与共享
2015-03-02 做自己的Android ROM,屏蔽对framework中的系统APK的签名检查
点击右上角即可分享
微信分享提示