rust-lang / rust-lang/rust

spurious? failure in test-float-parse

Open
#155,518 13 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A-floating-point A-spurious C-bug I-flaky-test O-AArch64 O-apple T-libs
Dominant language
Rust
Stars
119k
Forks
16.1k
PR merge metrics
PR metrics pending

Description

https://triage.rust-lang.org/gha-logs/rust-lang/rust/72001231929

This is on the aarch64-apple runner.

Skipping test 'f16 large positive exponents'
Skipping test 'f16 random digits'
Skipping test 'f16 small exponents'
Skipping test 'f32 exhaustive'
Skipping test 'f32 large positive exponents'
Skipping test 'f32 random digits'
Skipping test 'f32 small exponents'
Skipping test 'f64 fuzz'
Skipping test 'f64 large positive exponents'
Skipping test 'f64 random digits'
Skipping test 'f64 small exponents'
Launching all
Launching test 'f16 subnormal edge cases'
Launching test 'f32 subnormal edge cases'
Launching test 'f64 subnormal edge cases'
Launching test 'f16 regression check'
Launching test 'f32 regression check'
Launching test 'f64 regression check'
Launching test 'f16 special values'
Launching test 'f32 special values'
Launching test 'f64 special values'
Launching test 'f16 fuzz'
Launching test 'f16 subnormal'
Launching test 'f16 few ones float'
Launching test 'f16 few ones int'
Launching test 'f16 repeating decimal'
Launching test 'f32 repeating decimal'
Launching test 'f64 repeating decimal'
Launching test 'f32 few ones float'
Launching test 'f32 few ones int'
Launching test 'f16 large integer values'
Launching test 'f32 large integer values'
Launching test 'f64 large integer values'
Launching test 'f32 fuzz'
Launching test 'f16 exhaustive'
Launching test 'f64 few ones int'
Launching test 'f64 few ones float'
Launching test 'f16 small integer values'
Launching test 'f32 small integer values'
Launching test 'f64 small integer values'
Launching test 'f32 subnormal'
Launching test 'f64 subnormal'
[ a bunch of blank lines ]
thread '<unnamed>' (2004930) panicked at /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint.rs:89:5:
assertion failed: b.last() != Some(&0)
stack backtrace:
   0: __rustc::rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::panicking::panic
   3: num_bigint::biguint::division::div_rem_ref
   4: <num_bigint::bigint::BigInt as num_integer::Integer>::div_rem
   5: <num_bigint::bigint::BigInt as core::ops::arith::Div>::div
   6: <num_rational::Ratio<num_bigint::bigint::BigInt> as core::ops::arith::Sub>::sub
   7: test_float_parse::validate::validate::<f32>
   8: <&rayon::iter::par_bridge::IterParallelProducer<test_float_parse::gen_::subnorm::SubnormComplete<f32>> as rayon::iter::plumbing::UnindexedProducer>::fold_with::<rayon::iter::map_with::MapWithFolder<rayon::iter::try_reduce::TryReduceFolder<rayon::iter::ParallelIterator::try_for_each_init::ok<core::result::Result<(), test_float_parse::EarlyExit>>, core::result::Result<(), test_float_parse::EarlyExit>>, alloc::string::String, test_float_parse::test_runner<f32, test_float_parse::gen_::subnorm::SubnormComplete<f32>>::{closure#0}>>
   9: rayon::iter::plumbing::bridge_unindexed_producer_consumer::<&rayon::iter::par_bridge::IterParallelProducer<test_float_parse::gen_::subnorm::SubnormComplete<f32>>, rayon::iter::map_with::MapInitConsumer<rayon::iter::try_reduce::TryReduceConsumer<rayon::iter::ParallelIterator::try_for_each_init::ok<core::result::Result<(), test_float_parse::EarlyExit>>, <() as core::default::Default>::default>, <alloc::string::String>::new, test_float_parse::test_runner<f32, test_float_parse::gen_::subnorm::SubnormComplete<f32>>::{closure#0}>>
  10: <rayon_core::job::StackJob<rayon_core::latch::SpinLatch, rayon_core::join::join_context::call_b<core::result::Result<(), test_float_parse::EarlyExit>, rayon::iter::plumbing::bridge_unindexed_producer_consumer<&rayon::iter::par_bridge::IterParallelProducer<test_float_parse::gen_::subnorm::SubnormComplete<f32>>, rayon::iter::map_with::MapInitConsumer<rayon::iter::try_reduce::TryReduceConsumer<rayon::iter::ParallelIterator::try_for_each_init::ok<core::result::Result<(), test_float_parse::EarlyExit>>, <() as core::default::Default>::default>, <alloc::string::String>::new, test_float_parse::test_runner<f32, test_float_parse::gen_::subnorm::SubnormComplete<f32>>::{closure#0}>>::{closure#1}>::{closure#0}, core::result::Result<(), test_float_parse::EarlyExit>> as rayon_core::job::Job>::execute
  11: <rayon_core::registry::WorkerThread>::wait_until_cold
  12: <rayon_core::registry::ThreadBuilder>::run
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Command `/Users/runner/work/rust/rust/build/aarch64-apple-darwin/stage0/bin/cargo run -Zwarnings --target aarch64-apple-darwin -Zbinary-dep-depinfo -j 3 -Zroot-dir=/Users/runner/work/rust/rust --locked --color=always --profile=release --manifest-path /Users/runner/work/rust/rust/src/tools/test-float-parse/Cargo.toml -- --skip-huge [workdir=/Users/runner/work/rust/rust]` failed with exit code 1
Created at: src/bootstrap/src/core/build_steps/tool.rs:191:21
Executed at: src/bootstrap/src/core/build_steps/test.rs:4203:30

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the aarch64-apple failure with the cargo command shown in the report, then inspect src/tools/test-float-parse around the validate path and subnormal generator named in the backtrace. Check the bootstrap call sites in src/bootstrap/src/core/build_steps/tool.rs and test.rs for context. Done means determining the cause and making the test command complete without the num-bigint panic.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.