Skip to content
This repository was archived by the owner on Apr 28, 2025. It is now read-only.

error: detected panic in function remainderf #201

Closed
tesuji opened this issue Jul 7, 2019 · 4 comments · Fixed by #543
Closed

error: detected panic in function remainderf #201

tesuji opened this issue Jul 7, 2019 · 4 comments · Fixed by #543

Comments

@tesuji
Copy link

tesuji commented Jul 7, 2019

Run this with commit f43bc0d.

% cargo test --features musl-reference-tests --release
   Compiling libm v0.2.0 (/home/lzutao/forked/rust/libm)
error: linking with `cc` failed: exit code: 1
  |
  = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/home/lzutao/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/home/lzutao/forked/rust/libm/target/release/deps/libm-63fa142dcce8af2c.libm.30ixsbme-cgu.0.rcgu.o" "/home/lzutao/forked/rust/libm/target/release/deps/libm-63fa142dcce8af2c.libm.30ixsbme-cgu.1.rcgu.o" "/home/lzutao/forked/rust/libm/target/release/deps/libm-63fa142dcce8af2c.libm.30ixsbme-cgu.10.rcgu.o" "/home/lzutao/forked/rust/libm/target/release/deps/libm-63fa142dcce8af2c.libm.30ixsbme-cgu.11.rcgu.o" "/home/lzutao/forked/rust/libm/target/release/deps/libm-63fa142dcce8af2c.libm.30ixsbme-cgu.12.rcgu.o" "/home/lzutao/forked/rust/libm/target/release/deps/libm-63fa142dcce8af2c.libm.30ixsbme-cgu.13.rcgu.o" "/home/lzutao/forked/rust/libm/target/release/deps/libm-63fa142dcce8af2c.libm.30ixsbme-cgu.14.rcgu.o" "/home/lzutao/forked/rust/libm/target/release/deps/libm-63fa142dcce8af2c.libm.30ixsbme-cgu.15.rcgu.o" "/home/lzutao/forked/rust/libm/target/release/deps/libm-63fa142dcce8af2c.libm.30ixsbme-cgu.2.rcgu.o" "/home/lzutao/forked/rust/libm/target/release/deps/libm-63fa142dcce8af2c.libm.30ixsbme-cgu.3.rcgu.o" "/home/lzutao/forked/rust/libm/target/release/deps/libm-63fa142dcce8af2c.libm.30ixsbme-cgu.4.rcgu.o" "/home/lzutao/forked/rust/libm/target/release/deps/libm-63fa142dcce8af2c.libm.30ixsbme-cgu.5.rcgu.o" "/home/lzutao/forked/rust/libm/target/release/deps/libm-63fa142dcce8af2c.libm.30ixsbme-cgu.6.rcgu.o" "/home/lzutao/forked/rust/libm/target/release/deps/libm-63fa142dcce8af2c.libm.30ixsbme-cgu.7.rcgu.o" "/home/lzutao/forked/rust/libm/target/release/deps/libm-63fa142dcce8af2c.libm.30ixsbme-cgu.8.rcgu.o" "/home/lzutao/forked/rust/libm/target/release/deps/libm-63fa142dcce8af2c.libm.30ixsbme-cgu.9.rcgu.o" "-o" "/home/lzutao/forked/rust/libm/target/release/deps/libm-63fa142dcce8af2c" "/home/lzutao/forked/rust/libm/target/release/deps/libm-63fa142dcce8af2c.5adakcrby8h8x6n2.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-Wl,-O1" "-nodefaultlibs" "-L" "/home/lzutao/forked/rust/libm/target/release/deps" "-L" "/home/lzutao/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/lzutao/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-d11f8223c43b0c21.rlib" "/home/lzutao/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libterm-f90d531ee174a894.rlib" "/home/lzutao/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-bab2c97e0ec4c812.rlib" "/home/lzutao/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-0207b1dba79a86b9.rlib" "-Wl,--start-group" "/home/lzutao/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-623a6dc23f9cb558.rlib" "/home/lzutao/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-862860ba17d4a376.rlib" "/home/lzutao/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace-84d204dc20d28a21.rlib" "/home/lzutao/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace_sys-d7f4a94756d90f61.rlib" "/home/lzutao/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-74425e3f3d79d417.rlib" "/home/lzutao/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-6ea6570cade36603.rlib" "/home/lzutao/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-cd8fc47e9b83cca0.rlib" "/home/lzutao/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-58ae00f8c1022396.rlib" "/home/lzutao/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-dbc21f93cc0a5b29.rlib" "/home/lzutao/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-04b52238d74659b4.rlib" "/home/lzutao/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-d00e044b91e465a0.rlib" "/home/lzutao/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-4fd884ff5e34b6c0.rlib" "/home/lzutao/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-437fd3003e58c8ca.rlib" "-Wl,--end-group" "/home/lzutao/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-78f8338ee0fc4c22.rlib" "-Wl,-Bdynamic" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-lutil"
  = note: ld: error: undefined symbol:

          ERROR[no-panic]: detected panic in function `remainder`

          >>> referenced by libm.30ixsbme-cgu.0
          >>>               /home/lzutao/forked/rust/libm/target/release/deps/libm-63fa142dcce8af2c.libm.30ixsbme-cgu.0.rcgu.o:(core::ptr::real_drop_in_place::h63dda0366f3d81af)

          ld: error: undefined symbol:

          ERROR[no-panic]: detected panic in function `remainderf`

          >>> referenced by libm.30ixsbme-cgu.0
          >>>               /home/lzutao/forked/rust/libm/target/release/deps/libm-63fa142dcce8af2c.libm.30ixsbme-cgu.0.rcgu.o:(core::ptr::real_drop_in_place::h9cd79ae393dd6d08)
          clang-9: error: linker command failed with exit code 1 (use -v to see invocation)


error: aborting due to previous error

error: Could not compile `libm`.

To learn more, run the command again with --verbose.
@Schultzer
Copy link
Contributor

Can you please provide some information about your system?

@tesuji
Copy link
Author

tesuji commented Jul 7, 2019

Some info about my system:

% uname -a
Linux gcc122.bak.milne.osuosl.org 4.9.0-9-amd64 #1 SMP Debian 4.9.168-1+deb9u2 (2019-05-13) x86_64 GNU/Linux
% cc --version
clang version 9.0.0 (https://github.com/llvm/llvm-project.git 1094e6a81430e76f0a6b836f52fa6e21726f5e6d)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/lzutao/.local/bin
% rustc -Vv
rustc 1.38.0-nightly (481068a70 2019-07-05)
binary: rustc
commit-hash: 481068a707679257e2a738b40987246e0420e787
commit-date: 2019-07-05
host: x86_64-unknown-linux-gnu
release: 1.38.0-nightly
LLVM version: 8.0

@gnzlbg
Copy link
Contributor

gnzlbg commented Jul 7, 2019

The problem is that remquo is not no_panic: https://github.com/rust-lang-nursery/libm/blob/master/src/math/remquo.rs#L1

Apparently, remquo might panic for some reason. #198 fixes that (by making it no_panic and `extern "C"), but I haven't observed this error there.

Can you try making remquo no_panic in your system, and seeing if you can nail down the error ?

@tesuji
Copy link
Author

tesuji commented Jul 7, 2019

Yay! It worked!

tgross35 added a commit to tgross35/rust-libm that referenced this issue Apr 18, 2025
@tgross35 tgross35 changed the title error: detected panic in function `remainderf error: detected panic in function remainderf Apr 18, 2025
tgross35 added a commit to tgross35/rust-libm that referenced this issue Apr 18, 2025
tgross35 added a commit that referenced this issue Apr 18, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants