./deagle --no-assertions --datarace --32 /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.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/chl-word-trans.wvr.c
Converting
Type-checking chl-word-trans.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 chl-word-trans.wvr file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.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 3 possible targets
Generic Property Instrumentation
Running with 8 object bits, 24 offset bits (default)
Starting Bounded Model Checking
[Warning][Unknown] Invalidating expressions: AddrOf(Var(count1,
                                     NoOffset)) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:109:3)
[Warning][Unknown] Invalidating expressions: AddrOf(Var(count2, NoOffset)) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:110:3)
[Warning][Unknown] Invalidating expressions: AddrOf(Var(count3, NoOffset)) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:111:3)
[Warning][Unknown] Invalidating expressions: AddrOf(Var(n1, NoOffset)) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:112:3)
[Warning][Unknown] Invalidating expressions: AddrOf(Var(n2, NoOffset)) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:113:3)
[Warning][Unknown] Invalidating expressions: AddrOf(Var(n3, NoOffset)) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:114:3)
[Warning][Unknown] Invalidating expressions: IndexPI(Lval(Var(arr, NoOffset)), Lval(Var(i, NoOffset))) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:139:5)
[Warning][Unknown] Invalidating expressions: IndexPI(Lval(Var(arr,
                                           NoOffset)), Lval(Var(i, NoOffset))) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:139:5)
[Warning][Unknown] Invalidating expressions: IndexPI(Lval(Var(arr,
                                           NoOffset)), Lval(Var(i, NoOffset))) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:139:5)
[Warning][Race] Memory location res3@chl-word-trans.wvr.c:42:53 (race with conf. 110):
  read with {thread:([main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:127:3)
  write with {thread:([thread3@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:123:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:91:9)
  write with {thread:([thread3@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:123:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:97:7)
  write with {thread:([thread3@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:123:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:100:5)
[Warning][Race] Memory location res1@chl-word-trans.wvr.c:42:41 (race with conf. 110):
  read with {thread:([main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:127:3)
  write with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:121:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:51:9)
  write with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:121:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:57:7)
  write with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:121:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:60:5)
[Warning][Race] Memory location res2@chl-word-trans.wvr.c:42:47 (race with conf. 110):
  read with {thread:([main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:127:3)
  write with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:122:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:71:9)
  write with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:122:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:77:7)
  write with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:122:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c:80:5)

Summary for all memory locations:
	safe:           10
	vulnerable:      0
	unsafe:          3
	-------------------
	total:          13
res3's upper bound is 0
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 0
Unwinding loop create_fresh_int_array.0 iteration 1 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c line 138 function create_fresh_int_array thread 0
Not unwinding loop create_fresh_int_array.0 iteration 2 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c line 138 function create_fresh_int_array thread 0
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 0
Unwinding loop create_fresh_int_array.0 iteration 1 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c line 138 function create_fresh_int_array thread 0
Not unwinding loop create_fresh_int_array.0 iteration 2 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c line 138 function create_fresh_int_array thread 0
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 0
Unwinding loop create_fresh_int_array.0 iteration 1 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c line 138 function create_fresh_int_array thread 0
Not unwinding loop create_fresh_int_array.0 iteration 2 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c line 138 function create_fresh_int_array thread 0
aborting path on assume(false) at file <builtin-library-abort> line 6 function abort thread 0
Unwinding loop thread1.0 iteration 1 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c line 49 function thread1 thread 1
Not unwinding loop thread1.0 iteration 2 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c line 49 function thread1 thread 1
Unwinding loop thread2.0 iteration 1 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c line 69 function thread2 thread 2
Not unwinding loop thread2.0 iteration 2 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c line 69 function thread2 thread 2
Unwinding loop thread3.0 iteration 1 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c line 89 function thread3 thread 3
Not unwinding loop thread3.0 iteration 2 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c line 89 function thread3 thread 3
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/chl-word-trans.wvr.c | tee goblint/goblint_output: 0
Lines where datarace may occur: 100 101 109 110 127 128 139 140 51 52 57 58 60 61 71 72 77 78 80 81 91 92 97 98 
The number of races before goblint filter: 216
The number of races after goblint filter: 52
Race categories: 19
	109(1) - 100(1) count1:
		count1#2 count1#6
	109(1) - 60(1) count1:
		count1#2 count1#4
	110(1) - 60(1) count2:
		count2#2 count2#4
	110(1) - 80(1) count2:
		count2#2 count2#6
	127(1) - 51(1) res1:
		res1#2 res1#4
		res1#2 res1#5
		res1#3 res1#4
		res1#3 res1#5
	127(1) - 57(1) res1:
		res1#2 res1#6
		res1#3 res1#6
	127(1) - 60(1) res1:
		res1#2 res1#7
		res1#3 res1#7
	127(1) - 71(1) res2:
		res2#2 res2#4
		res2#2 res2#5
		res2#3 res2#4
		res2#3 res2#5
	127(1) - 77(1) res2:
		res2#2 res2#6
		res2#3 res2#6
	127(1) - 80(1) res2:
		res2#2 res2#7
		res2#3 res2#7
	127(1) - 100(1) res3:
		res3#2 res3#7
		res3#3 res3#7
	127(1) - 91(1) res3:
		res3#2 res3#4
		res3#2 res3#5
		res3#3 res3#4
		res3#3 res3#5
	127(1) - 97(1) res3:
		res3#2 res3#6
		res3#3 res3#6
	139(1) - 51(1) symex_dynamic::dynamic_object1:
		symex_dynamic::dynamic_object1#2 symex_dynamic::dynamic_object1#6
		symex_dynamic::dynamic_object1#2 symex_dynamic::dynamic_object1#8
		symex_dynamic::dynamic_object1#3 symex_dynamic::dynamic_object1#6
		symex_dynamic::dynamic_object1#3 symex_dynamic::dynamic_object1#8
	139(1) - 91(1) symex_dynamic::dynamic_object1:
		symex_dynamic::dynamic_object1#2 symex_dynamic::dynamic_object1#10
		symex_dynamic::dynamic_object1#2 symex_dynamic::dynamic_object1#12
		symex_dynamic::dynamic_object1#3 symex_dynamic::dynamic_object1#10
		symex_dynamic::dynamic_object1#3 symex_dynamic::dynamic_object1#12
	139(1) - 51(1) symex_dynamic::dynamic_object2:
		symex_dynamic::dynamic_object2#2 symex_dynamic::dynamic_object2#6
		symex_dynamic::dynamic_object2#2 symex_dynamic::dynamic_object2#8
		symex_dynamic::dynamic_object2#3 symex_dynamic::dynamic_object2#6
		symex_dynamic::dynamic_object2#3 symex_dynamic::dynamic_object2#8
	139(1) - 71(1) symex_dynamic::dynamic_object2:
		symex_dynamic::dynamic_object2#2 symex_dynamic::dynamic_object2#10
		symex_dynamic::dynamic_object2#2 symex_dynamic::dynamic_object2#12
		symex_dynamic::dynamic_object2#3 symex_dynamic::dynamic_object2#10
		symex_dynamic::dynamic_object2#3 symex_dynamic::dynamic_object2#12
	139(1) - 71(1) symex_dynamic::dynamic_object3:
		symex_dynamic::dynamic_object3#2 symex_dynamic::dynamic_object3#6
		symex_dynamic::dynamic_object3#2 symex_dynamic::dynamic_object3#8
		symex_dynamic::dynamic_object3#3 symex_dynamic::dynamic_object3#6
		symex_dynamic::dynamic_object3#3 symex_dynamic::dynamic_object3#8
	139(1) - 91(1) symex_dynamic::dynamic_object3:
		symex_dynamic::dynamic_object3#2 symex_dynamic::dynamic_object3#10
		symex_dynamic::dynamic_object3#2 symex_dynamic::dynamic_object3#12
		symex_dynamic::dynamic_object3#3 symex_dynamic::dynamic_object3#10
		symex_dynamic::dynamic_object3#3 symex_dynamic::dynamic_object3#12
Runtime Symex: 1.48807s
Adding SC constraints
Shared __CPROVER_threads_exited: 6R/4W
Shared __CPROVER_next_thread_id: 5R/4W
Shared get1: 8R/2W
Shared get2: 8R/2W
Shared get3: 8R/2W
Shared count1: 4R/2W
Shared count2: 4R/2W
Shared count3: 4R/2W
Shared n1: 6R/2W
Shared n2: 6R/2W
Shared n3: 6R/2W
Shared res1: 2R/5W
Shared res2: 2R/5W
Shared res3: 2R/5W
Shared main::1::t1!0@1: 2R/2W
Shared main::1::t2!0@1: 2R/2W
Shared main::1::t3!0@1: 2R/2W
Shared symex_dynamic::dynamic_object1: 8R/3W
Shared symex_dynamic::dynamic_object2: 8R/3W
Shared symex_dynamic::dynamic_object3: 8R/3W
size of program expression: 1185 steps
no slicing due to threads
Generated 0 VCC(s), 0 remaining after simplification
Runtime Postprocess Equation: 0.00482703s
Passing problem to propositional reduction
converting SSA
Runtime Convert SSA: 0.00784397s
Set Deagle solver's graph
Running propositional reduction
Post-processing
Runtime Post-process: 0.00762779s
Solving with Deagle's Closure solver
22433 variables, 64706 clauses
ClosureSolver finishes with 97 conflicts, 17538 decisions, and 106722 propagations. 344 theory propagations and 14 cycles included.
SAT checker: instance is UNSATISFIABLE
Runtime Solver: 0.0277105s
Runtime decision procedure: 0.0554602s

** Results:
/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/chl-word-trans.wvr.c function main
[nodatarace.assertion.0] line 123 No data races on variable count1 between line 109 and line 100: SUCCESS
[nodatarace.assertion.1] line 123 No data races on variable count1 between line 109 and line 60: SUCCESS
[nodatarace.assertion.2] line 123 No data races on variable count2 between line 110 and line 60: SUCCESS
[nodatarace.assertion.3] line 123 No data races on variable count2 between line 110 and line 80: SUCCESS
[nodatarace.assertion.4] line 123 No data races on variable res1 between line 127 and line 51: SUCCESS
[nodatarace.assertion.5] line 123 No data races on variable res1 between line 127 and line 57: SUCCESS
[nodatarace.assertion.6] line 123 No data races on variable res1 between line 127 and line 60: SUCCESS
[nodatarace.assertion.7] line 123 No data races on variable res2 between line 127 and line 71: SUCCESS
[nodatarace.assertion.8] line 123 No data races on variable res2 between line 127 and line 77: SUCCESS
[nodatarace.assertion.9] line 123 No data races on variable res2 between line 127 and line 80: SUCCESS
[nodatarace.assertion.10] line 123 No data races on variable res3 between line 127 and line 100: SUCCESS
[nodatarace.assertion.11] line 123 No data races on variable res3 between line 127 and line 91: SUCCESS
[nodatarace.assertion.12] line 123 No data races on variable res3 between line 127 and line 97: SUCCESS
[nodatarace.assertion.13] line 123 No data races on variable symex_dynamic::dynamic_object1 between line 139 and line 51: SUCCESS
[nodatarace.assertion.14] line 123 No data races on variable symex_dynamic::dynamic_object1 between line 139 and line 91: SUCCESS
[nodatarace.assertion.15] line 123 No data races on variable symex_dynamic::dynamic_object2 between line 139 and line 51: SUCCESS
[nodatarace.assertion.16] line 123 No data races on variable symex_dynamic::dynamic_object2 between line 139 and line 71: SUCCESS
[nodatarace.assertion.17] line 123 No data races on variable symex_dynamic::dynamic_object3 between line 139 and line 71: SUCCESS
[nodatarace.assertion.18] line 123 No data races on variable symex_dynamic::dynamic_object3 between line 139 and line 91: SUCCESS

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