./deagle --no-assertions --datarace --32 /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i


--------------------------------------------------------------------------------


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/pthread-ext/08_rand_cas-race.i
Converting
Type-checking 08_rand_cas-race
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 08_rand_cas-race file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i line 409
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 1 possible targets
Generic Property Instrumentation
Running with 8 object bits, 24 offset bits (default)
Starting Bounded Model Checking
Use SV-COMP unwinding strategy: 2
Deagle's solver is set!!!!!!
Unwinding loop main.0 iteration 1 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i line 778 function main thread 0
Not unwinding loop main.0 iteration 2 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i line 778 function main 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
Unwinding loop PseudoRandomUsingAtomic_monitor.0 iteration 1 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i line 741 function PseudoRandomUsingAtomic_monitor thread 1
aborting path on assume(false) at file <builtin-library-abort> line 6 function abort thread 1
Not unwinding loop PseudoRandomUsingAtomic_monitor.0 iteration 2 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i line 741 function PseudoRandomUsingAtomic_monitor thread 1
aborting path on assume(false) at file <builtin-library-abort> line 6 function abort thread 1
Unwinding loop calculateNext.0 iteration 1 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i line 695 function calculateNext thread 1
Not unwinding loop calculateNext.0 iteration 2 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i line 695 function calculateNext thread 1
aborting path on assume(false) at file <builtin-library-abort> line 6 function abort thread 1
Unwinding loop PseudoRandomUsingAtomic_nextInt.0 iteration 1 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i line 727 function PseudoRandomUsingAtomic_nextInt thread 1
Unwinding loop calculateNext.0 iteration 1 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i line 695 function calculateNext thread 1
Not unwinding loop calculateNext.0 iteration 2 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i line 695 function calculateNext thread 1
aborting path on assume(false) at file <builtin-library-abort> line 6 function abort thread 1
Not unwinding loop PseudoRandomUsingAtomic_nextInt.0 iteration 2 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i line 727 function PseudoRandomUsingAtomic_nextInt 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 PseudoRandomUsingAtomic_monitor.0 iteration 1 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i line 741 function PseudoRandomUsingAtomic_monitor thread 2
aborting path on assume(false) at file <builtin-library-abort> line 6 function abort thread 2
Not unwinding loop PseudoRandomUsingAtomic_monitor.0 iteration 2 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i line 741 function PseudoRandomUsingAtomic_monitor thread 2
aborting path on assume(false) at file <builtin-library-abort> line 6 function abort thread 2
Unwinding loop calculateNext.0 iteration 1 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i line 695 function calculateNext thread 2
Not unwinding loop calculateNext.0 iteration 2 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i line 695 function calculateNext thread 2
aborting path on assume(false) at file <builtin-library-abort> line 6 function abort thread 2
Unwinding loop PseudoRandomUsingAtomic_nextInt.0 iteration 1 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i line 727 function PseudoRandomUsingAtomic_[Warning][Unknown] Invalidating expressions: AddrOf(Var(calculateNext_return,
                                     NoOffset)) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i:693:3)
[Warning][Deadcode] Function "__bswap_32" will never be called: 1LoC (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i:72:1)
[Warning][Deadcode] Function "__bswap_64" will never be called: 1LoC (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i:77:1)
[Warning][Deadcode] Function "__uint16_identity" will never be called: 1LoC (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i:82:1)
[Warning][Deadcode] Function "__uint32_identity" will never be called: 1LoC (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i:87:1)
[Warning][Deadcode] Function "__uint64_identity" will never be called: 1LoC (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i:92:1)
[Warning][Race] Memory location seed@08_rand_cas-race.i:698:14 (race with conf. 110):
  read with {} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i:715:2)
  read with {} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i:728:3)
  read with {} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i:743:5)
  write with {} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i:717:3)
  write with {} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i:748:2)
[Warning][Race] Memory location state@08_rand_cas-race.i:756:14 (race with conf. 110):
  read with {} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i:762:2)
  read with {} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i:768:2)
  write with {} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i:764:3)
[Warning][Race] Memory location m@08_rand_cas-race.i:698:20 (race with conf. 110):
  read with {} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i:701:2)
  read with {} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i:706:2)
  write with {} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i:702:2)
  write with {} (conf. 110) (/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i:707:2)

Summary for all memory locations:
	safe:            0
	vulnerable:      0
	unsafe:          3
	-------------------
	total:           3
nextInt thread 2
Unwinding loop calculateNext.0 iteration 1 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i line 695 function calculateNext thread 2
Not unwinding loop calculateNext.0 iteration 2 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i line 695 function calculateNext thread 2
aborting path on assume(false) at file <builtin-library-abort> line 6 function abort thread 2
Not unwinding loop PseudoRandomUsingAtomic_nextInt.0 iteration 2 file /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/pthread-ext/08_rand_cas-race.i line 727 function PseudoRandomUsingAtomic_nextInt thread 2
aborting path on assume(false) at file <builtin-library-abort> line 6 function abort 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/pthread-ext/08_rand_cas-race.i | tee goblint/goblint_output: 0
Lines where datarace may occur: 693 694 701 702 703 706 707 708 715 716 717 718 728 729 743 744 748 749 762 763 764 765 768 769 
The number of races before goblint filter: 74
The number of races after goblint filter: 14
Race categories: 10
	728(1) - 748(1) seed:
		seed#5 seed#15
		seed#10 seed#15
	743(1) - 748(1) seed:
		seed#3 seed#15
		seed#4 seed#15
	748(1) - 728(1) seed:
		seed#2 seed#18
		seed#2 seed#23
	748(1) - 743(1) seed:
		seed#2 seed#16
		seed#2 seed#17
	748(1) - 748(1) seed:
		seed#2 seed#15
	762(1) - 764(1) state:
		state#2 state#7
	764(1) - 762(1) state:
		state#4 state#5
	764(1) - 764(1) state:
		state#4 state#7
	764(1) - 768(1) state:
		state#4 state#6
	768(1) - 764(1) state:
		state#3 state#7
Runtime Symex: 0.335886s
Unsupported __VERIFIER_atomic_* function!
