./deagle --no-assertions --datarace --32 /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.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/parallel-lamport.wvr.c
Converting
Type-checking parallel-lamport.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 parallel-lamport.wvr file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.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(tmp1,
                                     NoOffset)) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:135:3)
[Warning][Unknown] Invalidating expressions: AddrOf(Var(tmp2, NoOffset)) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:136:3)
[Warning][Unknown] Invalidating expressions: AddrOf(Var(i, NoOffset)) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:137:3)
[Warning][Unknown] Invalidating expressions: AddrOf(Var(j, NoOffset)) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:138:3)
[Warning][Unknown] Invalidating expressions: AddrOf(Var(i1, NoOffset)) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:139:3)
[Warning][Unknown] Invalidating expressions: AddrOf(Var(i2, NoOffset)) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:140:3)
[Warning][Unknown] Invalidating expressions: AddrOf(Var(n, NoOffset)) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:141:3)
[Warning][Unknown] Invalidating expressions: IndexPI(Lval(Var(arr, NoOffset)), Lval(Var(i___0, NoOffset))) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:172:5)
[Warning][Race] Memory location e1@parallel-lamport.wvr.c:41:7 (race with conf. 110):
  read with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:155:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:96:3)
  write with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:154:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:49:3)
  write with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:154:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:58:3)
[Warning][Race] Memory location e2@parallel-lamport.wvr.c:41:11 (race with conf. 110):
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:154:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:61:3)
  write with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:155:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:84:3)
  write with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:155:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:93:3)
[Warning][Race] Memory location j@parallel-lamport.wvr.c:42:28 (race with conf. 110):
  read with {thread:([thread3@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:156:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:119:3)
  read with {thread:([thread3@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:156:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:122:3)
  read with {thread:([thread3@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:156:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:125:3)
  read with {thread:([main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:160:3)
  write with {thread:([thread3@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:156:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:119:3)
  write with {thread:([thread3@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:156:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:125:3)
[Warning][Race] Memory location i@parallel-lamport.wvr.c:42:25 (race with conf. 110):
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:154:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:67:3)
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:154:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:73:3)
  read with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:155:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:102:3)
  read with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:155:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:108:3)
  read with {thread:([main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:160:3)
  write with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:154:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:70:3)
  write with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:155:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:105:3)
[Warning][Race] Memory location n1@parallel-lamport.wvr.c:42:5 (race with conf. 110):
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:154:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:64:3)
  read with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:155:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:87:3)
  read with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:155:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:99:3)
  write with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:154:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:55:3)
  write with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:154:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:76:3)
[Warning][Race] Memory location n2@parallel-lamport.wvr.c:42:9 (race with conf. 110):
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:154:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:52:3)
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:154:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:64:3)
  read with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:155:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:99:3)
  write with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:155:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:90:3)
  write with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:155:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c:111:3)

Summary for all memory locations:
	safe:            7
	vulnerable:      0
	unsafe:          6
	-------------------
	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
Unwinding loop create_fresh_int_array.0 iteration 1 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c line 171 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/parallel-lamport.wvr.c line 171 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 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 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
aborting path on assume(false) at file <builtin-library-abort> line 6 function abort 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/parallel-lamport.wvr.c | tee goblint/goblint_output: 0
Lines where datarace may occur: 100 102 103 105 106 108 109 111 112 119 120 122 123 125 126 135 136 160 161 49 50 52 53 55 56 58 59 61 62 64 65 67 68 70 71 73 74 76 77 84 85 87 88 90 91 93 94 96 97 99 
The number of races before goblint filter: 104
The number of races after goblint filter: 12
Race categories: 8
	160(1) - 106(1) i:
		i#3 i#12
		i#4 i#12
	160(1) - 71(1) i:
		i#3 i#7
		i#4 i#7
	160(1) - 120(1) j:
		j#3 j#7
		j#4 j#7
	160(1) - 126(1) j:
		j#3 j#12
		j#4 j#12
	135(1) - 53(1) tmp1:
		tmp1#2 tmp1#3
	135(1) - 56(1) tmp1:
		tmp1#2 tmp1#4
	136(1) - 88(1) tmp2:
		tmp2#2 tmp2#3
	136(1) - 91(1) tmp2:
		tmp2#2 tmp2#4
Runtime Symex: 0.673304s
Adding SC constraints
Shared f: 4R/2W
Shared __CPROVER_threads_exited: 6R/4W
Shared __CPROVER_next_thread_id: 5R/4W
Shared e1: 1R/4W
Shared e2: 1R/4W
Shared n1: 3R/4W
Shared n2: 3R/4W
Shared tmp1: 1R/3W
Shared tmp2: 1R/3W
Shared i: 6R/4W
Shared j: 5R/4W
Shared i1: 1R/3W
Shared i2: 1R/3W
Shared n: 3R/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: 4R/3W
size of program expression: 854 steps
no slicing due to threads
Generated 0 VCC(s), 0 remaining after simplification
Runtime Postprocess Equation: 0.00340775s
Passing problem to propositional reduction
converting SSA
Runtime Convert SSA: 0.00503894s
Set Deagle solver's graph
Running propositional reduction
Post-processing
Runtime Post-process: 0.0132231s
Solving with Deagle's Closure solver
24433 variables, 84723 clauses
ClosureSolver finishes with 47 conflicts, 135 decisions, and 20872 propagations. 148 theory propagations and 15 cycles included.
SAT checker: instance is UNSATISFIABLE
Runtime Solver: 0.0184971s
Runtime decision procedure: 0.0373282s

** Results:
/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/parallel-lamport.wvr.c function main
[nodatarace.assertion.0] line 156 No data races on variable i between line 160 and line 106: SUCCESS
[nodatarace.assertion.1] line 156 No data races on variable i between line 160 and line 71: SUCCESS
[nodatarace.assertion.2] line 156 No data races on variable j between line 160 and line 120: SUCCESS
[nodatarace.assertion.3] line 156 No data races on variable j between line 160 and line 126: SUCCESS
[nodatarace.assertion.4] line 156 No data races on variable tmp1 between line 135 and line 53: SUCCESS
[nodatarace.assertion.5] line 156 No data races on variable tmp1 between line 135 and line 56: SUCCESS
[nodatarace.assertion.6] line 156 No data races on variable tmp2 between line 136 and line 88: SUCCESS
[nodatarace.assertion.7] line 156 No data races on variable tmp2 between line 136 and line 91: SUCCESS

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