./deagle --no-assertions --datarace --32 /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.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/popl20-prod-cons3.wvr.c
Converting
Type-checking popl20-prod-cons3.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 popl20-prod-cons3.wvr file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.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 4 possible targets
Generic Property Instrumentation
Running with 8 object bits, 24 offset bits (default)
Starting Bounded Model Checking
[Warning][Unknown] Invalidating expressions: AddrOf(Var(W,
                                     NoOffset)) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:125:3)
[Warning][Unknown] Invalidating expressions: AddrOf(Var(n1, NoOffset)) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:127:3)
[Warning][Unknown] Invalidating expressions: AddrOf(Var(n2, NoOffset)) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:128:3)
[Warning][Unknown] Invalidating expressions: AddrOf(Var(front1, NoOffset)) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:129:3)
[Warning][Unknown] Invalidating expressions: AddrOf(Var(front2, NoOffset)) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:130:3)
[Warning][Unknown] Invalidating expressions: IndexPI(Lval(Var(arr, NoOffset)), Lval(Var(i, NoOffset))) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:161:5)
[Warning][Unknown] Invalidating expressions: IndexPI(Lval(Var(arr,
                                           NoOffset)), Lval(Var(i, NoOffset))) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:161:5)
[Warning][Race] Memory location v_assert@popl20-prod-cons3.wvr.c:43:7 (race with conf. 110):
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:141:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:50:5)
  read with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:142:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:68:3)
  read with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:142:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:85:5)
  read with {thread:([thread3@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:143:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:95:3)
  read with {thread:([thread3@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:143:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:107:5)
  read with {thread:([main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:149:3)
  write with {thread:([thread4@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:144:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:116:3)
[Warning][Race] Memory location back1@popl20-prod-cons3.wvr.c:42:13 (race with conf. 110):
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:141:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:56:5)
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:141:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:57:5)
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:141:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:58:5)
  read with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:142:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:72:5)
  write with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:141:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:58:5)
[Warning][Race] Memory location d2@popl20-prod-cons3.wvr.c:42:39 (race with conf. 110):
  read with {thread:([thread3@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:143:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:104:5)
  read with {thread:([thread4@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:144:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:116:3)
  write with {thread:([thread3@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:143:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:104:5)
[Warning][Race] Memory location back2@popl20-prod-cons3.wvr.c:42:28 (race with conf. 110):
  read with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:142:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:77:5)
  read with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:142:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:78:5)
  read with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:142:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:79:5)
  read with {thread:([thread3@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:143:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:99:5)
  write with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:142:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c:79:5)

Summary for all memory locations:
	safe:            9
	vulnerable:      0
	unsafe:          4
	-------------------
	total:          13
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
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/popl20-prod-cons3.wvr.c line 160 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/popl20-prod-cons3.wvr.c line 160 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/popl20-prod-cons3.wvr.c line 160 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/popl20-prod-cons3.wvr.c line 160 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
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
Unwinding loop thread1.0 iteration 1 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c line 48 function thread1 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 1
Not unwinding loop thread1.0 iteration 2 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c line 48 function thread1 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
aborting path on assume(false) at file <builtin-library-abort> line 6 function abort thread 2
Unwinding loop thread2.0 iteration 1 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c line 70 function thread2 thread 2
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
aborting path on assume(false) at file <builtin-library-abort> line 6 function abort thread 2
Not unwinding loop thread2.0 iteration 2 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c line 70 function thread2 thread 2
aborting path on assume(false) at file <builtin-library-abort> line 6 function abort thread 3
Unwinding loop thread3.0 iteration 1 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c line 97 function thread3 thread 3
aborting path on assume(false) at file <builtin-library-abort> line 6 function abort thread 3
Not unwinding loop thread3.0 iteration 2 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c line 97 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/popl20-prod-cons3.wvr.c | tee goblint/goblint_output: 0
Lines where datarace may occur: 100 104 105 107 108 116 117 125 126 149 150 161 162 50 51 56 57 58 59 68 69 72 73 77 78 79 80 85 86 95 96 99 
The number of races before goblint filter: 129
The number of races after goblint filter: 11
Race categories: 4
	125(1) - 117(1) W:
		W#2 W#4
	161(1) - 59(1) symex_dynamic::dynamic_object1:
		symex_dynamic::dynamic_object1#2 symex_dynamic::dynamic_object1#5
		symex_dynamic::dynamic_object1#2 symex_dynamic::dynamic_object1#7
		symex_dynamic::dynamic_object1#3 symex_dynamic::dynamic_object1#5
		symex_dynamic::dynamic_object1#3 symex_dynamic::dynamic_object1#7
	161(1) - 80(1) symex_dynamic::dynamic_object2:
		symex_dynamic::dynamic_object2#2 symex_dynamic::dynamic_object2#5
		symex_dynamic::dynamic_object2#2 symex_dynamic::dynamic_object2#7
		symex_dynamic::dynamic_object2#3 symex_dynamic::dynamic_object2#5
		symex_dynamic::dynamic_object2#3 symex_dynamic::dynamic_object2#7
	149(1) - 117(1) v_assert:
		v_assert#3 v_assert#21
		v_assert#4 v_assert#21
Runtime Symex: 1.01803s
Adding SC constraints
Shared __CPROVER_threads_exited: 8R/5W
Shared __CPROVER_next_thread_id: 7R/5W
Shared queue1: 4R/2W
Shared queue2: 4R/2W
Shared front1: 2R/4W
Shared back1: 4R/4W
Shared front2: 2R/4W
Shared back2: 4R/4W
Shared d1: 2R/3W
Shared d2: 3R/3W
Shared n1: 4R/2W
Shared n2: 4R/2W
Shared W: 2R/2W
Shared v_assert: 10R/3W
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 main::1::t4!0@1: 2R/2W
Shared symex_dynamic::dynamic_object1: 4R/3W
Shared symex_dynamic::dynamic_object2: 4R/3W
size of program expression: 1219 steps
no slicing due to threads
Generated 0 VCC(s), 0 remaining after simplification
Runtime Postprocess Equation: 0.00477867s
Passing problem to propositional reduction
converting SSA
Runtime Convert SSA: 0.00788527s
Set Deagle solver's graph
Running propositional reduction
Post-processing
Runtime Post-process: 0.0248357s
Solving with Deagle's Closure solver
46113 variables, 162440 clauses
ClosureSolver finishes with 152 conflicts, 522 decisions, and 57716 propagations. 108 theory propagations and 46 cycles included.
SAT checker: instance is UNSATISFIABLE
Runtime Solver: 0.0361046s
Runtime decision procedure: 0.0612908s

** Results:
/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-prod-cons3.wvr.c function main
[nodatarace.assertion.0] line 144 No data races on variable W between line 125 and line 117: SUCCESS
[nodatarace.assertion.1] line 144 No data races on variable symex_dynamic::dynamic_object1 between line 161 and line 59: SUCCESS
[nodatarace.assertion.2] line 144 No data races on variable symex_dynamic::dynamic_object2 between line 161 and line 80: SUCCESS
[nodatarace.assertion.3] line 144 No data races on variable v_assert between line 149 and line 117: SUCCESS

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