Git Product home page Git Product logo

Comments (6)

dstebila avatar dstebila commented on July 4, 2024 1

Sorry for not responding earlier, this slipped off my radar. It's a known issue that some algorithms in liboqs have large stack usage which cause failures in some scenarios; see the algorithms marked with daggers in the liboqs README. Can you try increasing Rust's stack size, e.g., using https://www.dsfcode.com/posts/increase-rust-stack-size-on-macos/

from liboqs-rust.

mouse07410 avatar mouse07410 commented on July 4, 2024

Idea is good. But

$ export RUSTFLAGS="-C link-args=-Wl,-stack_size,0x80000000 target-feature=+aes,+ssse3,+sse4.1,+sse4.2,+avx2,+pclmulqdq,+rdrand -L/opt/local/lib/liconv -liconv -L/opt/local/lib -lz -lssl -lcrypto -L/Users/ur20980/lib"
$ cargo test
error: failed to run `rustc` to learn about target-specific information

Caused by:
  process didn't exit successfully: `rustc - --crate-name ___ --print=file-names -C link-args=-Wl,-stack_size,0x80000000 target-feature=+aes,+ssse3,+sse4.1,+sse4.2,+avx2,+pclmulqdq,+rdrand -L/opt/local/lib/liconv -liconv -L/opt/local/lib -lz -lssl -lcrypto -L/Users/ur20980/lib --crate-type bin --crate-type rlib --crate-type dylib --crate-type cdylib --crate-type staticlib --crate-type proc-macro --print=sysroot --print=cfg` (exit status: 1)
  --- stderr
  error: multiple input filenames provided (first two filenames are `-` and `target-feature=+aes,+ssse3,+sse4.1,+sse4.2,+avx2,+pclmulqdq,+rdrand`)

$ export RUSTFLAGS="-C 'link-args=-Wl,-stack_size,0x80000000' target-feature=+aes,+ssse3,+sse4.1,+sse4.2,+avx2,+pclmulqdq,+rdrand -L/opt/local/lib/liconv -liconv -L/opt/local/lib -lz -lssl -lcrypto -L/Users/ur20980/lib"
$ cargo test
error: failed to run `rustc` to learn about target-specific information

Caused by:
  process didn't exit successfully: `rustc - --crate-name ___ --print=file-names -C ''\''link-args=-Wl,-stack_size,0x80000000'\''' target-feature=+aes,+ssse3,+sse4.1,+sse4.2,+avx2,+pclmulqdq,+rdrand -L/opt/local/lib/liconv -liconv -L/opt/local/lib -lz -lssl -lcrypto -L/Users/ur20980/lib --crate-type bin --crate-type rlib --crate-type dylib --crate-type cdylib --crate-type staticlib --crate-type proc-macro --print=sysroot --print=cfg` (exit status: 1)
  --- stderr
  error: unknown codegen option: `'link-args`

$ 

Update

$ export RUSTFLAGS="-C link-arg='-stack_size,0x80000000' -C target-feature=+aes,+ssse3,+sse4.1,+sse4.2,+avx2,+pclmulqdq,+rdrand"
$ cargo test
  Compiling memchr v2.5.0
   Compiling libc v0.2.126
   .  .  .  .  .
  = note: "cc" "-m64" "-arch" "x86_64" "/Users/ur20980/src/liboqs-rust/target/debug/build/memchr-80594bc7057d0593/build_script_build-80594bc7057d0593.build_script_build.ff762e0f-cgu.0.rcgu.o" "/Users/ur20980/src/liboqs-rust/target/debug/build/memchr-80594bc7057d0593/build_script_build-80594bc7057d0593.build_script_build.ff762e0f-cgu.1.rcgu.o" "/Users/ur20980/src/liboqs-rust/target/debug/build/memchr-80594bc7057d0593/build_script_build-80594bc7057d0593.build_script_build.ff762e0f-cgu.10.rcgu.o" "/Users/ur20980/src/liboqs-rust/target/debug/build/memchr-80594bc7057d0593/build_script_build-80594bc7057d0593.build_script_build.ff762e0f-cgu.11.rcgu.o" "/Users/ur20980/src/liboqs-rust/target/debug/build/memchr-80594bc7057d0593/build_script_build-80594bc7057d0593.build_script_build.ff762e0f-cgu.12.rcgu.o" "/Users/ur20980/src/liboqs-rust/target/debug/build/memchr-80594bc7057d0593/build_script_build-80594bc7057d0593.build_script_build.ff762e0f-cgu.13.rcgu.o" "/Users/ur20980/src/liboqs-rust/target/debug/build/memchr-80594bc7057d0593/build_script_build-80594bc7057d0593.build_script_build.ff762e0f-cgu.14.rcgu.o" "/Users/ur20980/src/liboqs-rust/target/debug/build/memchr-80594bc7057d0593/build_script_build-80594bc7057d0593.build_script_build.ff762e0f-cgu.15.rcgu.o" "/Users/ur20980/src/liboqs-rust/target/debug/build/memchr-80594bc7057d0593/build_script_build-80594bc7057d0593.build_script_build.ff762e0f-cgu.2.rcgu.o" "/Users/ur20980/src/liboqs-rust/target/debug/build/memchr-80594bc7057d0593/build_script_build-80594bc7057d0593.build_script_build.ff762e0f-cgu.3.rcgu.o" "/Users/ur20980/src/liboqs-rust/target/debug/build/memchr-80594bc7057d0593/build_script_build-80594bc7057d0593.build_script_build.ff762e0f-cgu.4.rcgu.o" "/Users/ur20980/src/liboqs-rust/target/debug/build/memchr-80594bc7057d0593/build_script_build-80594bc7057d0593.build_script_build.ff762e0f-cgu.5.rcgu.o" "/Users/ur20980/src/liboqs-rust/target/debug/build/memchr-80594bc7057d0593/build_script_build-80594bc7057d0593.build_script_build.ff762e0f-cgu.6.rcgu.o" "/Users/ur20980/src/liboqs-rust/target/debug/build/memchr-80594bc7057d0593/build_script_build-80594bc7057d0593.build_script_build.ff762e0f-cgu.7.rcgu.o" "/Users/ur20980/src/liboqs-rust/target/debug/build/memchr-80594bc7057d0593/build_script_build-80594bc7057d0593.build_script_build.ff762e0f-cgu.8.rcgu.o" "/Users/ur20980/src/liboqs-rust/target/debug/build/memchr-80594bc7057d0593/build_script_build-80594bc7057d0593.build_script_build.ff762e0f-cgu.9.rcgu.o" "/Users/ur20980/src/liboqs-rust/target/debug/build/memchr-80594bc7057d0593/build_script_build-80594bc7057d0593.4y5567yq1kcca85i.rcgu.o" "-L" "/Users/ur20980/src/liboqs-rust/target/debug/deps" "-L" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/libstd-5ae51653233c3123.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/libpanic_unwind-824f33e42152e8ad.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/libobject-69ae51926f10bb57.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/libmemchr-245445c928190b80.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/libaddr2line-a0343ede66331927.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/libgimli-d18052b3f2c44799.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/librustc_demangle-214396c7455eebbc.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/libstd_detect-04fe1d4ba8284309.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/libhashbrown-bb275db5534b8eac.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/libminiz_oxide-eccddc93df08ba1a.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/libadler-899dcd5e277779e4.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_alloc-f3953770a4f7c260.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/libunwind-04937ee0dc84d4eb.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/libcfg_if-3a8a8629c72cf068.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/liblibc-2c7b579ceb73107a.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/liballoc-efb34ae0db6de1f6.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_core-adb0cf783958c0b5.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/libcore-b338f6e3114cd3ca.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-f3b83820ab311320.rlib" "-lSystem" "-lresolv" "-lc" "-lm" "-liconv" "-L" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib" "-o" "/Users/ur20980/src/liboqs-rust/target/debug/build/memchr-80594bc7057d0593/build_script_build-80594bc7057d0593" "-Wl,-dead_strip" "-nodefaultlibs" "\'-stack_size,0x80000000\'"
  = note: clang: error: no such file or directory: ''-stack_size,0x80000000''
          

error: could not compile `memchr` due to previous error
error: linking with `cc` failed: exit status: 1


$ $ export RUSTFLAGS="-C link-arg='-Wl,-stack_size,0x80000000' -C target-feature=+aes,+ssse3,+sse4.1,+sse4.2,+avx2,+pclmulqdq,+rdrand"
$ cargo test
   Compiling memchr v2.5.0
   Compiling libc v0.2.126
   Compiling glob v0.3.0
   .  .  .
  = note: clang: error: no such file or directory: ''-Wl,-stack_size,0x80000000''
          

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

$ export RUSTFLAGS="-C link-args='-Wl,-stack_size,0x80000000' -C target-feature=+aes,+ssse3,+sse4.1,+sse4.2,+avx2,+pclmulqdq,+rdrand"
$ cargo test
   Compiling memchr v2.5.0
   Compiling libc v0.2.126
   Compiling proc-macro2 v1.0.39
   Compiling log v0.4.17
   Compiling bindgen v0.60.1
   Compiling oqs v0.7.1 (/Users/ur20980/src/liboqs-rust/oqs)
   Compiling clang-sys v1.3.3
   Compiling indexmap v1.8.2
error: linking with `cc` failed: exit status: 1
  |
  = note: "cc" "-m64" "-arch" "x86_64" "/Users/ur20980/src/liboqs-rust/target/debug/build/oqs-4a916d797bf19c4b/build_script_build-4a916d797bf19c4b.1dyakvq5rp6jacle.rcgu.o" "/Users/ur20980/src/liboqs-rust/target/debug/build/oqs-4a916d797bf19c4b/build_script_build-4a916d797bf19c4b.1xxx8623p6hwfxgc.rcgu.o" "/Users/ur20980/src/liboqs-rust/target/debug/build/oqs-4a916d797bf19c4b/build_script_build-4a916d797bf19c4b.31c9ktlg98bnc2yz.rcgu.o" "/Users/ur20980/src/liboqs-rust/target/debug/build/oqs-4a916d797bf19c4b/build_script_build-4a916d797bf19c4b.4rdgujz0slaf81zi.rcgu.o" "/Users/ur20980/src/liboqs-rust/target/debug/build/oqs-4a916d797bf19c4b/build_script_build-4a916d797bf19c4b.4zgj703p1rtbsbyv.rcgu.o" "/Users/ur20980/src/liboqs-rust/target/debug/build/oqs-4a916d797bf19c4b/build_script_build-4a916d797bf19c4b.5bn09wpweo3529w6.rcgu.o" "/Users/ur20980/src/liboqs-rust/target/debug/build/oqs-4a916d797bf19c4b/build_script_build-4a916d797bf19c4b.b9oj3xr2zcv6alg.rcgu.o" "/Users/ur20980/src/liboqs-rust/target/debug/build/oqs-4a916d797bf19c4b/build_script_build-4a916d797bf19c4b.hab0hgp82xdxf0c.rcgu.o" "/Users/ur20980/src/liboqs-rust/target/debug/build/oqs-4a916d797bf19c4b/build_script_build-4a916d797bf19c4b.4ub2lqcfqdzl5kgw.rcgu.o" "-L" "/Users/ur20980/src/liboqs-rust/target/debug/deps" "-L" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/libstd-5ae51653233c3123.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/libpanic_unwind-824f33e42152e8ad.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/libobject-69ae51926f10bb57.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/libmemchr-245445c928190b80.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/libaddr2line-a0343ede66331927.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/libgimli-d18052b3f2c44799.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/librustc_demangle-214396c7455eebbc.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/libstd_detect-04fe1d4ba8284309.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/libhashbrown-bb275db5534b8eac.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/libminiz_oxide-eccddc93df08ba1a.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/libadler-899dcd5e277779e4.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_alloc-f3953770a4f7c260.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/libunwind-04937ee0dc84d4eb.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/libcfg_if-3a8a8629c72cf068.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/liblibc-2c7b579ceb73107a.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/liballoc-efb34ae0db6de1f6.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_core-adb0cf783958c0b5.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/libcore-b338f6e3114cd3ca.rlib" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-f3b83820ab311320.rlib" "-lSystem" "-lresolv" "-lc" "-lm" "-liconv" "-L" "/opt/local/lib/rustlib/x86_64-apple-darwin/lib" "-o" "/Users/ur20980/src/liboqs-rust/target/debug/build/oqs-4a916d797bf19c4b/build_script_build-4a916d797bf19c4b" "-Wl,-dead_strip" "-nodefaultlibs" "\'-Wl,-stack_size,0x80000000\'"
  = note: clang: error: no such file or directory: ''-Wl,-stack_size,0x80000000''
          

error: linking with `cc` failed: exit status: 1

from liboqs-rust.

mouse07410 avatar mouse07410 commented on July 4, 2024

Update 2

Now, after more struggling with how to pass these flags through Cargo, it compiles - but exhibits the same (?) stack overflow problem:

$ export RUSTFLAGS="-C link-args=-Wl,-stack_size,0x80000000 -C target-feature=+aes,+ssse3,+sse4.1,+sse4.2,+avx2,+pclmulqdq,+rdrand"
$ vi ~/.bash_profile
$ source !!:$
source ~/.bash_profile
$ cargo test
   Compiling memchr v2.5.0
   Compiling libc v0.2.126
   Compiling glob v0.3.0
   Compiling autocfg v1.1.0
   Compiling cfg-if v1.0.0
   Compiling log v0.4.17
   .  .  .  .  .
   Compiling oqs-sys v0.7.1 (/Users/ur20980/src/liboqs-rust/oqs-sys)
warning: You may need to specify OPENSSL_ROOT_DIR or disable the default `openssl` feature.
    Finished test [unoptimized + debuginfo] target(s) in 53.18s
     Running unittests src/lib.rs (target/debug/deps/oqs-efd60abe37588300)

running 614 tests
test kem::BikeL1::test_version ... ok
test kem::BikeL3::test_enabled ... ok
test kem::BikeL1::test_enabled ... ok
test kem::BikeL3::test_get_algorithm_back ... ok
test kem::BikeL1::test_get_algorithm_back ... ok
test kem::BikeL3::test_version ... ok
test kem::BikeL1::test_name ... ok
test kem::ClassicMcEliece348864::test_enabled ... ok
test kem::BikeL3::test_name ... ok
test kem::ClassicMcEliece348864::test_get_algorithm_back ... ok
test kem::ClassicMcEliece348864::test_name ... ok
test kem::ClassicMcEliece348864f::test_enabled ... ok
test kem::ClassicMcEliece348864::test_version ... ok
test kem::ClassicMcEliece348864f::test_get_algorithm_back ... ok
test kem::ClassicMcEliece348864f::test_name ... ok
test kem::ClassicMcEliece348864f::test_version ... ok
test kem::ClassicMcEliece460896::test_enabled ... ok
test kem::ClassicMcEliece460896::test_get_algorithm_back ... ok
test kem::ClassicMcEliece460896::test_name ... ok
test kem::ClassicMcEliece460896::test_version ... ok
test kem::ClassicMcEliece460896f::test_enabled ... ok
test kem::ClassicMcEliece460896f::test_get_algorithm_back ... ok
test kem::ClassicMcEliece460896f::test_name ... ok
test kem::ClassicMcEliece460896f::test_version ... ok
test kem::ClassicMcEliece6688128::test_enabled ... ok
test kem::ClassicMcEliece6688128::test_get_algorithm_back ... ok
test kem::ClassicMcEliece6688128::test_name ... ok
test kem::ClassicMcEliece6688128::test_version ... ok
test kem::ClassicMcEliece6688128f::test_enabled ... ok
test kem::ClassicMcEliece6688128f::test_get_algorithm_back ... ok
test kem::ClassicMcEliece6688128f::test_name ... ok
test kem::ClassicMcEliece6688128f::test_version ... ok
test kem::ClassicMcEliece6960119::test_enabled ... ok
test kem::ClassicMcEliece6960119::test_get_algorithm_back ... ok
test kem::ClassicMcEliece6960119::test_name ... ok
test kem::ClassicMcEliece6960119::test_version ... ok
test kem::ClassicMcEliece6960119f::test_enabled ... ok
test kem::ClassicMcEliece6960119f::test_get_algorithm_back ... ok
test kem::ClassicMcEliece6960119f::test_name ... ok
test kem::ClassicMcEliece6960119f::test_version ... ok
test kem::ClassicMcEliece8192128::test_enabled ... ok
test kem::ClassicMcEliece8192128::test_get_algorithm_back ... ok
test kem::ClassicMcEliece8192128::test_name ... ok
test kem::ClassicMcEliece8192128::test_version ... ok
test kem::ClassicMcEliece8192128f::test_enabled ... ok
test kem::ClassicMcEliece8192128f::test_get_algorithm_back ... ok
test kem::ClassicMcEliece8192128f::test_name ... ok
test kem::ClassicMcEliece8192128f::test_version ... ok
test kem::Firesaber::test_enabled ... ok
test kem::Firesaber::test_get_algorithm_back ... ok
test kem::Firesaber::test_name ... ok
test kem::Firesaber::test_version ... ok
test kem::FrodoKem1344Aes::test_enabled ... ok
test kem::FrodoKem1344Aes::test_get_algorithm_back ... ok
test kem::FrodoKem1344Aes::test_name ... ok
test kem::FrodoKem1344Aes::test_version ... ok
test kem::FrodoKem1344Shake::test_enabled ... ok
test kem::FrodoKem1344Shake::test_get_algorithm_back ... ok
test kem::FrodoKem1344Shake::test_name ... ok
test kem::FrodoKem1344Shake::test_version ... ok
test kem::FrodoKem640Aes::test_enabled ... ok
test kem::FrodoKem640Aes::test_get_algorithm_back ... ok
test kem::FrodoKem640Aes::test_name ... ok
test kem::FrodoKem640Aes::test_version ... ok
test kem::FrodoKem640Shake::test_enabled ... ok
test kem::FrodoKem640Shake::test_get_algorithm_back ... ok
test kem::FrodoKem640Shake::test_name ... ok
test kem::FrodoKem640Shake::test_version ... ok
test kem::FrodoKem976Aes::test_enabled ... ok
test kem::FrodoKem976Aes::test_get_algorithm_back ... ok
test kem::FrodoKem976Aes::test_name ... ok
test kem::FrodoKem976Aes::test_version ... ok
test kem::FrodoKem976Shake::test_enabled ... ok
test kem::FrodoKem976Shake::test_get_algorithm_back ... ok
test kem::FrodoKem976Shake::test_name ... ok
test kem::FrodoKem976Shake::test_version ... ok
test kem::Hqc128::test_enabled ... ok
test kem::Firesaber::test_encaps_decaps ... ok
test kem::Hqc128::test_get_algorithm_back ... ok
test kem::Hqc128::test_name ... ok
test kem::Hqc128::test_version ... ok
test kem::Hqc192::test_enabled ... ok
test kem::FrodoKem640Aes::test_encaps_decaps ... ok
test kem::BikeL1::test_encaps_decaps ... ok
test kem::Hqc128::test_encaps_decaps ... ok
test kem::Hqc192::test_get_algorithm_back ... ok
test kem::Hqc192::test_version ... ok
test kem::Hqc192::test_name ... ok
test kem::Hqc256::test_enabled ... ok
test kem::Hqc256::test_get_algorithm_back ... ok
test kem::Hqc256::test_name ... ok
test kem::Hqc256::test_version ... ok
test kem::Kyber1024::test_enabled ... ok
test kem::Kyber1024::test_encaps_decaps ... ok
test kem::Kyber1024::test_get_algorithm_back ... ok
test kem::FrodoKem640Shake::test_encaps_decaps ... ok
test kem::Kyber1024::test_name ... ok
test kem::Kyber1024::test_version ... ok
test kem::FrodoKem976Aes::test_encaps_decaps ... ok
test kem::Hqc192::test_encaps_decaps ... ok
test kem::Kyber1024_90s::test_enabled ... ok
test kem::Kyber1024_90s::test_get_algorithm_back ... ok
test kem::Kyber1024_90s::test_name ... ok
test kem::Kyber1024_90s::test_version ... ok
test kem::Kyber512::test_enabled ... ok
test kem::Kyber512::test_get_algorithm_back ... ok
test kem::Kyber1024_90s::test_encaps_decaps ... ok
test kem::Kyber512::test_version ... ok
test kem::Kyber512::test_name ... ok
test kem::Kyber512::test_encaps_decaps ... ok
test kem::Kyber512_90s::test_enabled ... ok
test kem::BikeL3::test_encaps_decaps ... ok
test kem::Kyber512_90s::test_get_algorithm_back ... ok
test kem::Kyber512_90s::test_name ... ok
test kem::Kyber512_90s::test_version ... ok
test kem::Kyber768::test_enabled ... ok
test kem::Kyber512_90s::test_encaps_decaps ... ok
test kem::Kyber768::test_get_algorithm_back ... ok
test kem::Kyber768::test_name ... ok
test kem::Kyber768::test_version ... ok
test kem::Kyber768_90s::test_enabled ... ok
test kem::Kyber768::test_encaps_decaps ... ok
test kem::Kyber768_90s::test_get_algorithm_back ... ok
test kem::Kyber768_90s::test_name ... ok
test kem::Kyber768_90s::test_version ... ok
test kem::Lightsaber::test_enabled ... ok
test kem::Kyber768_90s::test_encaps_decaps ... ok
test kem::Lightsaber::test_get_algorithm_back ... ok
test kem::Lightsaber::test_name ... ok
test kem::Lightsaber::test_version ... ok
test kem::NtruHps2048509::test_enabled ... ok
test kem::NtruHps2048509::test_get_algorithm_back ... ok
test kem::Lightsaber::test_encaps_decaps ... ok
test kem::NtruHps2048509::test_version ... ok
test kem::NtruHps2048509::test_name ... ok
test kem::NtruHps2048677::test_enabled ... ok
test kem::NtruHps2048677::test_get_algorithm_back ... ok
test kem::NtruHps2048677::test_name ... ok
test kem::NtruHps2048677::test_version ... ok
test kem::NtruHps40961229::test_enabled ... ok
test kem::NtruHps2048509::test_encaps_decaps ... ok
test kem::NtruHps40961229::test_get_algorithm_back ... ok
test kem::NtruHps40961229::test_name ... ok
test kem::NtruHps40961229::test_version ... ok
test kem::NtruHps4096821::test_enabled ... ok
test kem::NtruHps4096821::test_get_algorithm_back ... ok
test kem::NtruHps4096821::test_name ... ok
test kem::NtruHps2048677::test_encaps_decaps ... ok
test kem::NtruHps4096821::test_version ... ok
test kem::NtruHrss1373::test_enabled ... ok
test kem::NtruHrss1373::test_get_algorithm_back ... ok
test kem::NtruHrss1373::test_version ... ok
test kem::NtruHrss701::test_enabled ... ok
test kem::NtruHrss1373::test_name ... ok
test kem::FrodoKem1344Aes::test_encaps_decaps ... ok
test kem::NtruHrss701::test_get_algorithm_back ... ok
test kem::NtruHps4096821::test_encaps_decaps ... ok
test kem::NtruHrss701::test_name ... ok
test kem::NtruHrss701::test_version ... ok
test kem::NtruPrimeNtrulpr1277::test_enabled ... ok
test kem::NtruPrimeNtrulpr1277::test_get_algorithm_back ... ok
test kem::NtruPrimeNtrulpr1277::test_name ... ok
test kem::NtruPrimeNtrulpr1277::test_version ... ok
test kem::NtruPrimeNtrulpr653::test_enabled ... ok
test kem::NtruHrss701::test_encaps_decaps ... ok
test kem::NtruPrimeNtrulpr653::test_name ... ok
test kem::NtruPrimeNtrulpr653::test_get_algorithm_back ... ok
test kem::NtruPrimeNtrulpr653::test_version ... ok
test kem::NtruPrimeNtrulpr1277::test_encaps_decaps ... ok
test kem::NtruPrimeNtrulpr761::test_enabled ... ok
test kem::Hqc256::test_encaps_decaps ... ok
test kem::NtruPrimeNtrulpr653::test_encaps_decaps ... ok
test kem::NtruPrimeNtrulpr761::test_get_algorithm_back ... ok
test kem::NtruPrimeNtrulpr761::test_name ... ok
test kem::NtruPrimeNtrulpr761::test_version ... ok
test kem::NtruPrimeNtrulpr857::test_enabled ... ok
test kem::NtruPrimeNtrulpr857::test_get_algorithm_back ... ok
test kem::NtruPrimeNtrulpr761::test_encaps_decaps ... ok
test kem::NtruPrimeNtrulpr857::test_name ... ok
test kem::NtruPrimeNtrulpr857::test_version ... ok
test kem::NtruPrimeSntrup1277::test_enabled ... ok
test kem::NtruPrimeSntrup1277::test_get_algorithm_back ... ok
test kem::NtruPrimeSntrup1277::test_name ... ok
test kem::NtruPrimeNtrulpr857::test_encaps_decaps ... ok
test kem::NtruPrimeSntrup1277::test_version ... ok
test kem::NtruPrimeSntrup653::test_enabled ... ok
test kem::NtruPrimeSntrup653::test_get_algorithm_back ... ok
test kem::NtruPrimeSntrup653::test_version ... ok
test kem::NtruPrimeSntrup653::test_name ... ok
test kem::NtruPrimeSntrup761::test_enabled ... ok
test kem::NtruPrimeSntrup761::test_get_algorithm_back ... ok
test kem::FrodoKem976Shake::test_encaps_decaps ... ok
test kem::NtruPrimeSntrup761::test_name ... ok
test kem::NtruPrimeSntrup761::test_version ... ok
test kem::NtruPrimeSntrup857::test_enabled ... ok
test kem::NtruPrimeSntrup857::test_get_algorithm_back ... ok
test kem::NtruPrimeSntrup857::test_name ... ok
test kem::NtruPrimeSntrup857::test_version ... ok
test kem::NtruPrimeSntrup653::test_encaps_decaps ... ok
test kem::Saber::test_enabled ... ok
test kem::Saber::test_get_algorithm_back ... ok
test kem::Saber::test_name ... ok
test kem::Saber::test_version ... ok
test kem::NtruPrimeSntrup761::test_encaps_decaps ... ok
test kem::SidhP434::test_enabled ... ok
test kem::Saber::test_encaps_decaps ... ok
test kem::SidhP434::test_get_algorithm_back ... ok
test kem::SidhP434::test_name ... ok
test kem::SidhP434::test_version ... ok
test kem::SidhP434Compressed::test_enabled ... ok
test kem::NtruPrimeSntrup857::test_encaps_decaps ... ok
test kem::SidhP434Compressed::test_get_algorithm_back ... ok
test kem::SidhP434Compressed::test_version ... ok
test kem::SidhP434Compressed::test_name ... ok
test kem::SidhP503::test_enabled ... ok
test kem::NtruPrimeSntrup1277::test_encaps_decaps ... ok
test kem::SidhP503::test_get_algorithm_back ... ok
test kem::SidhP503::test_name ... ok
test kem::SidhP503::test_version ... ok
test kem::SidhP503Compressed::test_enabled ... ok
test kem::SidhP503Compressed::test_get_algorithm_back ... ok
test kem::SidhP503Compressed::test_name ... ok
test kem::SidhP503Compressed::test_version ... ok
test kem::SidhP610::test_enabled ... ok
test kem::SidhP610::test_get_algorithm_back ... ok
test kem::SidhP610::test_name ... ok
test kem::SidhP610::test_version ... ok
test kem::SidhP610Compressed::test_enabled ... ok
test kem::SidhP610Compressed::test_get_algorithm_back ... ok
test kem::FrodoKem1344Shake::test_encaps_decaps ... ok
test kem::SidhP610Compressed::test_name ... ok
test kem::SidhP610Compressed::test_version ... ok
test kem::SidhP751::test_enabled ... ok
test kem::SidhP751::test_get_algorithm_back ... ok

thread 'kem::ClassicMcEliece8192128::test_encaps_decaps' has overflowed its stack
fatal runtime error: stack overflow
error: test failed, to rerun pass '-p oqs --lib'

Caused by:
  process didn't exit successfully: `/Users/ur20980/src/liboqs-rust/target/debug/deps/oqs-efd60abe37588300` (signal: 6, SIGABRT: process abort signal)
$ 
$ otool -lV target/debug/deps/oqs-efd60abe37588300 | grep stacksize
 stacksize 2147483648
$ 

from liboqs-rust.

thomwiggers avatar thomwiggers commented on July 4, 2024

Hi, I was on vacation for the last four weeks so I couldn't get to this.

The Rust test runner spawns threads with a stack limit of 2 MB. The only way to override this is by specifying an environment variable as documented in the README and in the McEliece manual pages.

You should not need the linker flags.

from liboqs-rust.

mouse07410 avatar mouse07410 commented on July 4, 2024

@thomwiggers You are correct - setting env var RUST_MIN_STACK=800000000 resolved this issue.

from liboqs-rust.

thomwiggers avatar thomwiggers commented on July 4, 2024

(The number 80000... is just a random big enough number by the way, by no means the minimum)

from liboqs-rust.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.