Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incremental occasionally causes link failures (in particular when build process is interrupted) #81280

Open
jyn514 opened this issue Jan 22, 2021 · 11 comments
Labels
A-contributor-roadblock Area: Makes things more difficult for new contributors to rust itself A-incr-comp Area: Incremental compilation A-linkage Area: linking into static, shared libraries and binaries C-bug Category: This is a bug. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@jyn514
Copy link
Member

jyn514 commented Jan 22, 2021

I tried this code: b717882

I expected to see this happen: It compiles successfully.

Instead, this happened:

  = note: /usr/bin/ld: /tmp/rustc7n3dgo/librustc_typeck-c1c702f6c0ed082b.rlib(rustc_typeck-c1c702f6c0ed082b.1f6gvdzw1xg6y56.rcgu.o): relocation R_X86_64_PC32 against undefined hidden symbol `anon.e321930b0bae74a5b269c2d224f94109.135.llvm.15012941867981504210' can not be used when making a shared object
          /usr/bin/ld: /tmp/rustc7n3dgo/librustc_typeck-c1c702f6c0ed082b.rlib(rustc_typeck-c1c702f6c0ed082b.2kv783dkfz4eig4n.rcgu.o): relocation R_X86_64_PC32 against undefined hidden symbol `_ZN4core3ops8function6FnOnce9call_once17hb43433e1ee944fe7E.llvm.14317370391725333118' can not be used when making a shared object
          /usr/bin/ld: /tmp/rustc7n3dgo/librustc_typeck-c1c702f6c0ed082b.rlib(rustc_typeck-c1c702f6c0ed082b.3cqtg0ebrql2rd8.rcgu.o): relocation R_X86_64_PC32 against undefined hidden symbol `anon.eae49e7385ecc193ec1fcf539c5141a9.100.llvm.5499732698529515802' can not be used when making a shared object
          /usr/bin/ld: /tmp/rustc7n3dgo/librustc_middle-83b74242a7255742.rlib(rustc_middle-83b74242a7255742.29ntjh109p85p91e.rcgu.o): relocation R_X86_64_PC32 against undefined hidden symbol `anon.712e2f39c61ddadde64034dfaf0f738c.199.llvm.18382006748427464360' can not be used when making a shared object
          /usr/bin/ld: /tmp/rustc7n3dgo/librustc_middle-83b74242a7255742.rlib(rustc_middle-83b74242a7255742.38uvgcbj494cplao.rcgu.o): relocation R_X86_64_PC32 against undefined hidden symbol `anon.712e2f39c61ddadde64034dfaf0f738c.199.llvm.18382006748427464360' can not be used when making a shared object
          /usr/bin/ld: /tmp/rustc7n3dgo/librustc_middle-83b74242a7255742.rlib(rustc_middle-83b74242a7255742.3hr9th0q5c43xr2a.rcgu.o): relocation R_X86_64_PC32 against undefined hidden symbol `anon.82495b045438102480b0340cffb3c8e7.100.llvm.17830998827333553218' can not be used when making a shared object
          /usr/bin/ld: /tmp/rustc7n3dgo/librustc_middle-83b74242a7255742.rlib(rustc_middle-83b74242a7255742.44bsww8uk85mfq3a.rcgu.o): relocation R_X86_64_PC32 against undefined hidden symbol `anon.712e2f39c61ddadde64034dfaf0f738c.199.llvm.18382006748427464360' can not be used when making a shared object
          /usr/bin/ld: /tmp/rustc7n3dgo/librustc_middle-83b74242a7255742.rlib(rustc_middle-83b74242a7255742.4iywqxra088mgqr5.rcgu.o): relocation R_X86_64_PC32 against undefined hidden symbol `anon.712e2f39c61ddadde64034dfaf0f738c.389.llvm.18382006748427464360' can not be used when making a shared object
          /usr/bin/ld: /tmp/rustc7n3dgo/librustc_middle-83b74242a7255742.rlib(rustc_middle-83b74242a7255742.4s1s3wicvbdoxsru.rcgu.o): relocation R_X86_64_PC32 against undefined hidden symbol `anon.f6101ecacd895ad87283c593f614ce01.72.llvm.3245620587429400994' can not be used when making a shared object
          /usr/bin/ld: /tmp/rustc7n3dgo/librustc_middle-83b74242a7255742.rlib(rustc_middle-83b74242a7255742.5fsy1y6w5w7prvy9.rcgu.o): relocation R_X86_64_PC32 against undefined hidden symbol `anon.712e2f39c61ddadde64034dfaf0f738c.199.llvm.18382006748427464360' can not be used when making a shared object
          /usr/bin/ld: /tmp/rustc7n3dgo/librustc_middle-83b74242a7255742.rlib(rustc_middle-83b74242a7255742.zjtxsb10gpjb46g.rcgu.o): relocation R_X86_64_PC32 against undefined hidden symbol `anon.82495b045438102480b0340cffb3c8e7.100.llvm.17830998827333553218' can not be used when making a shared object
          /usr/bin/ld: final link failed: nonrepresentable section on output
          clang: error: linker command failed with exit code 1 (use -v to see invocation)

Meta

rustc --version:

rustc 1.50.0-beta.1 (05b602367 2020-12-29)

cc @Aaron1011 , I think you were looking into something similar a while back.

@jyn514 jyn514 added A-linkage Area: linking into static, shared libraries and binaries T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. A-incr-comp Area: Incremental compilation C-bug Category: This is a bug. A-contributor-roadblock Area: Makes things more difficult for new contributors to rust itself labels Jan 22, 2021
@petrochenkov
Copy link
Contributor

Just got this error while linking rustc_driver with incremental enabled (not for the first time).

  = note: ld.lld: error: undefined symbol: anon.91c2f56426c5022640e519f02889d07d.8.llvm.746630307250149404
          >>> referenced by C:\msys64\home\we\rust\library\core\src/option.rs:0
          >>>               librustc_resolve-fac19ceb16326411.rlib(rustc_resolve-fac19ceb16326411.1brnvk2mjzqx5b9n.rcgu.o):(rustc_resolve::macros::registered_idents)
          >>> referenced by C:\msys64\home\we\rust\library\alloc\src\vec/mod.rs:425
          >>>               librustc_resolve-fac19ceb16326411.rlib(rustc_resolve-fac19ceb16326411.2u8t3u4aqh8idzl4.rcgu.o):(<rustc_resolve::late::lifetimes::LifetimeContext>::with::<<rustc_resolve::late::lifetimes::LifetimeContext>::visit_fn_like_elision::{closure#9}>)
          >>> referenced by C:\msys64\home\we\rust\library\alloc\src\vec/mod.rs:425
          >>>               librustc_resolve-fac19ceb16326411.rlib(rustc_resolve-fac19ceb16326411.2u8t3u4aqh8idzl4.rcgu.o):(<rustc_resolve::late::lifetimes::LifetimeContext>::with::<<rustc_resolve::late::lifetimes::LifetimeContext>::visit_segment_args::{closure#6}>)
          >>> referenced 30 more times

          ld.lld: error: undefined symbol: anon.91c2f56426c5022640e519f02889d07d.9.llvm.746630307250149404
          >>> referenced by C:\msys64\home\we\rust\library\alloc\src\vec/mod.rs:425
          >>>               librustc_resolve-fac19ceb16326411.rlib(rustc_resolve-fac19ceb16326411.2u8t3u4aqh8idzl4.rcgu.o):(<rustc_resolve::late::lifetimes::LifetimeContext>::with::<<rustc_resolve::late::lifetimes::LifetimeContext>::visit_fn_like_elision::{closure#9}>)
          >>> referenced by C:\msys64\home\we\rust\library\alloc\src\vec/mod.rs:425
          >>>               librustc_resolve-fac19ceb16326411.rlib(rustc_resolve-fac19ceb16326411.2u8t3u4aqh8idzl4.rcgu.o):(<rustc_resolve::late::lifetimes::LifetimeContext>::with::<<rustc_resolve::late::lifetimes::LifetimeContext>::visit_segment_args::{closure#6}>)
          >>> referenced by C:\msys64\home\we\rust\library\alloc\src\vec/mod.rs:425
          >>>               librustc_resolve-fac19ceb16326411.rlib(rustc_resolve-fac19ceb16326411.2u8t3u4aqh8idzl4.rcgu.o):(<rustc_resolve::late::lifetimes::LifetimeContext>::with::<<rustc_resolve::late::lifetimes::LifetimeContext>::visit_segment_args::{closure#7}>)
          >>> referenced 30 more times

          ld.lld: error: undefined symbol: core::ptr::drop_in_place::<rustc_span::FileName> (.llvm.1438190246702246187)
          >>> referenced by C:\msys64\home\we\rust\library\core\src\ptr/mod.rs:188
          >>>               librustc_resolve-fac19ceb16326411.rlib(rustc_resolve-fac19ceb16326411.3bc39m1okvl6wof.rcgu.o):(<&mut <rustc_resolve::Resolver>::check_unused::{closure#0} as core::ops::function::FnMut<(&rustc_span::span_encoding::Span,)>>::call_mut)
          >>> referenced by C:\msys64\home\we\rust\library\core\src\ptr/mod.rs:0
          >>>               librustc_resolve-fac19ceb16326411.rlib(rustc_resolve-fac19ceb16326411.3bc39m1okvl6wof.rcgu.o):(<&mut <rustc_resolve::Resolver>::check_unused::{closure#0} as core::ops::function::FnMut<(&rustc_span::span_encoding::Span,)>>::call_mut)
          >>> referenced by C:\msys64\home\we\rust\library\core\src\ptr/mod.rs:188
          >>>               librustc_resolve-fac19ceb16326411.rlib(rustc_resolve-fac19ceb16326411.4391tludo7n7dv8i.rcgu.o):(core::ptr::drop_in_place::<rustc_span::SpanSnippetError>)
          >>> referenced 9 more times

          ld.lld: error: undefined symbol: core::ptr::drop_in_place::<(rustc_span::FileName, rustc_span::BytePos)> (.llvm.1438190246702246187)
          >>> referenced by C:\msys64\home\we\rust\library\core\src\ptr/mod.rs:188
          >>>               librustc_resolve-fac19ceb16326411.rlib(rustc_resolve-fac19ceb16326411.3bc39m1okvl6wof.rcgu.o):(<&mut <rustc_resolve::Resolver>::check_unused::{closure#0} as core::ops::function::FnMut<(&rustc_span::span_encoding::Span,)>>::call_mut)
          >>> referenced by C:\msys64\home\we\rust\library\core\src\ptr/mod.rs:188
          >>>               librustc_resolve-fac19ceb16326411.rlib(rustc_resolve-fac19ceb16326411.4391tludo7n7dv8i.rcgu.o):(core::ptr::drop_in_place::<rustc_span::SpanSnippetError>)
          >>> referenced by C:\msys64\home\we\rust\library\core\src\ptr/mod.rs:188
          >>>               librustc_resolve-fac19ceb16326411.rlib(rustc_resolve-fac19ceb16326411.5327cotcw21h0vj4.rcgu.o):(core::ptr::drop_in_place::<core::result::Result<alloc::string::String, rustc_span::SpanSnippetError>>)
          >>> referenced 2 more times
          collect2.exe: error: ld returned 1 exit status

@petrochenkov
Copy link
Contributor

cc #85309 #86049

@petrochenkov
Copy link
Contributor

Again:

  = note: ld.lld: error: undefined symbol: anon.26f7d47336e30322871c53dc21221119.123.llvm.9120153389878088914
          >>> referenced by compiler\rustc_codegen_llvm\src/declare.rs:123
          >>>               librustc_codegen_llvm-d0298bfe4a8d31a6.rlib(rustc_codegen_llvm-d0298bfe4a8d31a6.4tgytcm0fnpf9ska.rcgu.o):(rustc_codegen_ssa::base::maybe_create_entry_wrapper::<rustc_codegen_llvm::builder::Builder>)
          >>> referenced by compiler\rustc_codegen_llvm\src/declare.rs:76
          >>>               librustc_codegen_llvm-d0298bfe4a8d31a6.rlib(rustc_codegen_llvm-d0298bfe4a8d31a6.4tgytcm0fnpf9ska.rcgu.o):(rustc_codegen_ssa::base::maybe_create_entry_wrapper::<rustc_codegen_llvm::builder::Builder>)

          ld.lld: error: undefined symbol: <core::iter::adapters::map::Map<core::ops::range::Range<usize>, <rustc_metadata::rmeta::Lazy<[rustc_ast::ast::Attribute], usize>>::decode<(rustc_metadata::creader::CrateMetadataRef, &rustc_session::session::Session)>::{closure#0}> as core::iter::traits::iterator::Iterator>::try_fold::<(), core::iter::traits::iterator::Iterator::find::check<rustc_ast::ast::Attribute, <rustc_resolve::Resolver>::legacy_const_generic_args::{closure#0}::{closure#0}>::{closure#0}, core::ops::control_flow::ControlFlow<rustc_ast::ast::Attribute>>
          >>> referenced by C:\msys64\home\we\rust\library\core\src\iter\traits/iterator.rs:2463
          >>>               librustc_resolve-fac19ceb16326411.rlib(rustc_resolve-fac19ceb16326411.38k7y9bat2xg6222.rcgu.o):(<rustc_resolve::Resolver>::legacy_const_generic_args::{closure#0})

          ld.lld: error: undefined symbol: core::ptr::drop_in_place::<alloc::boxed::Box<rustc_ast::ast::Expr>> (.llvm.12350409468421822947)
          >>> referenced by C:\msys64\home\we\rust\library\core\src\ptr/mod.rs:0
          >>>               librustc_codegen_ssa-d1f61af6eec07775.rlib(rustc_codegen_ssa-d1f61af6eec07775.tftlaxklz1dark3.rcgu.o):(core::ptr::drop_in_place::<rustc_ast::ast::ExprKind>)
          collect2.exe: error: ld returned 1 exit status


error: could not compile `rustc_driver` due to previous error

@RalfJung
Copy link
Member

RalfJung commented Feb 6, 2023

This is particularly likely to happen when the build process is interrupted, e.g. via Ctrl-C

@RalfJung
Copy link
Member

RalfJung commented Nov 28, 2023

I'm running into the Ctrl-C issue fairly regularly. It's quite frustrating when a simple ./x.py fmt is blocked on a long-running build job but one can't cancel the build job since that poisons the cache in really hard to fix ways... and the chances of getting a poisoned cache when doing Ctrl-C while rustc is being built are very high.

Cc @rust-lang/wg-incr-comp is there anything that can be done to make rustc be "Ctrl-C safe", or least not as blatantly "Ctrl-C unsafe" as it is today?

@michaelwoerister
Copy link
Member

We could start to collect some data on what the root cause might be:

  • Does the interruption have to happen while the linker is running for this to occur?
  • Does this only happen when optimizations & ThinLTO are enabled?

@RalfJung
Copy link
Member

RalfJung commented Nov 28, 2023

Does the interruption have to happen while the linker is running for this to occur?

When does the linker run?

I have this occur regularly when I interrupt while half a dozen rustc_ crates are still being built. I think the linker only runs once at the end for the main rustc binary? If that is the case, then the answer to this question is "no".

@michaelwoerister
Copy link
Member

Yes, that sounds right.

Incr. comp. protects itself against cache corruption by writing everything to a temporary session directory and only when things have reached a valid state, it will "commit" that directory, so it will be used by subsequent compilation sessions. One cause for the problem might be that rustc declares the state to be valid too early, e.g. while LLVM or rustc itself are still in the process of writing files to disk. Or that the interruption is not recognized as a failure and a half-written object file or LLVM bitcode file is cached.

I'm wondering if we can narrow down where exactly the interruption needs to happen for this to occur.

@saethlin
Copy link
Member

Are people still running into this? I'm trying to reproduce it and no luck yet.

@Steveplays28
Copy link

Steveplays28 commented Nov 9, 2024

I'm running into this issue consistently on rustc 1.84.0-nightly (b91a3a056 2024-11-07), I can reproduce it using cargo watch -x 'run'.
My project is a Bevy v0.14 project with the following .cargo/config.toml:

[target.x86_64-unknown-linux-gnu]
linker = "clang"
rustflags = [
	"-Clink-arg=-fuse-ld=/usr/bin/mold",
	"-Zshare-generics=y",
	"-Zthreads=0",
]

[target.x86_64-apple-darwin]
rustflags = ["-Zshare-generics=y", "-Zthreads=0"]

[target.aarch64-apple-darwin]
rustflags = ["-Zshare-generics=y", "-Zthreads=0"]

[target.x86_64-pc-windows-msvc]
linker = "rust-lld.exe"

[alias]
ci = "run --package ci --"

The note below the error:

note: rust-lld: error: undefined symbol: anon.943fccffe3bb9e72564e62487959bf2b.4.llvm.861820981140804743␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\alloc\src\vec\spec_from_iter_nested.rs:62␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.3k4lyzcfsw3ol3dbx5o7bixv7.rcgu.o):(_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec..spec_from_iter_nested..SpecFromIterNested$LT$T$C$I$GT$$GT$::from_iter::hf6d67dfa0f06f7b1)␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\alloc\src\vec\mod.rs:3551␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.3k4lyzcfsw3ol3dbx5o7bixv7.rcgu.o):(alloc::vec::Vec$LT$T$C$A$GT$::extend_trusted::h0fa532119f7f92bd)␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\alloc\src\vec\spec_extend.rs:29␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.3k4lyzcfsw3ol3dbx5o7bixv7.rcgu.o):(_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$T$C$I$GT$$GT$::spec_extend::hf85c8b52d6efdc12)␍
          ␍
          rust-lld: error: undefined symbol: anon.19abbfa39b4f89eafddd7ac73b765301.9.llvm.1621929927735906967␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\alloc\src\sync.rs:1886␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.8i9visw8wjnrz5mhhla7i8vot.rcgu.o):(alloc::sync::Arc$LT$T$C$A$GT$::drop_slow::h263f3e75f4486f02)␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\alloc\src\sync.rs:1886␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.8i9visw8wjnrz5mhhla7i8vot.rcgu.o):(alloc::sync::Arc$LT$T$C$A$GT$::drop_slow::h2b34f191adfa394e)␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\alloc\src\sync.rs:1886␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.8i9visw8wjnrz5mhhla7i8vot.rcgu.o):(alloc::sync::Arc$LT$T$C$A$GT$::drop_slow::h44e7b2d28f76cb18)␍
          >>> referenced 17 more times␍
          ␍
          rust-lld: error: undefined symbol: anon.19abbfa39b4f89eafddd7ac73b765301.27.llvm.1621929927735906967␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\alloc\src\sync.rs:1885␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.8i9visw8wjnrz5mhhla7i8vot.rcgu.o):(alloc::sync::Arc$LT$T$C$A$GT$::drop_slow::h9cefb366b6b1cdc1)␍
          ␍
          rust-lld: error: undefined symbol: core::ptr::drop_in_place$LT$alloc..boxed..Box$LT$dyn$u20$bevy_ecs..schedule..executor..SystemExecutor$GT$$GT$::h4e8e775c12e8fdf3 (.llvm.1621929927735906967)␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:521␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.5nr10ruw2io88th7gqjo7ppys.rcgu.o):(core::ptr::drop_in_place$LT$$LP$bevy_ecs..intern..Interned$LT$dyn$u20$bevy_ecs..schedule..set..ScheduleLabel$GT$$C$bevy_ecs..schedule..schedule..Schedule$RP$$GT$::h03195623338b0eda)␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:521␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.5nr10ruw2io88th7gqjo7ppys.rcgu.o):(?dtor$4@?0?_ZN4core3ptr150drop_in_place$LT$$LP$bevy_ecs..intern..Interned$LT$dyn$u20$bevy_ecs..schedule..set..ScheduleLabel$GT$$C$bevy_ecs..schedule..schedule..Schedule$RP$$GT$17h03195623338b0edaE@4HA)␍
          ␍
          rust-lld: error: undefined symbol: core::ptr::drop_in_place$LT$crossbeam_channel..waker..Waker$GT$::h52f219e6a748c332 (.llvm.1621929927735906967)␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossbeam-channel-0.5.13\src\counter.rs:72␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.5t01dp0jcdgiwsh1gv9feo4gn.rcgu.o):(crossbeam_channel::counter::Sender$LT$C$GT$::release::h023bbb3c29a75da8)␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossbeam-channel-0.5.13\src\counter.rs:72␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.5t01dp0jcdgiwsh1gv9feo4gn.rcgu.o):(crossbeam_channel::counter::Sender$LT$C$GT$::release::h023bbb3c29a75da8)␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossbeam-channel-0.5.13\src\counter.rs:72␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.5t01dp0jcdgiwsh1gv9feo4gn.rcgu.o):(?dtor$8@?0?_ZN17crossbeam_channel7counter15Sender$LT$C$GT$7release17h023bbb3c29a75da8E@4HA)␍
          >>> referenced 32 more times␍
          ␍
          rust-lld: error: undefined symbol: anon.19abbfa39b4f89eafddd7ac73b765301.30.llvm.1621929927735906967␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossbeam-channel-0.5.13\src\counter.rs:72␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.5t01dp0jcdgiwsh1gv9feo4gn.rcgu.o):(crossbeam_channel::counter::Sender$LT$C$GT$::release::h5dcff8e198f9ff35)␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossbeam-channel-0.5.13\src\counter.rs:72␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.5t01dp0jcdgiwsh1gv9feo4gn.rcgu.o):(crossbeam_channel::counter::Sender$LT$C$GT$::release::h97dcde64118519b6)␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossbeam-channel-0.5.13\src\counter.rs:72␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.5t01dp0jcdgiwsh1gv9feo4gn.rcgu.o):(crossbeam_channel::counter::Sender$LT$C$GT$::release::h9b726762ec6a8f4a)␍
          >>> referenced 4 more times␍
          ␍
          rust-lld: error: undefined symbol: anon.19abbfa39b4f89eafddd7ac73b765301.31.llvm.1621929927735906967␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossbeam-channel-0.5.13\src\counter.rs:72␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.5t01dp0jcdgiwsh1gv9feo4gn.rcgu.o):(crossbeam_channel::counter::Sender$LT$C$GT$::release::h5dcff8e198f9ff35)␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossbeam-channel-0.5.13\src\counter.rs:72␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.5t01dp0jcdgiwsh1gv9feo4gn.rcgu.o):(crossbeam_channel::counter::Sender$LT$C$GT$::release::h97dcde64118519b6)␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossbeam-channel-0.5.13\src\counter.rs:72␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.5t01dp0jcdgiwsh1gv9feo4gn.rcgu.o):(crossbeam_channel::counter::Sender$LT$C$GT$::release::h9b726762ec6a8f4a)␍
          >>> referenced 4 more times␍
          ␍
          rust-lld: error: undefined symbol: core::ptr::drop_in_place$LT$crossbeam_channel..waker..SyncWaker$GT$::h49fb35caeb9aa26f (.llvm.1621929927735906967)␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossbeam-channel-0.5.13\src\counter.rs:72␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.5t01dp0jcdgiwsh1gv9feo4gn.rcgu.o):(?dtor$15@?0?_ZN17crossbeam_channel7counter15Sender$LT$C$GT$7release17h5dcff8e198f9ff35E@4HA)␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossbeam-channel-0.5.13\src\counter.rs:72␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.5t01dp0jcdgiwsh1gv9feo4gn.rcgu.o):(?dtor$15@?0?_ZN17crossbeam_channel7counter15Sender$LT$C$GT$7release17h97dcde64118519b6E@4HA)␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossbeam-channel-0.5.13\src\counter.rs:72␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.5t01dp0jcdgiwsh1gv9feo4gn.rcgu.o):(?dtor$15@?0?_ZN17crossbeam_channel7counter15Sender$LT$C$GT$7release17h9b726762ec6a8f4aE@4HA)␍
          >>> referenced 4 more times␍
          ␍
          rust-lld: error: undefined symbol: anon.c8dcd6e2a94e9ad72caa5b9f5bdbbd16.73.llvm.2061661368713964738␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.cargo\registry\src\index.crates.io-6f17d22bba15001f\bevy_render-0.14.2\src\render_resource\bind_group.rs:311␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.1wheyolieg3oayrdy9rt46d7s.rcgu.o):(bevy_render::render_resource::bind_group::AsBindGroup::as_bind_group::hfeb88b04875f1465)␍
          ␍
          rust-lld: error: undefined symbol: core::ptr::drop_in_place$LT$alloc..boxed..Box$LT$dyn$u20$core..any..Any$u2b$core..marker..Sync$u2b$core..marker..Send$GT$$GT$::h57909d9758e272e9 (.llvm.1621929927735906967)␍
          >>> referenced by D:\Repos\voxel_project\src\renderers\ray_tracer\node.rs:107␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.0sw5y1qzgxe19x7jvzcplqq05.rcgu.o):(_$LT$voxel_project..renderers..ray_tracer..node..RayTracerNode$u20$as$u20$bevy_render..render_graph..node..Node$GT$::run::h5a5d343d2e90115e)␍
          >>> referenced by D:\Repos\voxel_project\src\renderers\ray_tracer\node.rs:107␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.0sw5y1qzgxe19x7jvzcplqq05.rcgu.o):(?dtor$120@?0?_ZN115_$LT$voxel_project..renderers..ray_tracer..node..RayTracerNode$u20$as$u20$bevy_render..render_graph..node..Node$GT$3run17h5a5d343d2e90115eE@4HA)␍
          ␍
          rust-lld: error: undefined symbol: core::ptr::drop_in_place$LT$async_executor..Executor..spawn_inner$LT$$LP$$RP$$C$bevy_asset..server..AssetServer..load_with_meta_transform$LT$bevy_render..render_resource..shader..Shader$C$$LP$$RP$$C$$RF$str$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$::h61e343aef7e4dd31 (.llvm.1621929927735906967)␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.cargo\registry\src\index.crates.io-6f17d22bba15001f\async-task-4.7.1\src\raw.rs:447␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.c271bs07aj7b1oyvonedja8h8.rcgu.o):(async_task::raw::RawTask$LT$F$C$T$C$S$C$M$GT$::drop_future::h1b8be430d6a984c7)␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.cargo\registry\src\index.crates.io-6f17d22bba15001f\async-task-4.7.1\src\raw.rs:498␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.c271bs07aj7b1oyvonedja8h8.rcgu.o):($ehgcr_10_36)␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.cargo\registry\src\index.crates.io-6f17d22bba15001f\async-task-4.7.1\src\raw.rs:628␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.c271bs07aj7b1oyvonedja8h8.rcgu.o):($ehgcr_10_36)␍
          >>> referenced 1 more times␍
          ␍
          rust-lld: error: undefined symbol: _$LT$alloc..boxed..Box$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::h2324b20dae25d31b (.llvm.1621929927735906967)␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.cargo\registry\src\index.crates.io-6f17d22bba15001f\async-task-4.7.1\src\raw.rs:447␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.c271bs07aj7b1oyvonedja8h8.rcgu.o):(?dtor$5@?0?_ZN10async_task3raw28RawTask$LT$F$C$T$C$S$C$M$GT$11drop_future17h1b8be430d6a984c7E@4HA)␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.cargo\registry\src\index.crates.io-6f17d22bba15001f\async-task-4.7.1\src\raw.rs:498␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.c271bs07aj7b1oyvonedja8h8.rcgu.o):(?dtor$24@?0?_ZN10async_task3raw28RawTask$LT$F$C$T$C$S$C$M$GT$3run17h98fabd5ac38b2f3dE@4HA)␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.cargo\registry\src\index.crates.io-6f17d22bba15001f\async-task-4.7.1\src\raw.rs:566␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.c271bs07aj7b1oyvonedja8h8.rcgu.o):(?dtor$48@?0?_ZN10async_task3raw28RawTask$LT$F$C$T$C$S$C$M$GT$3run17h98fabd5ac38b2f3dE@4HA)␍
          >>> referenced 1 more times␍
          ␍
          rust-lld: error: undefined symbol: anon.19abbfa39b4f89eafddd7ac73b765301.4.llvm.1621929927735906967␍
          >>> referenced by C:\ProgramData\scoop\persist\rustup\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\slice\sort\shared\smallsort.rs:576␍
          >>>               libvoxel_project-6ff1bb4d769cfe22.rlib(voxel_project-6ff1bb4d769cfe22.eh897xgfliomu6k2zhxuuq3m4.rcgu.o):(core::slice::sort::shared::smallsort::insert_tail::h8d3362240683c465)␍

@jangler
Copy link

jangler commented Dec 22, 2024

I have this issue regularly using rustc 1.82.0. I used to think I had to do a cargo clean when I encountered it, but now it seems like I can just cargo run again and it works? For me it's usually at random rather than due to an interrupted build.

Edit: encountered again after an interrupt; had to cargo clean.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-contributor-roadblock Area: Makes things more difficult for new contributors to rust itself A-incr-comp Area: Incremental compilation A-linkage Area: linking into static, shared libraries and binaries C-bug Category: This is a bug. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

7 participants