Bug 1024081

Summary: libseccomp has a number of test failures when run under valgrind
Product: Red Hat Enterprise Linux 7 Reporter: Paul Moore <pmoore>
Component: libseccompAssignee: Paul Moore <pmoore>
Status: CLOSED CURRENTRELEASE QA Contact: Virtualization Bugs <virt-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.0CC: eparis, juzhang, michen, shu, xfu
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-06-13 12:03:16 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 Paul Moore 2013-10-28 18:33:28 UTC
Description of problem:
The bundled libseccomp regression tests show a number of valgrind failures which could lead to a number of failures.  Failed tests include:
 - 03-sim-basic_chains
 - 04-sim-multilevel_chains
 - 05-sim-long_jumps
 - 07-sim-db_bug_looping
 - 08-sim-subtree_checks
 - 12-sim-basic_masked_ops
 - 16-sim-arch_basic
 - 17-sim-arch_merge
 - 18-sim-basic_whitelist
 - 22-sim-basic_chains_array
 - 23-sim-arch_all_basic

Version-Release number of selected component (if applicable):
libseccomp-2.1.0

How reproducible:
Everytime

Steps to Reproduce:
1. Build libseccomp
2. Run the regression tests under valgrind

Comment 1 Paul Moore 2013-10-28 18:36:06 UTC
These issues have been fixed upstream and will be part of an upcoming maintenance release.

Comment 2 FuXiangChun 2013-10-30 09:52:26 UTC
Reproduce this issue with libseccomp-2.1.0-0.el7.x86_64 and 3.10.0-37.el7.x86_64

Reproduce to steps:
1.install valgrind via yum
2.download libseccomp source code from brewweb
3.cd /home/libseccomp-2.1.0/tests
4. run this command below
#valgrind ./regression >valgrind-result-1

5.#grep -i error valgrind-result-1

result:
Test 01-sim-allow%%002-00001 result:   ERROR 01-sim-allow rc=127
Test 02-sim-basic%%011-00001 result:   ERROR 02-sim-basic rc=127
Test 03-sim-basic_chains%%013-00001 result:   ERROR 03-sim-basic_chains rc=127
Test 04-sim-multilevel_chains%%023-00001 result:   ERROR 04-sim-multilevel_chains rc=127
Test 05-sim-long_jumps%%018-00001 result:   ERROR 05-sim-long_jumps rc=127
Test 06-sim-actions%%008-00001 result:   ERROR 06-sim-actions rc=127
Test 07-sim-db_bug_looping%%004-00001 result:   ERROR 07-sim-db_bug_looping rc=127
Test 08-sim-subtree_checks%%027-00001 result:   ERROR 08-sim-subtree_checks rc=127
Test 09-sim-syscall_priority_pre%%007-00001 result:   ERROR 09-sim-syscall_priority_pre rc=127
Test 10-sim-syscall_priority_post%%007-00001 result:   ERROR 10-sim-syscall_priority_post rc=127
 batch name: 11-basic-basic_errors
./regression: line 196: ./11-basic-basic_errors: No such file or directory
Test 11-basic-basic_errors%%001-00000 result:   FAILURE 11-basic-basic_errors rc=127
Test 12-sim-basic_masked_ops%%023-00001 result:   ERROR 12-sim-basic_masked_ops rc=127
Test 14-sim-reset%%010-00001 result:   ERROR 14-sim-reset rc=127
Test 16-sim-arch_basic%%001-00001 result:   ERROR sys_resolver rc=0
Test 16-sim-arch_basic%%002-00001 result:   ERROR sys_resolver rc=0
Test 16-sim-arch_basic%%003-00001 result:   ERROR sys_resolver rc=0
Test 16-sim-arch_basic%%004-00001 result:   ERROR sys_resolver rc=0
Test 16-sim-arch_basic%%005-00001 result:   ERROR sys_resolver rc=0
Test 16-sim-arch_basic%%006-00001 result:   ERROR sys_resolver rc=0
Test 16-sim-arch_basic%%007-00001 result:   ERROR sys_resolver rc=0
Test 16-sim-arch_basic%%008-00001 result:   ERROR sys_resolver rc=0
Test 16-sim-arch_basic%%009-00001 result:   ERROR sys_resolver rc=0
Test 16-sim-arch_basic%%010-00001 result:   ERROR sys_resolver rc=0
Test 16-sim-arch_basic%%011-00001 result:   ERROR sys_resolver rc=0
Test 16-sim-arch_basic%%012-00001 result:   ERROR sys_resolver rc=0
Test 16-sim-arch_basic%%013-00001 result:   ERROR 16-sim-arch_basic rc=127
Test 17-sim-arch_merge%%001-00001 result:   ERROR sys_resolver rc=0
Test 17-sim-arch_merge%%002-00001 result:   ERROR sys_resolver rc=0
Test 17-sim-arch_merge%%003-00001 result:   ERROR sys_resolver rc=0
Test 17-sim-arch_merge%%004-00001 result:   ERROR sys_resolver rc=0
Test 17-sim-arch_merge%%005-00001 result:   ERROR sys_resolver rc=0
Test 17-sim-arch_merge%%006-00001 result:   ERROR sys_resolver rc=0
Test 17-sim-arch_merge%%007-00001 result:   ERROR sys_resolver rc=0
Test 17-sim-arch_merge%%008-00001 result:   ERROR sys_resolver rc=0
Test 17-sim-arch_merge%%009-00001 result:   ERROR sys_resolver rc=0
Test 17-sim-arch_merge%%010-00001 result:   ERROR 17-sim-arch_merge rc=127
Test 18-sim-basic_whitelist%%013-00001 result:   ERROR 18-sim-basic_whitelist rc=127
Test 19-sim-missing_syscalls%%001-00001 result:   ERROR 19-sim-missing_syscalls rc=127
Test 19-sim-missing_syscalls%%002-00001 result:   ERROR 19-sim-missing_syscalls rc=127
Test 22-sim-basic_chains_array%%013-00001 result:   ERROR 22-sim-basic_chains_array rc=127
Test 23-sim-arch_all_basic%%001-00001 result:   ERROR sys_resolver rc=0
Test 23-sim-arch_all_basic%%002-00001 result:   ERROR sys_resolver rc=0
Test 23-sim-arch_all_basic%%003-00001 result:   ERROR sys_resolver rc=0
Test 23-sim-arch_all_basic%%004-00001 result:   ERROR sys_resolver rc=0
Test 23-sim-arch_all_basic%%005-00001 result:   ERROR sys_resolver rc=0
Test 23-sim-arch_all_basic%%006-00001 result:   ERROR sys_resolver rc=0
Test 23-sim-arch_all_basic%%007-00001 result:   ERROR sys_resolver rc=0
Test 23-sim-arch_all_basic%%008-00001 result:   ERROR 23-sim-arch_all_basic rc=127
Test 25-sim-multilevel_chains_adv%%001-00001 result:   ERROR 25-sim-multilevel_chains_adv rc=127
Test 25-sim-multilevel_chains_adv%%002-00001 result:   ERROR 25-sim-multilevel_chains_adv rc=127
Test 25-sim-multilevel_chains_adv%%003-00001 result:   ERROR 25-sim-multilevel_chains_adv rc=127
Test 25-sim-multilevel_chains_adv%%004-00001 result:   ERROR 25-sim-multilevel_chains_adv rc=127
Test 25-sim-multilevel_chains_adv%%005-00001 result:   ERROR 25-sim-multilevel_chains_adv rc=127
Test 25-sim-multilevel_chains_adv%%006-00001 result:   ERROR 25-sim-multilevel_chains_adv rc=127
Test 25-sim-multilevel_chains_adv%%007-00001 result:   ERROR 25-sim-multilevel_chains_adv rc=127
Test 25-sim-multilevel_chains_adv%%008-00001 result:   ERROR 25-sim-multilevel_chains_adv rc=127
Test 25-sim-multilevel_chains_adv%%009-00001 result:   ERROR 25-sim-multilevel_chains_adv rc=127
Test 25-sim-multilevel_chains_adv%%010-00001 result:   ERROR 25-sim-multilevel_chains_adv rc=127
Test 25-sim-multilevel_chains_adv%%011-00001 result:   ERROR 25-sim-multilevel_chains_adv rc=127
 tests errored: 58

Comment 3 Paul Moore 2013-10-31 16:09:21 UTC
(In reply to Paul Moore from comment #1)
> These issues have been fixed upstream and will be part of an upcoming
> maintenance release.

A new version of libseccomp, version 2.1.1, has been released:

 * https://sourceforge.net/p/libseccomp/mailman/message/31585047

Comment 4 Paul Moore 2013-11-05 21:40:11 UTC
(In reply to FuXiangChun from comment #2)
> Reproduce this issue with libseccomp-2.1.0-0.el7.x86_64 and
> 3.10.0-37.el7.x86_64
> 
> Reproduce to steps:
> 1.install valgrind via yum
> 2.download libseccomp source code from brewweb
> 3.cd /home/libseccomp-2.1.0/tests
> 4. run this command below
> #valgrind ./regression >valgrind-result-1
> 
> 5.#grep -i error valgrind-result-1

With the new libseccomp-2.1.1 release there is an easier way to test libseccomp under valgrind:

 1. cd libseccomp-2.1.1/tests
 2. ./regression -T bpf-valgrind

Also, like the current Fedora Rawhide libseccomp package, the RHEL7 package will have the libseccomp regression tests enabled during the '%check' phase of the RPM build.

Comment 7 Shaolong Hu 2014-02-14 08:15:32 UTC
Verified on libseccomp-2.1.1-1.el7:


[root@localhost tests]# ./regression -T bpf-valgrind
=============== Fri Feb 14 16:14:14 CST 2014 ===============
Regression Test Report ("regression -T bpf-valgrind")
 batch name: 01-sim-allow
 test mode:  c
 test type:  bpf-sim
 test mode:  c
 test type:  bpf-sim-fuzz
 test mode:  c
 test type:  bpf-valgrind
Test 01-sim-allow%%003-00001 result:   SUCCESS
 batch name: 02-sim-basic
 test mode:  c
 test type:  bpf-sim
 test mode:  c
 test type:  bpf-sim-fuzz
 test mode:  c
 test type:  bpf-valgrind
Test 02-sim-basic%%012-00001 result:   SUCCESS
 batch name: 03-sim-basic_chains
 test mode:  c
 test type:  bpf-sim
 test mode:  c
 test type:  bpf-sim-fuzz
 test mode:  c
 test type:  bpf-valgrind
Test 03-sim-basic_chains%%014-00001 result:   SUCCESS
 batch name: 04-sim-multilevel_chains
 test mode:  c
 test type:  bpf-sim
 test mode:  c
 test type:  bpf-sim-fuzz
 test mode:  c
 test type:  bpf-valgrind
Test 04-sim-multilevel_chains%%024-00001 result:   SUCCESS
 batch name: 05-sim-long_jumps
 test mode:  c
 test type:  bpf-sim
 test mode:  c
 test type:  bpf-sim-fuzz
 test mode:  c
 test type:  bpf-valgrind
Test 05-sim-long_jumps%%019-00001 result:   SUCCESS
 batch name: 06-sim-actions
 test mode:  c
 test type:  bpf-sim
 test mode:  c
 test type:  bpf-sim-fuzz
 test mode:  c
 test type:  bpf-valgrind
Test 06-sim-actions%%009-00001 result:   SUCCESS
 batch name: 07-sim-db_bug_looping
 test mode:  c
 test type:  bpf-sim
 test mode:  c
 test type:  bpf-sim-fuzz
 test mode:  c
 test type:  bpf-valgrind
Test 07-sim-db_bug_looping%%005-00001 result:   SUCCESS
 batch name: 08-sim-subtree_checks
 test mode:  c
 test type:  bpf-sim
 test mode:  c
 test type:  bpf-sim-fuzz
 test mode:  c
 test type:  bpf-valgrind
Test 08-sim-subtree_checks%%028-00001 result:   SUCCESS
 batch name: 09-sim-syscall_priority_pre
 test mode:  c
 test type:  bpf-sim
 test mode:  c
 test type:  bpf-sim-fuzz
 test mode:  c
 test type:  bpf-valgrind
Test 09-sim-syscall_priority_pre%%008-00001 result:   SUCCESS
 batch name: 10-sim-syscall_priority_post
 test mode:  c
 test type:  bpf-sim
 test mode:  c
 test type:  bpf-sim-fuzz
 test mode:  c
 test type:  bpf-valgrind
Test 10-sim-syscall_priority_post%%008-00001 result:   SUCCESS
 batch name: 11-basic-basic_errors
 test mode:  c
 test type:  basic
 batch name: 12-sim-basic_masked_ops
 test mode:  c
 test type:  bpf-sim
 test mode:  c
 test type:  bpf-sim-fuzz
 test mode:  c
 test type:  bpf-valgrind
Test 12-sim-basic_masked_ops%%024-00001 result:   SUCCESS
 batch name: 13-basic-attrs
 test mode:  c
 test type:  basic
 batch name: 14-sim-reset
 test mode:  c
 test type:  bpf-sim
 test mode:  c
 test type:  bpf-sim-fuzz
 test mode:  c
 test type:  bpf-valgrind
Test 14-sim-reset%%011-00001 result:   SUCCESS
 batch name: 15-basic-resolver
 test mode:  c
 test type:  basic
 batch name: 16-sim-arch_basic
 test mode:  c
 test type:  bpf-sim
 test mode:  c
 test type:  bpf-sim-fuzz
 test mode:  c
 test type:  bpf-valgrind
Test 16-sim-arch_basic%%014-00001 result:   SUCCESS
 batch name: 17-sim-arch_merge
 test mode:  c
 test type:  bpf-sim
 test mode:  c
 test type:  bpf-sim-fuzz
 test mode:  c
 test type:  bpf-valgrind
Test 17-sim-arch_merge%%011-00001 result:   SUCCESS
 batch name: 18-sim-basic_whitelist
 test mode:  c
 test type:  bpf-sim
 test mode:  c
 test type:  bpf-sim-fuzz
 test mode:  c
 test type:  bpf-valgrind
Test 18-sim-basic_whitelist%%014-00001 result:   SUCCESS
 batch name: 19-sim-missing_syscalls
 test mode:  c
 test type:  bpf-sim
 test mode:  c
 test type:  bpf-sim-fuzz
 test mode:  c
 test type:  bpf-valgrind
Test 19-sim-missing_syscalls%%003-00001 result:   SUCCESS
 batch name: 20-live-basic_die
 test mode:  c
 test type:  live
 batch name: 21-live-basic_allow
 test mode:  c
 test type:  live
 batch name: 22-sim-basic_chains_array
 test mode:  c
 test type:  bpf-sim
 test mode:  c
 test type:  bpf-sim-fuzz
 test mode:  c
 test type:  bpf-valgrind
Test 22-sim-basic_chains_array%%014-00001 result:   SUCCESS
 batch name: 23-sim-arch_all_basic
 test mode:  c
 test type:  bpf-sim
 test mode:  c
 test type:  bpf-sim-fuzz
 test mode:  c
 test type:  bpf-valgrind
Test 23-sim-arch_all_basic%%009-00001 result:   SUCCESS
 batch name: 24-live-arg_allow
 test mode:  c
 test type:  live
 batch name: 25-sim-multilevel_chains_adv
 test mode:  c
 test type:  bpf-sim
 test mode:  c
 test type:  bpf-sim-fuzz
 test mode:  c
 test type:  bpf-valgrind
Test 25-sim-multilevel_chains_adv%%012-00001 result:   SUCCESS
Regression Test Summary
 tests run: 19
 tests skipped: 0
 tests passed: 19
 tests failed: 0
 tests errored: 0
============================================================

Comment 8 Ludek Smid 2014-06-13 12:03:16 UTC
This request was resolved in Red Hat Enterprise Linux 7.0.

Contact your manager or support representative in case you have further questions about the request.