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

[C++] arrow-io-memory-benchmark crashes #24617

Closed
asfimport opened this issue Apr 14, 2020 · 4 comments
Closed

[C++] arrow-io-memory-benchmark crashes #24617

asfimport opened this issue Apr 14, 2020 · 4 comments

Comments

@asfimport
Copy link
Collaborator

"arrow-io-memory-benchmark" SIGSEGV in latest code base. It worked at least when my last commit 8 days ago: b1d4c86

Tested on x86 host. Build with "cmake -GNinja -DCMAKE_BUILD_TYPE=Debug -DARROW_COMPUTE=ON -DARROW_BUILD_BENCHMARKS=ON .."

stack backtrace attached

(gdb) r
Starting program: /home/cyb/share/debug/arrow-io-memory-benchmark
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
(gdb) [New Thread 0x7ffff37ff700 (LWP 29065)]
2020-04-14 14:24:40
Running /home/cyb/share/debug/arrow-io-memory-benchmark
Run on (32 X 2100 MHz CPU s)
CPU Caches:
L1 Data 32K (x16)
L1 Instruction 64K (x16)
L2 Unified 512K (x16)
L3 Unified 4096K (x16)
Load Average: 2.64, 4.39, 4.28
**WARNING** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead.
**WARNING** Library was built as DEBUG. Timings may be affected.

Thread 1 "arrow-io-memory" received signal SIGSEGV, Segmentation fault.
0x00007ffff68e67c8 in arrow::Buffer::is_mutable (this=0x0) at ../src/arrow/buffer.h:258
258 ../src/arrow/buffer.h: No such file or directory.
(gdb) bt
#0 0x00007ffff68e67c8 in arrow::Buffer::is_mutable (this=0x0) at ../src/arrow/buffer.h:258
#1 0x00007ffff6c3c41a in arrow::io::FixedSizeBufferWriter::FixedSizeBufferWriterImpl::FixedSizeBufferWriterImpl (this=0x5555558921f0, buffer=std::shared_ptrarrow::Buffer (empty) = {...})
at ../src/arrow/io/memory.cc:164
#2 0x00007ffff6c3a575 in arrow::io::FixedSizeBufferWriter::FixedSizeBufferWriter (this=0x7fffffffd660, buffer=std::shared_ptrarrow::Buffer (empty) = {...}, __in_chrg=,
vtt_parm=) at ../src/arrow/io/memory.cc:227
#3 0x00005555555ebd00 in arrow::ParallelMemoryCopy (state=...) at ../src/arrow/io/memory_benchmark.cc:303
#4 0x00005555555f80d4 in benchmark::internal::FunctionBenchmark::Run (this=0x555555891290, st=...)
at /home/cyb/arrow/cpp/debug/gbenchmark_ep-prefix/src/gbenchmark_ep/src/benchmark_register.cc:496
#5 0x000055555564bcc7 in benchmark::internal::BenchmarkInstance::Run (this=0x5555558939c0, iters=10, thread_id=0, timer=0x7fffffffd7a0, manager=0x555555894b70)
at /home/cyb/arrow/cpp/debug/gbenchmark_ep-prefix/src/gbenchmark_ep/src/benchmark_api_internal.cc:10
#6 0x000055555562c0c8 in benchmark::internal::(anonymous namespace)::RunInThread (b=0x5555558939c0, iters=10, thread_id=0, manager=0x555555894b70)
at /home/cyb/arrow/cpp/debug/gbenchmark_ep-prefix/src/gbenchmark_ep/src/benchmark_runner.cc:119
#7 0x000055555562c95a in benchmark::internal::(anonymous namespace)::BenchmarkRunner::DoNIterations (this=0x7fffffffddc0)
at /home/cyb/arrow/cpp/debug/gbenchmark_ep-prefix/src/gbenchmark_ep/src/benchmark_runner.cc:214
#8 0x000055555562d0ac in benchmark::internal::(anonymous namespace)::BenchmarkRunner::DoOneRepetition (this=0x7fffffffddc0, repetition_index=0)
at /home/cyb/arrow/cpp/debug/gbenchmark_ep-prefix/src/gbenchmark_ep/src/benchmark_runner.cc:299
#9 0x000055555562c558 in benchmark::internal::(anonymous namespace)::BenchmarkRunner::BenchmarkRunner (this=0x7fffffffddc0, b
=..., complexity_reports
=0x7fffffffdef0)
at /home/cyb/arrow/cpp/debug/gbenchmark_ep-prefix/src/gbenchmark_ep/src/benchmark_runner.cc:161
#10 0x000055555562d47f in benchmark::internal::RunBenchmark (b=..., complexity_reports=0x7fffffffdef0)
at /home/cyb/arrow/cpp/debug/gbenchmark_ep-prefix/src/gbenchmark_ep/src/benchmark_runner.cc:355
#11 0x00005555555f0ae6 in benchmark::internal::(anonymous namespace)::RunBenchmarks (benchmarks=std::vector of length 9, capacity 12 = {...}, display_reporter=0x555555891510, file_reporter=0x0)
at /home/cyb/arrow/cpp/debug/gbenchmark_ep-prefix/src/gbenchmark_ep/src/benchmark.cc:265
#12 0x00005555555f13b6 in benchmark::RunSpecifiedBenchmarks (display_reporter=0x555555891510, file_reporter=0x0)
at /home/cyb/arrow/cpp/debug/gbenchmark_ep-prefix/src/gbenchmark_ep/src/benchmark.cc:399
#13 0x00005555555f0ef8 in benchmark::RunSpecifiedBenchmarks () at /home/cyb/arrow/cpp/debug/gbenchmark_ep-prefix/src/gbenchmark_ep/src/benchmark.cc:340
#14 0x00005555555efc64 in main (argc=1, argv=0x7fffffffe398) at /home/cyb/arrow/cpp/debug/gbenchmark_ep-prefix/src/gbenchmark_ep/src/benchmark_main.cc:17

Reporter: Yibo Cai / @cyb70289
Assignee: Antoine Pitrou / @pitrou

PRs and other links:

Note: This issue was originally created as ARROW-8438. Please see the migration documentation for further details.

@asfimport
Copy link
Collaborator Author

Antoine Pitrou / @pitrou:
Thank you. I guess we don't usually build the benchmarks in debug mode...

@asfimport
Copy link
Collaborator Author

Antoine Pitrou / @pitrou:
Actually, it also fails in release mode :)

@asfimport
Copy link
Collaborator Author

Yibo Cai / @cyb70289:
Thanks for quick fix.
I did find the issue in release build. Tried a debug build to catch some debug info.

@asfimport
Copy link
Collaborator Author

Antoine Pitrou / @pitrou:
Issue resolved by pull request 6929
#6929

@asfimport asfimport added this to the 0.17.0 milestone Jan 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants