Skip to content

STATUS_ACCESS_VIOLATION when running rend3 on Windows MSVC linked with LLD and thin LTO

Open

Description

I'm getting a crash when running the rend3 examples in --release mode with lto=thin and using LLD. (edit: Happens in both dev builds and release builds when using thinLTO)

Rend3 repo: https://github.com/BVE-Reborn/rend3
Tested commit: 4d107951a3ba62a58a7be1849eb670d05f269e20

I expected to see this happen: It doesn't crash instantly when attempting to run it.

Instead, this happened: It crashes instantly when attempting to run the examples.

Meta

rustc --version --verbose:

rustc 1.69.0 (84c898d65 2023-04-16)
binary: rustc
commit-hash: 84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc
commit-date: 2023-04-16
host: x86_64-pc-windows-msvc
release: 1.69.0
LLVM version: 15.0.7

tested nightly:

rustc 1.71.0-nightly (cba14074b 2023-05-10)
binary: rustc
commit-hash: cba14074bb4cc12bfe918eabd0d52a3999b2a461
commit-date: 2023-05-10
host: x86_64-pc-windows-msvc
release: 1.71.0-nightly
LLVM version: 16.0.2

There's no backtrace, but running it in windbg it just loops these errors:

(54f0.fac): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
cube!core::sync::atomic::atomic_compare_exchange+0x3 [inlined in cube!once_cell::imp::initialize_or_wait+0xab]:
00007ff7`b833645b f0490fb15d00    lock cmpxchg qword ptr [r13],rbx ds:00007ff7`b81d0000=0000000100785a4d
(54f0.fac): Access violation - code c0000005 (!!! second chance !!!)
cube!core::sync::atomic::atomic_compare_exchange+0x3 [inlined in cube!once_cell::imp::initialize_or_wait+0xab]:
00007ff7`b833645b f0490fb15d00    lock cmpxchg qword ptr [r13],rbx ds:00007ff7`b81d0000=0000000100785a4d
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    A-LTOArea: Link-time optimization (LTO)Area: Link-time optimization (LTO)A-linkageArea: linking into static, shared libraries and binariesArea: linking into static, shared libraries and binariesC-bugCategory: This is a bug.Category: This is a bug.O-windows-msvcToolchain: MSVC, Operating system: WindowsToolchain: MSVC, Operating system: WindowsT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions