ClusterLabs/libqb

resources.test is failed on SLES

safa003 opened this issue · 19 comments

Hi,
Im facing an error on SLES(x86_64) while creating rpms.Im trying to rebuild the source rpms for libqb package in SLES.I have edited the libqb.spec file and trying to rebuild the source rpm using the command rpmbuild -ba libqb.spec .While running this command,i faced an error where resource.test was getting failed.The libqb package version which I used was
libqb-2.0.6+20220323.758044b-150400.181.3.src.rpm.
I investigated the resource.log file and what I found was :

Error: dlock shared memory segments not closed/unlinked


Error: shared memory segments not closed/unlinked


Error: unexpected number of empty leftovers
/dev/shm/qb-14091-14089-8-UQOZ2E/qb-event-test_ipcc_truncate_when_unlink_fails_shm_fn13071-1684413230-data
/dev/shm/qb-14091-14089-8-UQOZ2E/qb-event-test_ipcc_truncate_when_unlink_fails_shm_fn13071-1684413230-header
/dev/shm/qb-14091-14089-8-UQOZ2E/qb-response-test_ipcc_truncate_when_unlink_fails_shm_fn13071-1684413230-data
/dev/shm/qb-14091-14089-8-UQOZ2E/qb-response-test_ipcc_truncate_when_unlink_fails_shm_fn13071-1684413230-header
/dev/shm/qb-14091-14089-8-UQOZ2E/qb-request-test_ipcc_truncate_when_unlink_fails_shm_fn13071-1684413230-data
/dev/shm/qb-14091-14089-8-UQOZ2E/qb-request-test_ipcc_truncate_when_unlink_fails_shm_fn13071-1684413230-header

FAIL resources.test (exit status: 1)

Passed Test while running rebuilding the src rpm was :

  1. start.test
  2. array.test
  3. map.test
  4. rb.test
  5. list.test
  6. log.test
  7. blackbox-segfault.sh
  8. loop.test
  9. ipc.test
  10. ipc_sock.test

Information in test-suite.log:

`========================================================
   libqb 2.0.6+20220323.758044b: tests/test-suite.log
========================================================

# TOTAL: 11
# PASS:  10
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: resources
===============


Error: dlock shared memory segments not closed/unlinked


Error: shared memory segments not closed/unlinked


Error: unexpected number of empty leftovers
/dev/shm/qb-14091-14089-8-UQOZ2E/qb-event-test_ipcc_truncate_when_unlink_fails_shm_fn13071-1684413230-data
/dev/shm/qb-14091-14089-8-UQOZ2E/qb-event-test_ipcc_truncate_when_unlink_fails_shm_fn13071-1684413230-header
/dev/shm/qb-14091-14089-8-UQOZ2E/qb-response-test_ipcc_truncate_when_unlink_fails_shm_fn13071-1684413230-data
/dev/shm/qb-14091-14089-8-UQOZ2E/qb-response-test_ipcc_truncate_when_unlink_fails_shm_fn13071-1684413230-header
/dev/shm/qb-14091-14089-8-UQOZ2E/qb-request-test_ipcc_truncate_when_unlink_fails_shm_fn13071-1684413230-data
/dev/shm/qb-14091-14089-8-UQOZ2E/qb-request-test_ipcc_truncate_when_unlink_fails_shm_fn13071-1684413230-header

FAIL resources.test (exit status: 1)
`

Can you please help me to resolve this issue as I'm facing this issue while using the latest version of libqb package?

I rebuilded the libqb.spec file after applying the patches into check_ipc.c and resources.test .But I was facing the same issue which is FAIL: resources.test .Should I make any changes in the libqb.spec file after patching the code and before rebuilding the libqb.spec file.If yes, can you please tell me what additional changes should be made in the libqb.spec file?
In libqb.spec file,i have made changes in the RELEASE tag and %changelog.

I should add that it's most like that the failure is down to flaws in the tests, not the library - 99% of the time with those tests

Can you please tell me what can be done to resolve this problem?

You could try the things I mentioned above, or get an SRPM from https://kronosnet.org/builds/libqb/opensuse-tumbleweed-x86-64/origin/main/latest/

I tried with the SRPM that you give.But still resources.test is getting failed.Is there any prerequisite that needs to be done?

The only thing to really check before running is that /var/run is reasonably clean before starting. If it's nearly full then od things can happen.

I have checked /var/run and found that there were test_ipc files and ipc_test files. I removed those files and re-builded the SRPMS but still facing the same issue FAIL: resources.test .Is that the right way to do the cleaning part before rebuilding the SRPMS?

One thing I have just noticed. If you run the tests with -j then the ipc & ipc_sock tests collide and can produce those errors. I haven't seen the SuSE RPM but if it uses -j then that might be it

Also, I mean to ask you to check /dev/shm as well as /var/run, sorry.

I have not used any -j in the commands.I ran the command like rpmbuild -ba <SRPMs> Also,i found some qb related files in /dev/shm.I cleaned all that and then rebuilded the SRPMS but still I'm facing the same issue.

Have you checked the srpm file? I don't know the contents of the SLES srpms

Srpm file contains test folder which contains all the tests required, then make files ,configure files,doxygen2man folder, version file, tools folder,libqb.spec.in file .I have checked the resource.test file if the patched code has got changed and yes it has got changed in it.Is there anyother changes I need to make in it to get it executed?

Can you please share this srpm? there is no easy way we can debug a build failure quickly without knowing what changes have been made to code or the build system.

Srpm that I have used is libqb-2.0.6.14-1.335d.src.rpm from https://kronosnet.org/builds/libqb/opensuse-tumbleweed-x86-64/origin/main/latest/ . I have also tried libqb-2.0.6+20220323.758044b-150400.181.3.src.rpm and libqb-2.0.6+20220323.758044b-lp154.180.1.src.rpm from https://software.opensuse.org/download/package?package=libqb&project=home%3Ayan_gao%3Abranches%3Anetwork%3Aha-clustering%3AFactory%3ATest

Can you post the whole build log somewhere please?

I just downloaded that SRPM and tried building it. It uses

/usr/bin/make -O -j8 V=1 VERBOSE=1

and make with -j is not supported on libqb, We're working on it at the moment but i's known to fail.

You might like to try commit a3aedbc - this fixes -j for all of our CI nodes so might help you.