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

link.exe "unresolved external symbol" regression on recent nightly #96443

Closed
wesleywiser opened this issue Apr 26, 2022 · 2 comments
Closed

link.exe "unresolved external symbol" regression on recent nightly #96443

wesleywiser opened this issue Apr 26, 2022 · 2 comments
Labels
A-linkage Area: linking into static, shared libraries and binaries C-bug Category: This is a bug. O-windows-msvc Toolchain: MSVC, Operating system: Windows regression-untriaged Untriaged performance or correctness regression.

Comments

@wesleywiser
Copy link
Member

Code

windows-rs fails to compile with a recent nightly.

PS D:\code> git clone https://github.com/microsoft/windows-rs
PS D:\code> cd windows-rs
PS D:\code\windows-rs> git checkout 5ea7a5456c413d7dfbb307f8d38d41df7bc5635b
PS D:\code\windows-rs> cargo +bisector-ci-18b53cefdf7456bf68937b08e377b7e622a115c2-x86_64-pc-windows-msvc test --target i686-pc-windows-msvc -p test_nightly_component

   Compiling proc-macro2 v1.0.24
   Compiling unicode-xid v0.2.1
   Compiling windows-tokens v0.35.0 (D:\code\windows-rs\crates\libs\tokens)
   Compiling syn v1.0.63
   Compiling windows_i686_msvc v0.35.0 (D:\code\windows-rs\crates\targets\i686_msvc)
   Compiling windows-metadata v0.35.0 (D:\code\windows-rs\crates\libs\metadata)
   Compiling quote v1.0.9
   Compiling windows-bindgen v0.35.0 (D:\code\windows-rs\crates\libs\bindgen)
   Compiling windows-implement v0.35.0 (D:\code\windows-rs\crates\libs\implement)
   Compiling test_nightly_component v0.0.0 (D:\code\windows-rs\crates\tests\nightly_component)
   Compiling windows v0.35.0 (D:\code\windows-rs\crates\libs\windows)
error: linking with `link.exe` failed: exit code: 1120
  |
  = note: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Preview\\VC\\Tools\\MSVC\\14.32.31326\\bin\\HostX64\\x86\\link.exe" "/NOLOGO" "/LARGEADDRESSAWARE" "/SAFESEH" "C:\\Users\\WESLEY~1\\AppData\\Local\\Temp\\rustcdxFaCC\\symbols.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.1jwau8yfwos778kx.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.1mbgf7xnqqqdm1pw.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.1r2y3hda2lkwzne5.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.1v691wxag8jnrbcw.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.21gps4pwpvcfhyyz.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.26ch3g69mfyddy25.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.27zagmi7etf5u7rg.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.2hcxsh3wo6hb9v8v.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.2hwpphqh5l1w0nbm.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.2ixnzgqlskakig12.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.2l8hxk3d9erso81k.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.2mivrpvlqhtqij1x.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.2ppka4fghdk7473d.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.2s4wbhyv7tb4e3u1.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.2tteo17o0fnzkmoa.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.2y1rj9s68jtbduiu.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.31rlj5rzft4m1dac.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.397phvs2e5s4xt2h.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.3altxbxbq43x496y.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.3fmtu2eiruplaj4.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.3g0x8kmoszk67l7t.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.3gtpbbgebu23xw6s.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.3hgi0f3h62ua4y76.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.3ks8ncmd59p0xs9v.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.44fc9cn56q47ngpm.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.45lah6k48cucqt12.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.47ebbkzevqks2yfz.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.49ihtwwor19wc024.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.4aaccjrgquossfkb.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.4hxojp3158p4d36n.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.4i0m01rcq3koai6f.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.4iygp3fonzzhwkxc.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.4le8p7fgb1fwv80c.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.4q8ek2vr4ienfifp.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.53y3twoa4gd2fzdw.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.59nq3gexjsu9gg54.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.5d2a6mkwce7ai85w.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.5g4tpyao6s0evo8h.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.7sexhf7zem3l4ob.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.bldmahqnjsmnlt5.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.kbjxbzr4tjsb124.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.ok7ui04mkhdtj8w.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.ri5pan9nlivzjka.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.wlt3s79bet3jzi3.rcgu.o" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.421lbakpaa4vt524.rcgu.o" "/LIBPATH:D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps" "/LIBPATH:D:\\code\\windows-rs\\target\\debug\\deps" "/LIBPATH:D:\\code\\windows-rs\\crates\\targets\\i686_msvc\\lib" "/LIBPATH:C:\\Users\\wesleywiser\\.rustup\\toolchains\\bisector-ci-18b53cefdf7456bf68937b08e377b7e622a115c2-x86_64-pc-windows-msvc\\lib\\rustlib\\i686-pc-windows-msvc\\lib" "C:\\Users\\wesleywiser\\.rustup\\toolchains\\bisector-ci-18b53cefdf7456bf68937b08e377b7e622a115c2-x86_64-pc-windows-msvc\\lib\\rustlib\\i686-pc-windows-msvc\\lib\\libtest-646b79b3aaed06e9.rlib" "C:\\Users\\wesleywiser\\.rustup\\toolchains\\bisector-ci-18b53cefdf7456bf68937b08e377b7e622a115c2-x86_64-pc-windows-msvc\\lib\\rustlib\\i686-pc-windows-msvc\\lib\\libgetopts-9de1a3c7361e10eb.rlib" "C:\\Users\\wesleywiser\\.rustup\\toolchains\\bisector-ci-18b53cefdf7456bf68937b08e377b7e622a115c2-x86_64-pc-windows-msvc\\lib\\rustlib\\i686-pc-windows-msvc\\lib\\libunicode_width-0641c7f7a0735e90.rlib" "C:\\Users\\wesleywiser\\.rustup\\toolchains\\bisector-ci-18b53cefdf7456bf68937b08e377b7e622a115c2-x86_64-pc-windows-msvc\\lib\\rustlib\\i686-pc-windows-msvc\\lib\\librustc_std_workspace_std-cf1fe7deb045df77.rlib" "D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\libwindows-6a374db7a7e4033e.rlib" "C:\\Users\\wesleywiser\\.rustup\\toolchains\\bisector-ci-18b53cefdf7456bf68937b08e377b7e622a115c2-x86_64-pc-windows-msvc\\lib\\rustlib\\i686-pc-windows-msvc\\lib\\libstd-0adef95aa8f07903.rlib" "C:\\Users\\wesleywiser\\.rustup\\toolchains\\bisector-ci-18b53cefdf7456bf68937b08e377b7e622a115c2-x86_64-pc-windows-msvc\\lib\\rustlib\\i686-pc-windows-msvc\\lib\\libpanic_unwind-ab0bca065befddc4.rlib" "C:\\Users\\wesleywiser\\.rustup\\toolchains\\bisector-ci-18b53cefdf7456bf68937b08e377b7e622a115c2-x86_64-pc-windows-msvc\\lib\\rustlib\\i686-pc-windows-msvc\\lib\\librustc_demangle-dcec4cdd2a63c919.rlib" "C:\\Users\\wesleywiser\\.rustup\\toolchains\\bisector-ci-18b53cefdf7456bf68937b08e377b7e622a115c2-x86_64-pc-windows-msvc\\lib\\rustlib\\i686-pc-windows-msvc\\lib\\libstd_detect-8fff6f5d00de2b95.rlib" "C:\\Users\\wesleywiser\\.rustup\\toolchains\\bisector-ci-18b53cefdf7456bf68937b08e377b7e622a115c2-x86_64-pc-windows-msvc\\lib\\rustlib\\i686-pc-windows-msvc\\lib\\libhashbrown-f872efc92748cec8.rlib" "C:\\Users\\wesleywiser\\.rustup\\toolchains\\bisector-ci-18b53cefdf7456bf68937b08e377b7e622a115c2-x86_64-pc-windows-msvc\\lib\\rustlib\\i686-pc-windows-msvc\\lib\\libminiz_oxide-8e94e4de034fbebd.rlib" "C:\\Users\\wesleywiser\\.rustup\\toolchains\\bisector-ci-18b53cefdf7456bf68937b08e377b7e622a115c2-x86_64-pc-windows-msvc\\lib\\rustlib\\i686-pc-windows-msvc\\lib\\libadler-f78c3f16e70234f8.rlib" "C:\\Users\\wesleywiser\\.rustup\\toolchains\\bisector-ci-18b53cefdf7456bf68937b08e377b7e622a115c2-x86_64-pc-windows-msvc\\lib\\rustlib\\i686-pc-windows-msvc\\lib\\librustc_std_workspace_alloc-6d3b9a1b3151391b.rlib" "C:\\Users\\wesleywiser\\.rustup\\toolchains\\bisector-ci-18b53cefdf7456bf68937b08e377b7e622a115c2-x86_64-pc-windows-msvc\\lib\\rustlib\\i686-pc-windows-msvc\\lib\\libunwind-84a3cdb5e37b06fb.rlib" "C:\\Users\\wesleywiser\\.rustup\\toolchains\\bisector-ci-18b53cefdf7456bf68937b08e377b7e622a115c2-x86_64-pc-windows-msvc\\lib\\rustlib\\i686-pc-windows-msvc\\lib\\libcfg_if-1abb77d163a65f1e.rlib" "C:\\Users\\wesleywiser\\.rustup\\toolchains\\bisector-ci-18b53cefdf7456bf68937b08e377b7e622a115c2-x86_64-pc-windows-msvc\\lib\\rustlib\\i686-pc-windows-msvc\\lib\\liblibc-4422d5a75d911a50.rlib" "C:\\Users\\wesleywiser\\.rustup\\toolchains\\bisector-ci-18b53cefdf7456bf68937b08e377b7e622a115c2-x86_64-pc-windows-msvc\\lib\\rustlib\\i686-pc-windows-msvc\\lib\\liballoc-ada8d5022b6c75ea.rlib" "C:\\Users\\wesleywiser\\.rustup\\toolchains\\bisector-ci-18b53cefdf7456bf68937b08e377b7e622a115c2-x86_64-pc-windows-msvc\\lib\\rustlib\\i686-pc-windows-msvc\\lib\\librustc_std_workspace_core-a463996c0bf14c25.rlib" "C:\\Users\\wesleywiser\\.rustup\\toolchains\\bisector-ci-18b53cefdf7456bf68937b08e377b7e622a115c2-x86_64-pc-windows-msvc\\lib\\rustlib\\i686-pc-windows-msvc\\lib\\libcore-01fe738051057f88.rlib" "C:\\Users\\wesleywiser\\.rustup\\toolchains\\bisector-ci-18b53cefdf7456bf68937b08e377b7e622a115c2-x86_64-pc-windows-msvc\\lib\\rustlib\\i686-pc-windows-msvc\\lib\\libcompiler_builtins-c69c6da351649fd8.rlib" "kernel32.lib" "windows.lib" "advapi32.lib" "userenv.lib" "kernel32.lib" "ws2_32.lib" "bcrypt.lib" "msvcrt.lib" "/NXCOMPAT" "/LIBPATH:C:\\Users\\wesleywiser\\.rustup\\toolchains\\bisector-ci-18b53cefdf7456bf68937b08e377b7e622a115c2-x86_64-pc-windows-msvc\\lib\\rustlib\\i686-pc-windows-msvc\\lib" "/OUT:D:\\code\\windows-rs\\target\\i686-pc-windows-msvc\\debug\\deps\\test_nightly_component-19a451a2110914b7.exe" "/OPT:REF,NOICF" "/DEBUG" "/NATVIS:C:\\Users\\wesleywiser\\.rustup\\toolchains\\bisector-ci-18b53cefdf7456bf68937b08e377b7e622a115c2-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\intrinsic.natvis" "/NATVIS:C:\\Users\\wesleywiser\\.rustup\\toolchains\\bisector-ci-18b53cefdf7456bf68937b08e377b7e622a115c2-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\liballoc.natvis" "/NATVIS:C:\\Users\\wesleywiser\\.rustup\\toolchains\\bisector-ci-18b53cefdf7456bf68937b08e377b7e622a115c2-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\libcore.natvis" "/NATVIS:C:\\Users\\wesleywiser\\.rustup\\toolchains\\bisector-ci-18b53cefdf7456bf68937b08e377b7e622a115c2-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\libstd.natvis"
  = note: symbols.o : error LNK2001: unresolved external symbol _DllGetActivationFactory
            Hint on symbols that are defined and could potentially match:
              _DllGetActivationFactory@8
          D:\code\windows-rs\target\i686-pc-windows-msvc\debug\deps\test_nightly_component-19a451a2110914b7.exe : fatal error LNK1120: 1 unresolved externals

I expected to see this happen: compilation succeeds.

Instead, this happened: compilation fails.


cargo-bisect-rustc reports:

Regression in 18b53ce

searched nightlies: from nightly-2022-04-10 to nightly-2022-04-26
regressed nightly: nightly-2022-04-26
searched commits: from 18f314e to 055bf4c
regressed commit: 18b53ce

Regression occurred in #95604 cc @nbdd0121 (PR author)

bisected with cargo-bisect-rustc v0.6.0

Host triple: x86_64-pc-windows-msvc
Reproduce with:

cargo bisect-rustc --start=2022-04-10 --end=2022-04-26 --script=cmd.exe --prompt

@rustbot modify labels: +regression-from-stable-to-nightly -regression-untriaged

@wesleywiser wesleywiser added C-bug Category: This is a bug. regression-untriaged Untriaged performance or correctness regression. A-linkage Area: linking into static, shared libraries and binaries O-windows-msvc Toolchain: MSVC, Operating system: Windows labels Apr 26, 2022
@nbdd0121
Copy link
Contributor

Duplicate of #96423

@wesleywiser
Copy link
Member Author

Oh man, I looked through the PR list briefly before filing but must have skimmed right past that one. Thanks! I'll close in favor of that one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-linkage Area: linking into static, shared libraries and binaries C-bug Category: This is a bug. O-windows-msvc Toolchain: MSVC, Operating system: Windows regression-untriaged Untriaged performance or correctness regression.
Projects
None yet
Development

No branches or pull requests

2 participants