Skip to content

std::collections::hash::map::new stuck on Windows 7 #99341

Closed
@xNxExOx

Description

@xNxExOx

I tried this code:
log4rs = "1.1.1"
HashSet::new called here

let builder = Config::builder()
        .appender(Appender::builder().build("console", Box::new(console)))
        .appender(Appender::builder().build("file", Box::new(file)))
        // ...
;
// ...
builder
        .build(
            Root::builder()
                .appender("file")
                .appender("console")
                .build(LevelFilter::Info),
        )

I expected it to work on Windows 7 the same as it works on other platforms.

Instead, this happened:
the code get stuck in the initialization of logging, we acquired same-ish stack from multiple people using Windows 7
It was always [Inline Frame] pcre3.dll!std::collections::hash::map::impl$81::new::KEYS::__getit::closure$0() Line 353 calling bcrypt.dll!_BCryptGenRandom@16�()
image
On Windows 10 as under Wine the application starts normally
My rust code produces DLL that is loaded by C++ application from 10 years ago

Meta

Latest working version: nightly-2022-05-18-i686-pc-windows-msvc

rustc 1.63.0-nightly (4c5f6e627 2022-05-17)
binary: rustc
commit-hash: 4c5f6e6277b89e47d73a192078697f7a5f3dc0ac
commit-date: 2022-05-17
host: i686-pc-windows-msvc
release: 1.63.0-nightly
LLVM version: 14.0.4

Earliest version that gets stuck: nightly-2022-05-19-i686-pc-windows-msvc

rustc 1.63.0-nightly (cd282d7f7 2022-05-18)
binary: rustc
commit-hash: cd282d7f75da9080fda0f1740a729516e7fbec68
commit-date: 2022-05-18
host: i686-pc-windows-msvc
release: 1.63.0-nightly
LLVM version: 14.0.4

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.E-needs-mcveCall for participation: This issue has a repro, but needs a Minimal Complete and Verifiable ExampleO-windowsOperating system: Windows

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions