./deagle --no-assertions --datarace --32 /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.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-more-dec-subseq.wvr.c
Converting
Type-checking popl20-more-dec-subseq.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-more-dec-subseq.wvr file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.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][Unknown] Invalidating expressions: AddrOf(Var(N,
                                     NoOffset)) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:89:3)
[Warning][Unknown] Invalidating expressions: AddrOf(Var(n, NoOffset)) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:90:3)
[Warning][Unknown] Invalidating expressions: AddrOf(Var(start, NoOffset)) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:91:3)
[Warning][Unknown] Invalidating expressions: IndexPI(Lval(Var(arr, NoOffset)), Lval(Var(i___0, NoOffset))) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:118:5)
[Warning][Unknown] Invalidating expressions: IndexPI(Lval(Var(arr,
                                           NoOffset)), Lval(Var(i___0, NoOffset))) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:118:5)
[Warning][Race] Memory location ok@popl20-more-dec-subseq.wvr.c:43:7 (race with conf. 110):
  read with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:103:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:75:5)
  read with {thread:([main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:106:3)
  write with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:103:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:75:5)
[Warning][Race] Memory location end@popl20-more-dec-subseq.wvr.c:42:27 (race with conf. 110):
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:102:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:51:7)
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:102:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:52:7)
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:102:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:53:7)
  read with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:103:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:67:3)
  read with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:103:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:71:5)
  read with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:103:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:78:5)
  write with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:102:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:53:7)
[Warning][Race] Memory location i@popl20-more-dec-subseq.wvr.c:42:5 (race with conf. 110):
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:102:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:48:3)
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:102:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:49:5)
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:102:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:52:7)
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:102:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:55:7)
  read with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:102:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:58:5)
  read with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:103:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:67:3)
  read with {thread:([thread2@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:103:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:78:5)
  write with {thread:([thread1@/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:102:3, main], {})} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c:58: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-more-dec-subseq.wvr.c line 117 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-more-dec-subseq.wvr.c line 117 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-more-dec-subseq.wvr.c line 117 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-more-dec-subseq.wvr.c line 117 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-more-dec-subseq.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-more-dec-subseq.wvr.c line 48 function thread1 thread 1
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-more-dec-subseq.wvr.c line 69 function thread2 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-more-dec-subseq.wvr.c line 69 function thread2 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/popl20-more-dec-subseq.wvr.c | tee goblint/goblint_output: 0
Lines where datarace may occur: 106 107 118 119 48 49 50 51 52 53 54 55 56 58 59 67 68 71 72 75 76 78 79 89 90 
The number of races before goblint filter: 153
The number of races after goblint filter: 27
Race categories: 9
	89(1) - 48(1) N:
		N#2 N#3
		N#2 N#4
	89(1) - 68(1) N:
		N#2 N#5
	89(1) - 79(1) N:
		N#2 N#7
		N#2 N#9
	90(1) - 54(1) n:
		n#2 n#3
		n#2 n#5
	106(1) - 75(1) ok:
		ok#3 ok#6
		ok#3 ok#8
		ok#4 ok#6
		ok#4 ok#8
	118(1) - 54(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
	118(1) - 49(1) symex_dynamic::dynamic_object2:
		symex_dynamic::dynamic_object2#2 symex_dynamic::dynamic_object2#5
		symex_dynamic::dynamic_object2#2 symex_dynamic::dynamic_object2#9
		symex_dynamic::dynamic_object2#3 symex_dynamic::dynamic_object2#5
		symex_dynamic::dynamic_object2#3 symex_dynamic::dynamic_object2#9
	118(1) - 54(1) symex_dynamic::dynamic_object2:
		symex_dynamic::dynamic_object2#2 symex_dynamic::dynamic_object2#6
		symex_dynamic::dynamic_object2#2 symex_dynamic::dynamic_object2#10
		symex_dynamic::dynamic_object2#3 symex_dynamic::dynamic_object2#6
		symex_dynamic::dynamic_object2#3 symex_dynamic::dynamic_object2#10
	118(1) - 55(1) symex_dynamic::dynamic_object2:
		symex_dynamic::dynamic_object2#2 symex_dynamic::dynamic_object2#8
		symex_dynamic::dynamic_object2#2 symex_dynamic::dynamic_object2#12
		symex_dynamic::dynamic_object2#3 symex_dynamic::dynamic_object2#8
		symex_dynamic::dynamic_object2#3 symex_dynamic::dynamic_object2#12
Runtime Symex: 1.06656s
Adding SC constraints
Shared __CPROVER_threads_exited: 4R/3W
Shared __CPROVER_next_thread_id: 3R/3W
Shared queue: 4R/2W
Shared A: 6R/2W
Shared i: 17R/3W
Shared N: 5R/2W
Shared n: 4R/2W
Shared last: 2R/4W
Shared start: 5R/4W
Shared end: 7R/4W
Shared new: 4R/3W
Shared v_old: 2R/4W
Shared ok: 4R/4W
Shared main::1::t1!0@1: 2R/2W
Shared main::1::t2!0@1: 2R/2W
Shared symex_dynamic::dynamic_object1: 4R/3W
Shared symex_dynamic::dynamic_object2: 6R/3W
size of program expression: 951 steps
no slicing due to threads
Generated 0 VCC(s), 0 remaining after simplification
Runtime Postprocess Equation: 0.00449563s
Passing problem to propositional reduction
converting SSA
Runtime Convert SSA: 0.0060903s
Set Deagle solver's graph
Running propositional reduction
Post-processing
Runtime Post-process: 0.028248s
Solving with Deagle's Closure solver
52469 variables, 198052 clauses
ClosureSolver finishes with 10 conflicts, 44 decisions, and 8928 propagations. 87 theory propagations and 1 cycles included.
SAT checker: instance is UNSATISFIABLE
Runtime Solver: 0.0318882s
Runtime decision procedure: 0.0540231s

** Results:
/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/weaver/popl20-more-dec-subseq.wvr.c function main
[nodatarace.assertion.0] line 103 No data races on variable N between line 89 and line 48: SUCCESS
[nodatarace.assertion.1] line 103 No data races on variable N between line 89 and line 68: SUCCESS
[nodatarace.assertion.2] line 103 No data races on variable N between line 89 and line 79: SUCCESS
[nodatarace.assertion.3] line 103 No data races on variable n between line 90 and line 54: SUCCESS
[nodatarace.assertion.4] line 103 No data races on variable ok between line 106 and line 75: SUCCESS
[nodatarace.assertion.5] line 103 No data races on variable symex_dynamic::dynamic_object1 between line 118 and line 54: SUCCESS
[nodatarace.assertion.6] line 103 No data races on variable symex_dynamic::dynamic_object2 between line 118 and line 49: SUCCESS
[nodatarace.assertion.7] line 103 No data races on variable symex_dynamic::dynamic_object2 between line 118 and line 54: SUCCESS
[nodatarace.assertion.8] line 103 No data races on variable symex_dynamic::dynamic_object2 between line 118 and line 55: SUCCESS

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