Skip to content

[Bug]: SymInitialize() failed: 3221225476 #1871

Open
@gabrielsanbrito

Description

@gabrielsanbrito

Describe the issue

When running unit tests in Chromium, absl::InitializeSymbolizer can fail fatally on Windows because a STATUS_INFO_LENGTH_MISMATCH error happened while calling SymInitialize. The message below will be printed in the console:

[symbolize_win32.inc : 62] RAW: SymInitialize() failed: 3221225476

Steps to reproduce the problem

This bug is quite hard to reproduce. But it is possible to catch it by repeatedly running a couple of specific Chromium unit tests:

autoninja blink_common_unittests
blink_common_unittests.exe --gtest_filter=MessagePortDescriptorTestDeathTest.InvalidUsageForSerialization --gtest_repeat=200 --test-launcher-jobs=10

Some tests will probably fail with:

[0410/162603.174:ERROR:base\test\launcher\test_launcher.cc:1279] Failed to get out-of-band test success data, dumping full stdio below:
[symbolize_win32.inc : 62] RAW: SymInitialize() failed: 3221225476


[0410/162603.174:ERROR:base\test\launcher\test_launcher.cc:1319] no test result for MessagePortDescriptorTestDeathTest.InvalidUsageForSerialization
[58/200] MessagePortDescriptorTestDeathTest.InvalidUsageForSerialization (TIMED OUT)

What version of Abseil are you using?

348602b0595b84226681e65cfa737b0472e57d71

What operating system and version are you using?

Win 11 26100.3775

What compiler and version are you using?

clang version 21.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project 5b36835df010c5813808d34e45428c624fb52ff1)

What build system are you using?

GN 2223 (6e8e0d6d4a15)

Additional context

Sometimes SymInitialize might fail with a STATUS_INFO_LENGTH_MISMATCH. In this case, we should try calling it again a couple of times before raising a fatal error.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions