Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Runtime/POSIX/DirConsistency test fails #1010

Closed
jirislaby opened this issue Oct 29, 2018 · 2 comments
Closed

Runtime/POSIX/DirConsistency test fails #1010

jirislaby opened this issue Oct 29, 2018 · 2 comments

Comments

@jirislaby
Copy link
Contributor

I am now seeing failures of the test. I don't know why as I didn't update anything serious. It happens both with LLVM 6 and LLVM 7:

[  107s] ******************** TEST 'KLEE :: Runtime/POSIX/DirConsistency.c' FAILED ********************
[  107s] Script:
[  107s] --
[  107s] /usr/bin/clang-7.0 -I/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/include /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/test/Runtime/POSIX/DirConsistency.c -emit-llvm -O0 -Xclang -disable-O0-optnone -c -o /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.bc
[  107s] rm -rf /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.klee-out /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.klee-out-tmp
[  107s] /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/scripts/genTempFiles.sh /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.klee-out-tmp
[  107s] /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/bin/klee --output-dir=/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.klee-out --run-in=/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.klee-out-tmp --search=random-state --libc=uclibc --posix-runtime --exit-on-error /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.bc --sym-files 1 1 > /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp1.log
[  107s] /usr/bin/clang-7.0 -I/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/include -D_FILE_OFFSET_BITS=64 /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/test/Runtime/POSIX/DirConsistency.c -emit-llvm -O0 -Xclang -disable-O0-optnone -c -o /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.bc
[  107s] rm -rf /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.klee-out /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.klee-out-tmp
[  107s] /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/scripts/genTempFiles.sh /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.klee-out-tmp
[  107s] /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/bin/klee --output-dir=/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.klee-out --run-in=/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.klee-out-tmp --search=random-state --libc=uclibc --posix-runtime --exit-on-error /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.bc --sym-files 1 1 > /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp2.log
[  107s] sort /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp1.log /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp2.log | uniq -c > /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp3.log
[  107s] grep -q "4 COUNT" /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp3.log
[  107s] --
[  107s] Exit Code: 1
[  107s] 
[  107s] Command Output (stdout):
[  107s] --
[  107s] $ "/usr/bin/clang-7.0" "-I/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/include" "/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/test/Runtime/POSIX/DirConsistency.c" "-emit-llvm" "-O0" "-Xclang" "-disable-O0-optnone" "-c" "-o" "/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.bc"
[  107s] # command stderr:
[  107s] /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/test/Runtime/POSIX/DirConsistency.c:43:7: warning: implicit declaration of function 'klee_range' is invalid in C99 [-Wimplicit-function-declaration]
[  107s]   if (klee_range(0,2,"range")) {
[  107s]       ^
[  107s] /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/test/Runtime/POSIX/DirConsistency.c:52:9: warning: implicitly declaring library function 'strcmp' with type 'int (const char *, const char *)' [-Wimplicit-function-declaration]
[  107s]     if (strcmp(de->d_name, "A") == 0)
[  107s]         ^
[  107s] /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/test/Runtime/POSIX/DirConsistency.c:52:9: note: include the header <string.h> or explicitly provide a declaration for 'strcmp'
[  107s] 2 warnings generated.
[  107s] 
[  107s] $ "rm" "-rf" "/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.klee-out" "/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.klee-out-tmp"
[  107s] $ "/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/scripts/genTempFiles.sh" "/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.klee-out-tmp"
[  107s] $ "/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/bin/klee" "--output-dir=/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.klee-out" "--run-in=/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.klee-out-tmp" "--search=random-state" "--libc=uclibc" "--posix-runtime" "--exit-on-error" "/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.bc" "--sym-files" "1" "1"
[  107s] # command stderr:
[  107s] KLEE: NOTE: Using POSIX model: /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/Debug+Asserts/lib/libkleeRuntimePOSIX.bca
[  107s] KLEE: NOTE: Using klee-uclibc : /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/Debug+Asserts/lib/klee-uclibc.bca
[  107s] KLEE: output directory is "/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.klee-out"
[  107s] KLEE: Using STP solver backend
[  107s] KLEE: WARNING ONCE: calling external: syscall(16, 0, 21505, 36607280) at /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/runtime/POSIX/fd.c:980
[  107s] KLEE: WARNING ONCE: calling __user_main with extra arguments.
[  107s] KLEE: WARNING ONCE: Alignment of memory from call "malloc" is not modelled. Using alignment of 8.
[  107s] KLEE: WARNING ONCE: Alignment of memory from call "calloc" is not modelled. Using alignment of 8.
[  107s] KLEE: WARNING ONCE: calling external: printf(33563712, 2) at [no debug info]
[  107s] 
[  107s] KLEE: done: total instructions = 387405
[  107s] KLEE: done: completed paths = 2
[  107s] KLEE: done: generated tests = 2
[  107s] 
[  107s] $ "/usr/bin/clang-7.0" "-I/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/include" "-D_FILE_OFFSET_BITS=64" "/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/test/Runtime/POSIX/DirConsistency.c" "-emit-llvm" "-O0" "-Xclang" "-disable-O0-optnone" "-c" "-o" "/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.bc"
[  107s] # command stderr:
[  107s] /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/test/Runtime/POSIX/DirConsistency.c:43:7: warning: implicit declaration of function 'klee_range' is invalid in C99 [-Wimplicit-function-declaration]
[  107s]   if (klee_range(0,2,"range")) {
[  107s]       ^
[  107s] /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/test/Runtime/POSIX/DirConsistency.c:52:9: warning: implicitly declaring library function 'strcmp' with type 'int (const char *, const char *)' [-Wimplicit-function-declaration]
[  107s]     if (strcmp(de->d_name, "A") == 0)
[  107s]         ^
[  107s] /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/test/Runtime/POSIX/DirConsistency.c:52:9: note: include the header <string.h> or explicitly provide a declaration for 'strcmp'
[  107s] 2 warnings generated.
[  107s] 
[  107s] $ "rm" "-rf" "/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.klee-out" "/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.klee-out-tmp"
[  107s] $ "/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/scripts/genTempFiles.sh" "/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.klee-out-tmp"
[  107s] $ "/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/bin/klee" "--output-dir=/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.klee-out" "--run-in=/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.klee-out-tmp" "--search=random-state" "--libc=uclibc" "--posix-runtime" "--exit-on-error" "/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.bc" "--sym-files" "1" "1"
[  107s] # command stderr:
[  107s] KLEE: NOTE: Using POSIX model: /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/Debug+Asserts/lib/libkleeRuntimePOSIX.bca
[  107s] KLEE: NOTE: Using klee-uclibc : /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/Debug+Asserts/lib/klee-uclibc.bca
[  107s] KLEE: output directory is "/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp.klee-out"
[  107s] KLEE: Using STP solver backend
[  107s] KLEE: WARNING ONCE: calling external: syscall(16, 0, 21505, 54433024) at /home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/runtime/POSIX/fd.c:980
[  107s] KLEE: WARNING ONCE: calling __user_main with extra arguments.
[  107s] KLEE: WARNING ONCE: Alignment of memory from call "malloc" is not modelled. Using alignment of 8.
[  107s] KLEE: WARNING ONCE: Alignment of memory from call "calloc" is not modelled. Using alignment of 8.
[  107s] KLEE: WARNING ONCE: calling external: printf(51389504, 2) at [no debug info]
[  107s] 
[  107s] KLEE: done: total instructions = 268581
[  107s] KLEE: done: completed paths = 2
[  107s] KLEE: done: generated tests = 2
[  107s] 
[  107s] $ "sort" "/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp1.log" "/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp2.log"
[  107s] $ "uniq" "-c"
[  107s] $ "grep" "-q" "4 COUNT" "/home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp3.log"
[  107s] note: command had no output on stdout or stderr
[  107s] error: command failed with exit status: 1

If I dump the files:

$ head /dev/shm/jslaby/xxx//home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp*log
==> /dev/shm/jslaby/xxx//home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp1.log <==
COUNT: 203
state2
COUNT: 203

==> /dev/shm/jslaby/xxx//home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp2.log <==
COUNT: 203
state2
COUNT: 331

==> /dev/shm/jslaby/xxx//home/abuild/rpmbuild/BUILD/klee-1.4.0+20181026/build/test/Runtime/POSIX/Output/DirConsistency.c.tmp3.log <==
      3 COUNT: 203
      1 COUNT: 331
      2 state2

I sometimes see a problem with test/Runtime/POSIX/Replay.c too. FileCheck complains that the file A contains 4 letters b:

FileCheck --input-file=A --check-prefix=CREATE_FILES_ONLY %s
// CREATE_FILES_ONLY: abc

But I saw it only twice so far.

@jirislaby
Copy link
Contributor Author

I cannot reproduce locally, but on the build machine, there are many duplicated dentries:

 tmp_foo_40
 tmp_foo_40
+tmp_foo_40
 tmp_foo_41
 tmp_foo_41
+tmp_foo_41
+tmp_foo_42
 tmp_foo_42
 tmp_foo_42
 tmp_foo_43
 tmp_foo_43
+tmp_foo_43
+tmp_foo_44
 tmp_foo_44
 tmp_foo_44
...

If this happens, then it is always in the -D_FILE_OFFSET_BITS=64 (second) build.

@ccadar
Copy link
Contributor

ccadar commented Mar 20, 2019

@jirislaby I haven't seen this test failing recently, but if it's still an issue on your side, please re-open this issue.

@ccadar ccadar closed this as completed Mar 20, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants