Bug 1733418

Summary: The s.st_size > (6144LL * MB) error in the ldb_lmdb_size_test.c file shows that the ldb database cannot meet the test size.
Product: Red Hat Enterprise Linux 7 Reporter: wangye <wangye54>
Component: libldbAssignee: Jakub Hrozek <jhrozek>
Status: CLOSED NOTABUG QA Contact: sssd-qe <sssd-qe>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.5CC: asn
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-07-26 08:48:41 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description wangye 2019-07-26 03:55:21 UTC
Description of problem:
The s.st_size > (6144LL * MB) error in the ldb_lmdb_size_test.c file shows that the ldb database cannot meet the test size.

Version-Release number of selected component (if applicable):
The latest version also exists

How reproducible:
Make a compilation in ldb, then run ldb_lmdb_size_test directly under /bin/default

Steps to Reproduce:
1.Download ldb source package
2.Compile code with make
3.Run ldb_lmdb_size_test in the /bin/default directory.

Actual results:
[root@localhost default]# ./ldb_lmdb_size_test
[==========] Running 1 test(s).
[ RUN      ] test_db_size_gt_4GB
[  ERROR   ] --- s.st_size > (6144LL * MB)
[   LINE   ] --- ../tests/ldb_lmdb_size_test.c:199: error: Failure!
[  FAILED  ] test_db_size_gt_4GB
[==========] 1 test(s) run.
[  PASSED  ] 0 test(s).
[  FAILED  ] 1 test(s), listed below:
[  FAILED  ] test_db_size_gt_4GB

 1 FAILED TEST(S)


Expected results:

No error, code test can normally check a larger than 4G database size
Additional info:
I suspect that the apitest.ldb file in the code failed to be created. The size does not exceed 4G, but it cannot be modified. Block it.

Comment 1 wangye 2019-07-26 06:57:42 UTC
Sorry, the above error is not the original error, the original error operation steps are consistent with the above steps.

Error display:
[root@localhost default]# ./ldb_lmdb_size_test
[==========] Running 1 test(s).
[ RUN ] test_db_size_gt_4GB
A transaction is still active in ldb context [0x3eccd100] on mdb://apitest.ldb
[ ERROR ] --- 0x35 != 0
[ LINE ] --- ../tests/ldb_lmdb_size_test.c:187: error: Failure!
[ FAILED ] test_db_size_gt_4GB
[==========] 1 test(s) run.
[ PASSED ] 0 test(s).
[ FAILED ] 1 test(s), listed below:
[ FAILED ] test_db_size_gt_4GB

 1 FAILED TEST(S)

The following comment line (‘’ret = 0’’ I added) is to mask the assertion

         Ret = ldb_add(test_ctx->ldb, msg);
        // ret = 0;
                Assert_int_equal(ret, 0);
                Ldb_transaction_commit(test_ctx->ldb);

                TALLOC_FREE(msg);

Added "ret = 0" and found a hidden error
[root@localhost default]# ./ldb_lmdb_size_test
[==========] Running 1 test(s).
[ RUN ] test_db_size_gt_4GB
[ ERROR ] --- s.st_size > (6144LL * MB)
[ LINE ] --- ../tests/ldb_lmdb_size_test.c:199: error: Failure!
[ FAILED ] test_db_size_gt_4GB
[==========] 1 test(s) run.
[ PASSED ] 0 test(s).
[ FAILED ] 1 test(s), listed below:
[ FAILED ] test_db_size_gt_4GB

 1 FAILED TEST(S)

Comment 3 Jakub Hrozek 2019-07-26 08:48:41 UTC
1) RHEL does not ship lmdb
2) tests are not supported or shipped part of the package

Closing.

Comment 4 Andreas Schneider 2019-07-31 10:01:28 UTC
JFYI: There is an issue in the test code as it hasn't been updated after some latest changed. Will be fixed upstream soon.