#49268 Build on master branch fails on ppc64 during tests
Closed: wontfix Opened by vashirov.

Master is f913252541c90ab7f3d62d74818c43ad01ff5c4e

===========================================
   389-ds-base 1.3.7.0: ./test-suite.log
===========================================
# TOTAL: 4
# PASS:  2
# SKIP:  0
# XFAIL: 0
# FAIL:  2
# XPASS: 0
# ERROR: 0
.. contents:: :depth: 2
FAIL: test_slapd
================
[==========] Running 11 test(s).
[ RUN      ] test_libslapd_hello
[       OK ] test_libslapd_hello
[ RUN      ] test_libslapd_pblock_analytics
[       OK ] test_libslapd_pblock_analytics
[ RUN      ] test_libslapd_pblock_v3c_target_dn
[       OK ] test_libslapd_pblock_v3c_target_dn
[ RUN      ] test_libslapd_pblock_v3c_target_sdn
[       OK ] test_libslapd_pblock_v3c_target_sdn
[ RUN      ] test_libslapd_pblock_v3c_original_target_dn
[       OK ] test_libslapd_pblock_v3c_original_target_dn
[ RUN      ] test_libslapd_pblock_v3c_target_uniqueid
[       OK ] test_libslapd_pblock_v3c_target_uniqueid
[ RUN      ] test_libslapd_operation_v3c_target_spec
[       OK ] test_libslapd_operation_v3c_target_spec
[ RUN      ] test_libslapd_counters_atomic_usage
[       OK ] test_libslapd_counters_atomic_usage
[ RUN      ] test_libslapd_counters_atomic_overflow
[       OK ] test_libslapd_counters_atomic_overflow
[ RUN      ] test_libslapd_pal_meminfo
[       OK ] test_libslapd_pal_meminfo
[ RUN      ] test_libslapd_util_cachesane
[  ERROR   ] --- request <= 75000
[   LINE   ] --- test/libslapd/spal/meminfo.c:48: error: Failure!
[  FAILED  ] test_libslapd_util_cachesane
[==========] 11 test(s) run.
[  PASSED  ] 10 test(s).
[  FAILED  ] 1 test(s), listed below:
[  FAILED  ] test_libslapd_util_cachesane
 1 FAILED TEST(S)
[==========] Running 3 test(s).
[ RUN      ] test_plugin_hello
[       OK ] test_plugin_hello
[ RUN      ] test_plugin_pwdstorage_pbkdf2_auth
[       OK ] test_plugin_pwdstorage_pbkdf2_auth
[ RUN      ] test_plugin_pwdstorage_pbkdf2_rounds
[       OK ] test_plugin_pwdstorage_pbkdf2_rounds
[==========] 3 test(s) run.
[  PASSED  ] 3 test(s).
FAIL test_slapd (exit status: 1)
FAIL: test_libsds
=================
[==========] Running 26 test(s).
[ RUN      ] test_1_invalid_binst_ptr
[       OK ] test_1_invalid_binst_ptr
[ RUN      ] test_3_single_insert
[       OK ] test_3_single_insert
[ RUN      ] test_4_single_null_insert_fn
[       OK ] test_4_single_null_insert_fn
[ RUN      ] test_6_insert_less_than_no_split
[       OK ] test_6_insert_less_than_no_split
[ RUN      ] test_7_insert_greater_than_no_split
[       OK ] test_7_insert_greater_than_no_split
[ RUN      ] test_8_insert_duplicate
[       OK ] test_8_insert_duplicate
[ RUN      ] test_9_insert_fill_and_split
[       OK ] test_9_insert_fill_and_split
[ RUN      ] test_12_insert_fill_split_and_grow
[       OK ] test_12_insert_fill_split_and_grow
[ RUN      ] test_13_insert_fill_split_and_grow_inverse
[       OK ] test_13_insert_fill_split_and_grow_inverse
[ RUN      ] test_14_insert_random
[       OK ] test_14_insert_random
[ RUN      ] test_15_search_none
[       OK ] test_15_search_none
[ RUN      ] test_16_insert_and_retrieve
[       OK ] test_16_insert_and_retrieve
[ RUN      ] test_18_delete_single_value
[       OK ] test_18_delete_single_value
[ RUN      ] test_19_delete_non_existant
[       OK ] test_19_delete_non_existant
[ RUN      ] test_20_delete_non_branch_key
[       OK ] test_20_delete_non_branch_key
[ RUN      ] test_21_delete_redist_left_leaf
[       OK ] test_21_delete_redist_left_leaf
[ RUN      ] test_22_delete_redist_right_leaf
[       OK ] test_22_delete_redist_right_leaf
[ RUN      ] test_22_5_redist_left_borrow
[       OK ] test_22_5_redist_left_borrow
[ RUN      ] test_23_delete_right_merge
[       OK ] test_23_delete_right_merge
[ RUN      ] test_24_delete_left_merge
[       OK ] test_24_delete_left_merge
[ RUN      ] test_25_delete_all_compress_root
[       OK ] test_25_delete_all_compress_root
[ RUN      ] test_26_delete_right_branch_merge
[       OK ] test_26_delete_right_branch_merge
[ RUN      ] test_27_delete_left_branch_merge
[       OK ] test_27_delete_left_branch_merge
[ RUN      ] test_28_insert_and_delete_random
[       OK ] test_28_insert_and_delete_random
[ RUN      ] test_29_insert_and_delete_random_large
[       OK ] test_29_insert_and_delete_random_large
[ RUN      ] test_30_insert_and_delete_strings
[       OK ] test_30_insert_and_delete_strings
[==========] 26 test(s) run.
[  PASSED  ] 26 test(s).
[==========] Running 16 test(s).
[ RUN      ] test_31_map
[       OK ] test_31_map
[ RUN      ] test_32_build_simple_tree
[       OK ] test_32_build_simple_tree
[ RUN      ] test_33_build_small_tree
[       OK ] test_33_build_small_tree
[ RUN      ] test_34_build_large_tree
[       OK ] test_34_build_large_tree
[ RUN      ] test_35_set_difference_1
[       OK ] test_35_set_difference_1
[ RUN      ] test_35_set_difference_2
[       OK ] test_35_set_difference_2
[ RUN      ] test_35_set_difference_3
[       OK ] test_35_set_difference_3
[ RUN      ] test_36_set_union_1
[       OK ] test_36_set_union_1
[ RUN      ] test_36_set_union_2
[       OK ] test_36_set_union_2
[ RUN      ] test_36_set_union_3
[       OK ] test_36_set_union_3
[ RUN      ] test_37_set_intersect_1
[       OK ] test_37_set_intersect_1
[ RUN      ] test_37_set_intersect_2
[       OK ] test_37_set_intersect_2
[ RUN      ] test_37_set_intersect_3
[       OK ] test_37_set_intersect_3
[ RUN      ] test_38_set_compliment_1
[       OK ] test_38_set_compliment_1
[ RUN      ] test_38_set_compliment_2
[       OK ] test_38_set_compliment_2
[ RUN      ] test_39_set_filter
[       OK ] test_39_set_filter
[==========] 16 test(s) run.
[  PASSED  ] 16 test(s).
[==========] Running 21 test(s).
[ RUN      ] test_1_cow_init
[       OK ] test_1_cow_init
[ RUN      ] test_2_begin_rotxn
[       OK ] test_2_begin_rotxn
[ RUN      ] test_3_begin_wrtxn_no_read
[       OK ] test_3_begin_wrtxn_no_read
[ RUN      ] test_4_begin_wrtxn_w_read
[       OK ] test_4_begin_wrtxn_w_read
[ RUN      ] test_misuse_rotxn
[       OK ] test_misuse_rotxn
[ RUN      ] test_basic_insert
[       OK ] test_basic_insert
[ RUN      ] test_large_insert
[       OK ] test_large_insert
[ RUN      ] test_random_insert
[       OK ] test_random_insert
[ RUN      ] test_out_of_order_txn_close
[       OK ] test_out_of_order_txn_close
[ RUN      ] test_dangling_txn_close
[       OK ] test_dangling_txn_close
[ RUN      ] test_txn_abort
[       OK ] test_txn_abort
[ RUN      ] test_txn_atomic_retrieve
[       OK ] test_txn_atomic_retrieve
[ RUN      ] test_txn_double_close
[       OK ] test_txn_double_close
[ RUN      ] test_txn_post_commit_use
[       OK ] test_txn_post_commit_use
[ RUN      ] test_null_txn
[       OK ] test_null_txn
[ RUN      ] test_txn_delete_simple
[       OK ] test_txn_delete_simple
[ RUN      ] test_txn_delete_leaf_left
[       OK ] test_txn_delete_leaf_left
[ RUN      ] test_txn_delete_leaf_right
[       OK ] test_txn_delete_leaf_right
[ RUN      ] test_txn_delete_branch_left
[       OK ] test_txn_delete_branch_left
[ RUN      ] test_txn_delete_branch_right
[       OK ] test_txn_delete_branch_right
[ RUN      ] test_cow_update
[       OK ] test_cow_update
[==========] 21 test(s) run.
[  PASSED  ] 21 test(s).
[==========] Running 8 test(s).
[ RUN      ] test_1_queue_invalid_create
[       OK ] test_1_queue_invalid_create
[ RUN      ] test_2_queue_enqueue
[       OK ] test_2_queue_enqueue
[ RUN      ] test_3_queue_enqueue_multiple
[       OK ] test_3_queue_enqueue_multiple
[ RUN      ] test_4_queue_invalid_dequeue
[       OK ] test_4_queue_invalid_dequeue
[ RUN      ] test_5_queue_dequeue
[       OK ] test_5_queue_dequeue
[ RUN      ] test_6_queue_dequeue_multiple
[       OK ] test_6_queue_dequeue_multiple
[ RUN      ] test_7_queue_random
[       OK ] test_7_queue_random
[ RUN      ] test_8_queue_implicit_free
[       OK ] test_8_queue_implicit_free
[==========] 8 test(s) run.
[  PASSED  ] 8 test(s).
[==========] Running 9 test(s).
[ RUN      ] test_1_tqueue_invalid_create
[       OK ] test_1_tqueue_invalid_create
[ RUN      ] test_2_tqueue_enqueue
[       OK ] test_2_tqueue_enqueue
[ RUN      ] test_3_tqueue_enqueue_multiple
[       OK ] test_3_tqueue_enqueue_multiple
[ RUN      ] test_4_tqueue_invalid_dequeue
[       OK ] test_4_tqueue_invalid_dequeue
[ RUN      ] test_5_tqueue_dequeue
[       OK ] test_5_tqueue_dequeue
[ RUN      ] test_6_tqueue_dequeue_multiple
[       OK ] test_6_tqueue_dequeue_multiple
[ RUN      ] test_7_tqueue_random
[       OK ] test_7_tqueue_random
[ RUN      ] test_8_tqueue_implicit_free
[       OK ] test_8_tqueue_implicit_free
[ RUN      ] test_9_tqueue_parallel_stress
[       OK ] test_9_tqueue_parallel_stress
[==========] 9 test(s) run.
[  PASSED  ] 9 test(s).
[==========] Running 9 test(s).
[ RUN      ] test_1_lqueue_invalid_create
[       OK ] test_1_lqueue_invalid_create
[ RUN      ] test_2_lqueue_enqueue
[       OK ] test_2_lqueue_enqueue
[ RUN      ] test_3_lqueue_enqueue_multiple
[       OK ] test_3_lqueue_enqueue_multiple
[ RUN      ] test_4_lqueue_invalid_dequeue
[       OK ] test_4_lqueue_invalid_dequeue
[ RUN      ] test_5_lqueue_dequeue
[       OK ] test_5_lqueue_dequeue
[ RUN      ] test_6_lqueue_dequeue_multiple
[       OK ] test_6_lqueue_dequeue_multiple
[ RUN      ] test_7_lqueue_random
[       OK ] test_7_lqueue_random
[ RUN      ] test_8_lqueue_implicit_free
[       OK ] test_8_lqueue_implicit_free
[ RUN      ] test_9_lqueue_parallel_stress
[       OK ] test_9_lqueue_parallel_stress
[==========] 9 test(s) run.
[  PASSED  ] 9 test(s).
[==========] Running 1 test(s).
[ RUN      ] test_siphash
[  ERROR   ] --- hashout == test_a
[   LINE   ] --- src/libsds/test/test_sds_csiphash.c:31: error: Failure!
[  FAILED  ] test_siphash
[==========] 1 test(s) run.
[  PASSED  ] 0 test(s).
[  FAILED  ] 1 test(s), listed below:
[  FAILED  ] test_siphash
 1 FAILED TEST(S)
[==========] Running 8 test(s).
[ RUN      ] test_ht_null_init
[       OK ] test_ht_null_init
[ RUN      ] test_ht_null_insert
[       OK ] test_ht_null_insert
[ RUN      ] test_ht_simple_insert
[       OK ] test_ht_simple_insert
[ RUN      ] test_ht_simple_search
[       OK ] test_ht_simple_search
[ RUN      ] test_ht_medium_insert
[       OK ] test_ht_medium_insert
[ RUN      ] test_ht_large_insert
[       OK ] test_ht_large_insert
[ RUN      ] test_ht_small_delete
[       OK ] test_ht_small_delete
[ RUN      ] test_ht_medium_delete
[       OK ] test_ht_medium_delete
[==========] 8 test(s) run.
[  PASSED  ] 8 test(s).
FAIL test_libsds (exit status: 1)

I also saw build failures on ppc64 & ppc64le on Fedora 27 (but not F26) that was related to tcmalloc and the makstrdb build script crashing during the build process. Disabling tcmalloc resolved my issue - I will be continuing to investigate this tcmalloc issue on F27.

Viktor can you run your test without tcmalloc enabled?

Metadata Update from @mreynolds:
- Custom field type adjusted to defect

Does this give a core? It could likely be the memalign issue with tcmalloc and sds. :(

Actually thinking about this it might NOT be tcmalloc. siphash is endian-dependant so that could be the source of that failure, and meminfo may be a failure because ppc has something odd in cgroups?

I think I'll take this and will look in more detail soon.

I tried to add comments yesterday, but pagure was giving internal server error.
Anyway, I tried without tcmalloc, there is still an issue. These tests that fail were added recently and we probably didn't have a build yet to find that they're failing. So this is a new issue and not a regression.

I sent details of ppc64 machine to @firstyear for troubleshooting.

https://bugzilla.redhat.com/show_bug.cgi?id=1455382

Well, don't try it with asan for the moment :) it makes it worse.

0001-Ticket-49268-master-branch-fails-on-big-endian-syste.patch

@vashirov This patch resolves the issues, and works on x86_64 still too..

Metadata Update from @firstyear:
- Custom field reviewstatus adjusted to review

30 +#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
31 +#  include <sys/endian.h>
32 +#else
33 +#  include <endian.h>
34 +#endif

More portable version is to chech for header file "endian.h" and "sys/endian.h" at configure time.

0001-Ticket-49268-master-branch-fails-on-big-endian-syste.patch

Thanks mate, updated to do a check with config.h instead,

Thank you for changes; I let final ACK to someone else.

Metadata Update from @mreynolds:
- Custom field reviewstatus adjusted to ack (was: review)

commit 9cd5292e1862d3b2d6a4955f908501c41d20cc59
To ssh://git@pagure.io/389-ds-base.git
5ecd8ec..9cd5292 master -> master

Metadata Update from @firstyear:
- Issue close_status updated to: fixed
- Issue status updated to: Closed (was: Open)

commit bf342184b1d2b86ef1fed4ff5bd9ea50fcb43275
To ssh://git@pagure.io/389-ds-base.git
f076334..bf34218 389-ds-base-1.3.6 -> 389-ds-base-1.3.6

389-ds-base is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in 389-ds-base's github repository.

This issue has been cloned to Github and is available here:
- https://github.com/389ds/389-ds-base/issues/2327

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Metadata Update from @spichugi:
- Issue close_status updated to: wontfix (was: fixed)

Metadata