pcl
pcl copied to clipboard
Tests fail on aarch64/ppc64
On aarch64 the following 2 tests fail:
14 - common_pca (Failed)
125 - test_non_linear (Failed)
Originally posted by @jspricke in https://github.com/PointCloudLibrary/pcl/issues/5127#issuecomment-1013163562
On ppc64le, test_non_linear fails, but common_pca passes.
Expected behavior
Tests pass on all archs
Current Behavior
[16117s] 14: /home/abuild/rpmbuild/BUILD/pcl-pcl-1.12.1/common/include/pcl/pcl_tests.h:79: Failure
[16117s] 14: The difference between v1[i] and v2[i] is 0.00048828125, which exceeds epsilon, where
[16117s] 14: v1[i] evaluates to 2999.00048828125,
[16117s] 14: v2[i] evaluates to 2999, and
[16117s] 14: epsilon evaluates to 0.00025000000000000001.
[16117s] 14: Google Test trace:
[16117s] 14: /home/abuild/rpmbuild/BUILD/pcl-pcl-1.12.1/common/include/pcl/pcl_tests.h:75: EXPECT_NEAR_VECTORS failed
[16117s] 14: [ FAILED ] PCA.projection (1 ms)
[16117s] 14: [ RUN ] PCA.copy_constructor
[16117s] 14: [ OK ] PCA.copy_constructor (0 ms)
[16117s] 14: [ RUN ] PCA.cloud_projection
[16117s] 14: /home/abuild/rpmbuild/BUILD/pcl-pcl-1.12.1/common/include/pcl/pcl_tests.h:79: Failure
[16117s] 14: The difference between v1[i] and v2[i] is 0.00048828125, which exceeds epsilon, where
[16117s] 14: v1[i] evaluates to 2999,
[16117s] 14: v2[i] evaluates to 2999.00048828125, and
[16117s] 14: epsilon evaluates to 0.00025000000000000001.
[16117s] 14: Google Test trace:
[16117s] 14: /home/abuild/rpmbuild/BUILD/pcl-pcl-1.12.1/common/include/pcl/pcl_tests.h:75: EXPECT_NEAR_VECTORS failed
[16117s] 14: [ FAILED ] PCA.cloud_projection (0 ms)
[16117s] 14: [----------] 3 tests from PCA (1 ms total)
[16117s] 14:
[16117s] 14: [----------] Global test environment tear-down
[16117s] 14: [==========] 3 tests from 1 test suite ran. (2 ms total)
[16117s] 14: [ PASSED ] 1 test.
[16117s] 14: [ FAILED ] 2 tests, listed below:
[16117s] 14: [ FAILED ] PCA.projection
[16117s] 14: [ FAILED ] PCA.cloud_projection
[19787s] 125: [ RUN ] SACSegmentation.Segmentation
[19787s] 125: /home/abuild/rpmbuild/BUILD/pcl-pcl-1.12.1/test/segmentation/test_non_linear.cpp:76: Failure
[19787s] 125: The difference between static_cast<int> (inliers->indices.size ()) and 3516 is 17, which exceeds 15, where
[19787s] 125: static_cast<int> (inliers->indices.size ()) evaluates to 3499,
[19787s] 125: 3516 evaluates to 3516, and
[19787s] 125: 15 evaluates to 15.
[19787s] 125: [ FAILED ] SACSegmentation.Segmentation (11 ms)
Your Environment (please complete the following information):
- OS: openSUSE Tumbleweed, Leap 15.4, Leap 15.3
- Compiler: GCC 12.1, GCC 7.5.0, GCC 7.5.0
- PCL Version 1.12.1
Possible Solution
Extend error margins:
- common_pca: 0.000488 vs 0.000250
- test_non_linear: 17 vs 15
Would it be possible that you run the tests again with the latest master branch? I recently made a change that might already fix the test_non_linear. Regarding common_pca, I will look into it.
Builds on aarch64 are still running ...
ppc64le now finished successfully!
I had one spurious failure on x86_64 (but two successful runs on x86_64, also on ppc), though in a_octree_test:
[ 1109s] /home/abuild/rpmbuild/BUILD/pcl-pcl-1.12.1/test/octree/test_octree.cpp:1608: Failure
[ 1109s] Expected equality of these values:
[ 1109s] 27
[ 1109s] leaf_container->size ()
[ 1109s] Which is: 18
[ 1109s] [ FAILED ] PCL.Octree_Pointcloud_Adjacency (90 ms)
@StefanBruens Sorry for the late response. I relaxed the error threshold for the common_pca test in https://github.com/PointCloudLibrary/pcl/pull/5322
Yes, the (rare) spurious failures of a_octree_test are a known issue. They are due to varying rng seeds and limited floating point precision
I hope the tests now all run successfully. Otherwise feel free to comment or open a new issue.
Fix confirmed.