-
Notifications
You must be signed in to change notification settings - Fork 4.1k
[C++] Caught abort on asof_join_benchmark run for lost an arg #40233
Copy link
Copy link
Closed
Description
Describe the bug, including details regarding any error messages, version, and platform.
How to reproduce
When i test asof join with asof_join_benchmark, i met an abort failure.
- arrow version
193e39cad4d8e1a01376d6b5199077e401484838 - bechmark version
93a96a26a6ba36894d7fa6f43513708c595ccb5f
# compile with
cmake .. -DCMAKE_BUILD_TYPE=Debug -DARROW_DATASET=ON -DARROW_COMPUTE=ON -DARROW_FILESYSTEM=OFF -DARROW_JEMALLOC=OFF -DARROW_ORC=OFF -DARROW_PARQUET=OFF -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DARROW_BUILD_EXAMPLES=ON -DARROW_TESTING=ON -DARROW_BUILD_TESTS=ON -DARROW_CSV=ON -DARROW_BUILD_BENCHMARKS=ON -DARROW_FLIGHT=ON -DARROW_WITH_RE2=OFF -DARROW_WITH_SNAPPY=ON -DARROW_WITH_ZLIB=ON -DARROW_WITH_BROTLI=ON -DARROW_WITH_LZ4=ON -DARROW_WITH_ZSTD=ON -DARROW_WITH_BZ2=ON -DARROW_BUILD_OPENMP_BENCHMARKS=ON
# run
cd debug && ./arrow-acero-asof-join-benchmark
# abort
Args: Check `ArgsCnt() == -1 || ArgsCnt() == static_cast<int>(args.size())' failed.Reason
We forget to add an arg cause the below code's assert.
Benchmark* Benchmark::Args(const std::vector<int64_t>& args) {
BM_CHECK(ArgsCnt() == -1 || ArgsCnt() == static_cast<int>(args.size()));
args_.push_back(args);
return this;
}
int Benchmark::ArgsCnt() const {
if (args_.empty()) {
if (arg_names_.empty()) return -1;
return static_cast<int>(arg_names_.size());
}
return static_cast<int>(args_.front().size());
}arg_names_ is 9 and args's size is 8.
Component(s)
C++
Reactions are currently unavailable