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

error: detected panic in function `remainderf #201

Open
tesuji opened this issue Jul 7, 2019 · 4 comments
Open

error: detected panic in function `remainderf #201

tesuji opened this issue Jul 7, 2019 · 4 comments

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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants