Test failures on Debian i386
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 30/100
- Issue type
- Bug
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- debian, rust
- Domain
- operating-systems, testing-qa
Research direction
Start with tests/iterators.rs, especially iter_quantiles_saturated_count_before_max_value and iter_quantiles_iterates_to_quantile_10_as_it_reaches_last_bucket at the reported lines. Reproduce both failures on Debian i386 and investigate the capacity overflow; done means the tests pass there while the existing test suite remains passing.
Written by the indexing model from the issue text.
Description
I recently updated the hdrhistogram package in Debian, and as part of that I resolved the issues that were blocking the tests from running on Debian's test infrastructure.
Unfortunately when running the CI tests on i386 two tests failed, I can also reproduce this locally.
failures:
---- iter_quantiles_saturated_count_before_max_value stdout ----
thread 'iter_quantiles_saturated_count_before_max_value' panicked at 'capacity overflow', library/alloc/src/raw_vec.rs:518:5
stack backtrace:
0: rust_begin_unwind
at /usr/src/rustc-1.59.0/library/std/src/panicking.rs:498:5
1: core::panicking::panic_fmt
at /usr/src/rustc-1.59.0/library/core/src/panicking.rs:116:14
2: core::panicking::panic
at /usr/src/rustc-1.59.0/library/core/src/panicking.rs:48:5
3: alloc::raw_vec::capacity_overflow
at /usr/src/rustc-1.59.0/library/alloc/src/raw_vec.rs:518:5
4: alloc::raw_vec::handle_reserve
at /usr/src/rustc-1.59.0/library/alloc/src/raw_vec.rs:489:34
5: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle
at /usr/src/rustc-1.59.0/library/alloc/src/raw_vec.rs:287:13
6: alloc::raw_vec::RawVec<T,A>::reserve
at /usr/src/rustc-1.59.0/library/alloc/src/raw_vec.rs:291:13
7: alloc::vec::Vec<T,A>::reserve
at /usr/src/rustc-1.59.0/library/alloc/src/vec/mod.rs:809:9
8: alloc::vec::Vec<T,A>::extend_desugared
at /usr/src/rustc-1.59.0/library/alloc/src/vec/mod.rs:2642:17
9: <alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend
at /usr/src/rustc-1.59.0/library/alloc/src/vec/spec_extend.rs:18:9
10: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter
at /usr/src/rustc-1.59.0/library/alloc/src/vec/spec_from_iter_nested.rs:37:9
11: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
at /usr/src/rustc-1.59.0/library/alloc/src/vec/spec_from_iter.rs:33:9
12: <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter
at /usr/src/rustc-1.59.0/library/alloc/src/vec/mod.rs:2541:9
13: core::iter::traits::iterator::Iterator::collect
at /usr/src/rustc-1.59.0/library/core/src/iter/traits/iterator.rs:1745:9
14: iterators::iter_quantiles_saturated_count_before_max_value
at ./tests/iterators.rs:569:55
15: iterators::iter_quantiles_saturated_count_before_max_value::{{closure}}
at ./tests/iterators.rs:561:1
16: core::ops::function::FnOnce::call_once
at /usr/src/rustc-1.59.0/library/core/src/ops/function.rs:227:5
17: core::ops::function::FnOnce::call_once
at /usr/src/rustc-1.59.0/library/core/src/ops/function.rs:227:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
---- iter_quantiles_iterates_to_quantile_10_as_it_reaches_last_bucket stdout ----
thread 'iter_quantiles_iterates_to_quantile_10_as_it_reaches_last_bucket' panicked at 'capacity overflow', library/alloc/src/raw_vec.rs:518:5
stack backtrace:
0: rust_begin_unwind
at /usr/src/rustc-1.59.0/library/std/src/panicking.rs:498:5
1: core::panicking::panic_fmt
at /usr/src/rustc-1.59.0/library/core/src/panicking.rs:116:14
2: core::panicking::panic
at /usr/src/rustc-1.59.0/library/core/src/panicking.rs:48:5
3: alloc::raw_vec::capacity_overflow
at /usr/src/rustc-1.59.0/library/alloc/src/raw_vec.rs:518:5
4: alloc::raw_vec::handle_reserve
at /usr/src/rustc-1.59.0/library/alloc/src/raw_vec.rs:489:34
5: alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle
at /usr/src/rustc-1.59.0/library/alloc/src/raw_vec.rs:287:13
6: alloc::raw_vec::RawVec<T,A>::reserve
at /usr/src/rustc-1.59.0/library/alloc/src/raw_vec.rs:291:13
7: alloc::vec::Vec<T,A>::reserve
at /usr/src/rustc-1.59.0/library/alloc/src/vec/mod.rs:809:9
8: alloc::vec::Vec<T,A>::extend_desugared
at /usr/src/rustc-1.59.0/library/alloc/src/vec/mod.rs:2642:17
9: <alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend
at /usr/src/rustc-1.59.0/library/alloc/src/vec/spec_extend.rs:18:9
10: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter
at /usr/src/rustc-1.59.0/library/alloc/src/vec/spec_from_iter_nested.rs:37:9
11: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
at /usr/src/rustc-1.59.0/library/alloc/src/vec/spec_from_iter.rs:33:9
12: <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter
at /usr/src/rustc-1.59.0/library/alloc/src/vec/mod.rs:2541:9
13: core::iter::traits::iterator::Iterator::collect
at /usr/src/rustc-1.59.0/library/core/src/iter/traits/iterator.rs:1745:9
14: iterators::iter_quantiles_iterates_to_quantile_10_as_it_reaches_last_bucket
at ./tests/iterators.rs:717:55
15: iterators::iter_quantiles_iterates_to_quantile_10_as_it_reaches_last_bucket::{{closure}}
at ./tests/iterators.rs:703:1
16: core::ops::function::FnOnce::call_once
at /usr/src/rustc-1.59.0/library/core/src/ops/function.rs:227:5
17: core::ops::function::FnOnce::call_once
at /usr/src/rustc-1.59.0/library/core/src/ops/function.rs:227:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
failures:
iter_quantiles_iterates_to_quantile_10_as_it_reaches_last_bucket
iter_quantiles_saturated_count_before_max_value
test result: FAILED. 18 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 39.15s
Debian i386 uses the x87 FPU and I strongly suspect it's quirky floating point is involved in these failures, but I have no idea how to debug this further.
- Dominant language
- Rust
- Stars
- 372
- Forks
- 50
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from HdrHistogram/HdrHistogram_rust
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
HdrHistogram/HdrHistogram_rust#128 · 5 comments ·
-
Difficulty 3/5 1-2 days Newbie friendliness 32/100
HdrHistogram/HdrHistogram_rust#127 · 2 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
HdrHistogram/HdrHistogram_rust#120 · 4 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
HdrHistogram/HdrHistogram_rust#119 · 1 comment ·
-
Difficulty 4/5 3-5 days Newbie friendliness 30/100
HdrHistogram/HdrHistogram_rust#114 · 3 comments · 1 reaction ·
All issues in HdrHistogram/HdrHistogram_rust
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
kwakseongjae/auto-hwp#319 ·
-
area:cli bug filter-quality good first issue priority:medium
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
bevyengine/bevy#25861 ·
-
comp-datalake
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ClickHouse/ClickHouse#121222 ·
-
enhancement remote
Difficulty 2/5 1-3 hours Newbie friendliness 68/100