./deagle --no-assertions --datarace --32 /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c


--------------------------------------------------------------------------------


Deagle version 2.1 64-bit x86_64 linux
which contains:
CBMC version 5.67.0 (SVCOMP2023_221122-2-g2121ef1a2) 64-bit x86_64 linux
Parsing /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c
Converting
Type-checking test-easy6.wvr
Generating GOTO Program
Adding CPROVER library (x86_64)
file <builtin-library-pthread_create> line 20: warning: pointer parameter types differ between declaration and definition "pthread_create"
old definition in module test-easy6.wvr file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c line 22
signed int (pthread_t *, const pthread_attr_t *, void * (*)(void *), void *)
new definition in module <built-in-library> file <builtin-library-pthread_create> line 20
signed int (pthread_t *thread, const pthread_attr_t *attr, void * (*start_routine)(void *), void *arg)
Removal of function pointers and virtual functions
file <builtin-library-__spawned_thread> line 34 function __spawned_thread: replacing function pointer by 2 possible targets
Generic Property Instrumentation
Running with 8 object bits, 24 offset bits (default)
Starting Bounded Model Checking
[Warning][Race] Memory location e2@test-easy6.wvr.c:38:11 (race with conf. 110):
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:111:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:56:3)
  write with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:112:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:76:3)
  write with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:112:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:85:3)
[Warning][Race] Memory location e1@test-easy6.wvr.c:38:7 (race with conf. 110):
  read with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:112:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:88:3)
  write with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:111:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:44:3)
  write with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:111:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:53:3)
[Warning][Race] Memory location i@test-easy6.wvr.c:39:25 (race with conf. 110):
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:111:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:62:3)
  read with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:112:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:94:3)
  read with {thread:([main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:115:3)
  write with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:111:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:65:3)
  write with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:112:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:97:3)
[Warning][Race] Memory location n2@test-easy6.wvr.c:39:9 (race with conf. 110):
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:111:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:47:3)
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:111:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:59:3)
  read with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:112:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:91:3)
  write with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:112:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:82:3)
  write with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:112:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:100:3)
[Warning][Race] Memory location n1@test-easy6.wvr.c:39:5 (race with conf. 110):
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:111:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:59:3)
  read with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:112:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:79:3)
  read with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:112:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:91:3)
  write with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:111:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:50:3)
  write with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:111:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c:68:3)

Summary for all memory locations:
	safe:            4
	vulnerable:      0
	unsafe:          5
	-------------------
	total:           9
Use SV-COMP unwinding strategy: 2
Deagle's solver is set!!!!!!
aborting path on assume(false) at file <builtin-library-abort> line 6 function abort thread 0
aborting path on assume(false) at file <builtin-library-abort> line 6 function abort thread 1
aborting path on assume(false) at file <builtin-library-abort> line 6 function abort thread 1
aborting path on assume(false) at file <builtin-library-abort> line 6 function abort thread 2
aborting path on assume(false) at file <builtin-library-abort> line 6 function abort thread 2
Handling datarace, passing the problem to goblint first
getcwd: /mnt/goblint-svcomp/benchexec/tools-pldi/deagle
/mnt/goblint-svcomp/benchexec/tools-pldi/deagle/goblint/goblint /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c | tee goblint/goblint_output: 0
Lines where datarace may occur: 100 101 115 116 44 45 47 48 50 51 53 54 56 57 59 60 62 63 65 66 68 69 76 77 79 80 82 83 85 86 88 89 91 92 94 95 97 98 
The number of races before goblint filter: 32
The number of races after goblint filter: 4
Race categories: 2
	115(1) - 66(1) i:
		i#2 i#6
		i#3 i#6
	115(1) - 98(1) i:
		i#2 i#9
		i#3 i#9
Runtime Symex: 0.261052s
Adding SC constraints
Shared __CPROVER_threads_exited: 4R/3W
Shared __CPROVER_next_thread_id: 3R/3W
Shared e1: 1R/3W
Shared e2: 1R/3W
Shared n1: 3R/3W
Shared n2: 3R/3W
Shared tmp1: 1R/2W
Shared tmp2: 1R/2W
Shared i: 4R/3W
Shared i1: 1R/2W
Shared i2: 1R/2W
Shared main::1::t1!0@1: 2R/2W
Shared main::1::t2!0@1: 2R/2W
size of program expression: 443 steps
no slicing due to threads
Generated 0 VCC(s), 0 remaining after simplification
Runtime Postprocess Equation: 0.00150054s
Passing problem to propositional reduction
converting SSA
Runtime Convert SSA: 0.00222435s
Set Deagle solver's graph
Running propositional reduction
Post-processing
Runtime Post-process: 0.000953514s
Solving with Deagle's Closure solver
3486 variables, 9402 clauses
ClosureSolver finishes with 9 conflicts, 37 decisions, and 2686 propagations. 26 theory propagations and 3 cycles included.
SAT checker: instance is UNSATISFIABLE
Runtime Solver: 0.00169815s
Runtime decision procedure: 0.0115831s

** Results:
/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/test-easy6.wvr.c function main
[nodatarace.assertion.0] line 112 No data races on variable i between line 115 and line 66: SUCCESS
[nodatarace.assertion.1] line 112 No data races on variable i between line 115 and line 98: SUCCESS

** 0 of 2 failed (1 iterations)
VERIFICATION SUCCESSFUL
