[BUG] QNX: Test user_counters_tabular_test is failing

未关闭
#1,665 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
32/100
Issue 类型
缺陷
描述清晰度
需要澄清
活跃度
停滞
技术栈
cpp

调研方向

从 user_counters_tabular_test 和 output_test_helper.cc:125 的 tests/CMake 配置开始,这里会检查预期的 header regex。在 QNX 上使用 --benchmark_counters_tabular=true 运行测试,并将实际的 header 输出与预期匹配结果进行比较;完成的标准是测试在没有 assertion 或 core dump 的情况下结束。

由索引模型根据 Issue 内容生成。

描述

Describe the bug
I'm trying to port benchmark v1.5.0 to qnx. I got it to build, but when I'm trying to run the tests on RPI4, user_counters_tabular_test is giving me the following error:

# user_counters_tabular_test 
Running benchmarks...
-------------------------------
Testing ConsoleReporter Output
-------------------------------
1970-01-01 00:29:27
Running user_counters_tabular_test
Run on (4 X 1500 MHz CPU s)
CPU Caches:
  L1 Instruction 49K
  L1 Data 32K
---------------------------------------------------------------------------------------------
Benchmark                                   Time             CPU   Iterations UserCounters...
---------------------------------------------------------------------------------------------
BM_Counters_Tabular/threads:1           0.000 ns        0.000 ns   1000000000 Bar=2 Bat=8 Baz=4 Foo=1 Frob=16 Lob=32
BM_Counters_Tabular/threads:2           0.000 ns        0.000 ns   2000000000 Bar=2 Bat=8 Baz=4 Foo=1 Frob=16 Lob=32
BM_Counters_Tabular/threads:4           0.000 ns        0.000 ns   4000000000 Bar=2 Bat=8 Baz=4 Foo=1 Frob=16 Lob=32
BM_Counters_Tabular/threads:8           0.000 ns        0.000 ns   8000000000 Bar=2 Bat=8 Baz=4 Foo=1 Frob=16 Lob=32
BM_Counters_Tabular/threads:16          0.000 ns        0.000 ns   16000000000 Bar=2 Bat=8 Baz=4 Foo=1 Frob=16 Lob=32
BM_CounterRates_Tabular/threads:1       0.000 ns        0.000 ns   1000000000 Bar=1.89394M/s Bat=7.57576M/s Baz=3.78788M/s Foo=946.97k/s Frob=15.1515M/s Lob=30.303M/s
BM_CounterRates_Tabular/threads:2       0.000 ns        0.000 ns   2000000000 Bar=946.97k/s Bat=3.78788M/s Baz=1.89394M/s Foo=473.485k/s Frob=7.57576M/s Lob=15.1515M/s
BM_CounterRates_Tabular/threads:4       0.000 ns        0.000 ns   4000000000 Bar=416.927k/s Bat=1.66771M/s Baz=833.854k/s Foo=208.464k/s Frob=3.33542M/s Lob=6.67084M/s
BM_CounterRates_Tabular/threads:8       0.000 ns        0.000 ns   8000000000 Bar=82.1288k/s Bat=328.515k/s Baz=164.258k/s Foo=41.0644k/s Frob=657.03k/s Lob=1.31406M/s
BM_CounterRates_Tabular/threads:16      0.000 ns        0.000 ns   16000000000 Bar=51.6769k/s Bat=206.708k/s Baz=103.354k/s Foo=25.8385k/s Frob=413.415k/s Lob=826.831k/s
BM_CounterSet0_Tabular/threads:1        0.000 ns        0.000 ns   1000000000 Bar=20 Baz=40 Foo=10
BM_CounterSet0_Tabular/threads:2        0.000 ns        0.000 ns   2000000000 Bar=20 Baz=40 Foo=10
BM_CounterSet0_Tabular/threads:4        0.000 ns        0.000 ns   4000000000 Bar=20 Baz=40 Foo=10
BM_CounterSet0_Tabular/threads:8        0.000 ns        0.000 ns   8000000000 Bar=20 Baz=40 Foo=10
BM_CounterSet0_Tabular/threads:16       0.000 ns        0.000 ns   16000000000 Bar=20 Baz=40 Foo=10
BM_CounterSet1_Tabular/threads:1        0.000 ns        0.000 ns   1000000000 Bar=25 Baz=45 Foo=15
BM_CounterSet1_Tabular/threads:2        0.000 ns        0.000 ns   2000000000 Bar=25 Baz=45 Foo=15
BM_CounterSet1_Tabular/threads:4        0.000 ns        0.000 ns   4000000000 Bar=25 Baz=45 Foo=15
BM_CounterSet1_Tabular/threads:8        0.000 ns        0.000 ns   8000000000 Bar=25 Baz=45 Foo=15
BM_CounterSet1_Tabular/threads:16       0.000 ns        0.000 ns   16000000000 Bar=25 Baz=45 Foo=15
BM_CounterSet2_Tabular/threads:1        0.000 ns        0.000 ns   1000000000 Bat=30 Baz=40 Foo=10
BM_CounterSet2_Tabular/threads:2        0.000 ns        0.000 ns   2000000000 Bat=30 Baz=40 Foo=10
BM_CounterSet2_Tabular/threads:4        0.000 ns        0.000 ns   4000000000 Bat=30 Baz=40 Foo=10
BM_CounterSet2_Tabular/threads:8        0.000 ns        0.000 ns   8000000000 Bat=30 Baz=40 Foo=10
BM_CounterSet2_Tabular/threads:16       0.000 ns        0.000 ns   16000000000 Bat=30 Baz=40 Foo=10
/home/avchen/benchmark/test/output_test_helper.cc:125: CheckCase: Check `TC.match_rule != MR_Next' failed. Expected line "Benchmark                                   Time             CPU   Iterations UserCounters..." to match regex "^Benchmark %s Time %s CPU %s Iterations %s Bar %s Bat %s Baz %s Foo %s Frob %s Lob$"
    actual regex string "^Benchmark[ ]+Time[ ]+CPU[ ]+Iterations[ ]+Bar[ ]+Bat[ ]+Baz[ ]+Foo[ ]+Frob[ ]+Lob$"
    started matching near: Benchmark                                   Time             CPU   Iterations UserCounters...
Abort (core dumped)

Someone suggested to me under another issue that there might be a possibility that a command-line handling is broken (or simply impossible) on the OS that I'm on.

I have --benchmark_counters_tabular enabled in the CMake file under tests folder:

compile_output_test(user_counters_tabular_test)
add_test(user_counters_tabular_test user_counters_tabular_test --benchmark_counters_tabular=true --benchmark_min_time=0.01)

Anyone has any idea as to why I get this core dumped?

System
Which OS, compiler, and compiler version are you using:

  • OS: qnx
  • Compiler and version: using qcc, Toolchain: gcc Version: 12.2.0

To reproduce
Steps to reproduce the behavior:

  1. sync to commit ...
  2. cmake/bazel...
  3. make ...
  4. See error
主要语言
C++
星标
10.5k
派生
1.8k
平均合并
1 天 15 小时
30 天内合并 PR
28

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

google/benchmark 的其他 Issue

查看 google/benchmark 的全部 Issue

相似的 Issue

更多 C++ Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。