./deagle --no-assertions --datarace --32 /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.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-queue-add-3.wvr.c
Converting
Type-checking popl20-queue-add-3.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-queue-add-3.wvr file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.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(N,
                                     NoOffset)) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:105:3)
[Warning][Unknown] Invalidating expressions: AddrOf(Var(n1, NoOffset)) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:106:3)
[Warning][Unknown] Invalidating expressions: AddrOf(Var(n2, NoOffset)) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:107:3)
[Warning][Unknown] Invalidating expressions: AddrOf(Var(q1_front, NoOffset)) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:108:3)
[Warning][Unknown] Invalidating expressions: AddrOf(Var(q2_front, NoOffset)) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:110:3)
[Warning][Unknown] Invalidating expressions: IndexPI(Lval(Var(arr, NoOffset)), Lval(Var(i, NoOffset))) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:137:5)
[Warning][Unknown] Invalidating expressions: IndexPI(Lval(Var(arr,
                                           NoOffset)), Lval(Var(i, NoOffset))) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:137:5)
[Warning][Race] Memory location q1_back@popl20-queue-add-3.wvr.c:42:15 (race with conf. 110):
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:119:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:49:5)
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:119:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:50:5)
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:119:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:51:5)
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:119:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:55:3)
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:119:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:56:3)
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:119:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:57:3)
  read with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:120:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:67:5)
  write with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:119:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:51:5)
  write with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:119:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:57:3)
[Warning][Race] Memory location t@popl20-queue-add-3.wvr.c:42:46 (race with conf. 110):
  read with {thread:([thread3@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:121:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:93:5)
  read with {thread:([main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:125:3)
  write with {thread:([thread3@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:121:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:93:5)
[Warning][Race] Memory location q2_back@popl20-queue-add-3.wvr.c:42:34 (race with conf. 110):
  read with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:120:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:72:5)
  read with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:120:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:73:5)
  read with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:120:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:74:5)
  read with {thread:([thread3@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:121:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:89:5)
  write with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:120:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c:74:5)

Summary for all memory locations:
	safe:            9
	vulnerable:      0
	unsafe:          3
	-------------------
	total:          12
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/popl20-queue-add-3.wvr.c line 136 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-queue-add-3.wvr.c line 136 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-queue-add-3.wvr.c line 136 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-queue-add-3.wvr.c line 136 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-queue-add-3.wvr.c line 47 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-queue-add-3.wvr.c line 47 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
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-queue-add-3.wvr.c line 65 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-queue-add-3.wvr.c line 65 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-queue-add-3.wvr.c line 87 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-queue-add-3.wvr.c line 87 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-queue-add-3.wvr.c | tee goblint/goblint_output: 0
Lines where datarace may occur: 105 106 125 126 137 138 49 50 51 52 55 56 57 58 67 68 72 73 74 75 89 90 93 94 
The number of races before goblint filter: 123
The number of races after goblint filter: 17
Race categories: 6
	106(1) - 52(1) n1:
		n1#2 n1#3
		n1#2 n1#5
	106(1) - 58(1) n1:
		n1#2 n1#7
	137(1) - 52(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
	137(1) - 58(1) symex_dynamic::dynamic_object1:
		symex_dynamic::dynamic_object1#2 symex_dynamic::dynamic_object1#9
		symex_dynamic::dynamic_object1#3 symex_dynamic::dynamic_object1#9
	137(1) - 75(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
	125(1) - 93(1) t:
		t#2 t#5
		t#2 t#7
		t#3 t#5
		t#3 t#7
Runtime Symex: 0.886604s
Adding SC constraints
Shared __CPROVER_threads_exited: 6R/4W
Shared __CPROVER_next_thread_id: 5R/4W
Shared q1: 5R/2W
Shared q2: 4R/2W
Shared q1_front: 2R/4W
Shared q1_back: 5R/5W
Shared q2_front: 2R/4W
Shared q2_back: 4R/4W
Shared s: 2R/3W
Shared t: 4R/3W
Shared n1: 5R/2W
Shared n2: 4R/2W
Shared N: 4R/2W
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: 5R/3W
Shared symex_dynamic::dynamic_object2: 4R/3W
size of program expression: 1052 steps
no slicing due to threads
Generated 0 VCC(s), 0 remaining after simplification
Runtime Postprocess Equation: 0.00428966s
Passing problem to propositional reduction
converting SSA
Runtime Convert SSA: 0.00730904s
Set Deagle solver's graph
Running propositional reduction
Post-processing
Runtime Post-process: 0.0280912s
Solving with Deagle's Closure solver
50742 variables, 186356 clauses
ClosureSolver finishes with 28 conflicts, 166 decisions, and 19121 propagations. 101 theory propagations and 9 cycles included.
SAT checker: instance is UNSATISFIABLE
Runtime Solver: 0.0326033s
Runtime decision procedure: 0.0550498s

** Results:
/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-queue-add-3.wvr.c function main
[nodatarace.assertion.0] line 121 No data races on variable n1 between line 106 and line 52: SUCCESS
[nodatarace.assertion.1] line 121 No data races on variable n1 between line 106 and line 58: SUCCESS
[nodatarace.assertion.2] line 121 No data races on variable symex_dynamic::dynamic_object1 between line 137 and line 52: SUCCESS
[nodatarace.assertion.3] line 121 No data races on variable symex_dynamic::dynamic_object1 between line 137 and line 58: SUCCESS
[nodatarace.assertion.4] line 121 No data races on variable symex_dynamic::dynamic_object2 between line 137 and line 75: SUCCESS
[nodatarace.assertion.5] line 121 No data races on variable t between line 125 and line 93: SUCCESS

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