Project

General

Profile

Actions

Bug #50835

closed

crc32c unittest failed on aarch64 with gcc V8.3 when HAVE_ARMV8_CRC_CRYPTO_INTRINSICS is false

Added by Zhiwei Dai about 3 years ago. Updated 11 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
common
Target version:
% Done:

0%

Source:
Tags:
aarch64, crc32c
Backport:
Regression:
No
Severity:
1 - critical
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

Server Taishan200 2280
OS CentOS8.2 4.18
GCC 8.3.1

Two crc32c func branches of crc32c_aarch64.c have been tested on aarch64 platform:

./bin/unittest_crc32c

a) HAVE_ARMV8_CRYPTO:true
ceph_arch_aarch64_pmull:1
HAVE_ARMV8_CRC_CRYPTO_INTRINSICS:true
...
[----------] Global test environment tear-down
[==========] 9 tests from 1 test case ran. (8199 ms total)
[  PASSED  ] 9 tests.

b) HAVE_ARMV8_CRYPTO:true
ceph_arch_aarch64_pmull:1
HAVE_ARMV8_CRC_CRYPTO_INTRINSICS:false
[==========] Running 9 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 9 tests from Crc32c
[ RUN      ] Crc32c.Small
[       OK ] Crc32c.Small (0 ms)
[ RUN      ] Crc32c.PartialWord
[       OK ] Crc32c.PartialWord (0 ms)
[ RUN      ] Crc32c.Big
/home/ceph-src/ceph-12.2.12-gcc-8/src/test/common/test_crc32c.cc:40: Failure
      Expected: 31583199u
      Which is: 31583199
To be equal to: ceph_crc32c(0, (unsigned char *)a, len)
      Which is: 3953353512
[  FAILED  ] Crc32c.Big (0 ms)
[ RUN      ] Crc32c.Performance
populating large buffer
calculating crc
best choice = 3347.75 MB/sec
/home/ceph-src/ceph-12.2.12-gcc-8/src/test/common/test_crc32c.cc:58: Failure
      Expected: 261108528u
      Which is: 261108528
To be equal to: val
      Which is: 1107493194
[  FAILED  ] Crc32c.Performance (2259 ms)
[ RUN      ] Crc32c.Range
[       OK ] Crc32c.Range (0 ms)
[ RUN      ] Crc32c.RangeZero
[       OK ] Crc32c.RangeZero (0 ms)
[ RUN      ] Crc32c.RangeNull
[       OK ] Crc32c.RangeNull (0 ms)
[ RUN      ] Crc32c.zeros_performance_compare
...
[       OK ] Crc32c.zeros_performance_compare (71 ms)
[ RUN      ] Crc32c.zeros_performance
iterations=3100000 time=0.956463
[       OK ] Crc32c.zeros_performance (957 ms)
[----------] 9 tests from Crc32c (3287 ms total)

[----------] Global test environment tear-down
[==========] 9 tests from 1 test case ran. (3287 ms total)
[  PASSED  ] 7 tests.
[  FAILED  ] 2 tests, listed below:
[  FAILED  ] Crc32c.Big
[  FAILED  ] Crc32c.Performance

 2 FAILED TESTS


Related issues 1 (0 open1 closed)

Copied to Ceph - Backport #61933: pacific: crc32c unittest failed on aarch64 with gcc V8.3 when HAVE_ARMV8_CRC_CRYPTO_INTRINSICS is falseResolvedActions
Actions #1

Updated by Kefu Chai almost 3 years ago

  • Status changed from New to Resolved
  • Pull request ID set to 41393
Actions #3

Updated by Radoslaw Zarzynski 11 months ago

  • Copied to Backport #61933: pacific: crc32c unittest failed on aarch64 with gcc V8.3 when HAVE_ARMV8_CRC_CRYPTO_INTRINSICS is false added
Actions

Also available in: Atom PDF