./run_relay.sh /mnt/goblint-svcomp/goblint-bench/the-continuous-race/benchmarks/uthash/main.c


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


duppy -c main.c
duppy'ing main.c to /mnt/goblint-svcomp/goblint-bench/the-continuous-race/tools/svcomp24/relay-sv/tmp.cZCq9uhRbB/ciltrees
gcc -D_GNUCC -E -DCIL=1 main.c -o /tmp/cil-CYnfm6ad.i
../cil/obj/x86_LINUX/cilly.asm.exe --out /tmp/cil-T14UJEna.cil.c --doheapify_sep --heapify_locals --dotrans_alloc --domyptranal --dodumpfile /tmp/cil-CYnfm6ad.i
Making cfg for thread_routine_r
Making cfg for thread_routine_w
Making cfg for main
Trans_alloc: thread_routine_r main.c:142
Trans_alloc: void  <> elt 
Trans_alloc: void  <> UT_hash_table 
Trans_alloc: void  <> struct UT_hash_bucket 
Trans_alloc: void  <> struct UT_hash_bucket 
Trans_alloc: thread_routine_w main.c:323
Trans_alloc: main main.c:757
gcc -D_GNUCC -E /tmp/cil-T14UJEna.cil.c -o /tmp/cil-Ah65vVl1.cil.i
gcc -D_GNUCC -c -o ./main.o /tmp/cil-Ah65vVl1.cil.i
main.c: In function ‘thread_routine_r’:
main.c:320:3: warning: ‘free’ called on unallocated object ‘_a142_5636_main_1’ [-Wfree-nonheap-object]
  320 |   return ((void *)num_found);
      |   ^~~~~~~~~~~~~~~~~~~
main.c:142:5: note: declared here
  142 | void *thread_routine_r(void *arg )
      |     ^~~~~~~~~~~~~~~~~
main.c: In function ‘thread_routine_w’:
main.c:754:3: warning: ‘free’ called on unallocated object ‘_a323_11758_main_1’ [-Wfree-nonheap-object]
  754 |   return ((void *)num_deld);
      |   ^~~~~~~~~~~~~~~~~~~
main.c:323:5: note: declared here
  323 | void *thread_routine_w(void *arg )
      |     ^~~~~~~~~~~~~~~~~~
main.c: In function ‘main’:
main.c:820:3: warning: ‘free’ called on unallocated object ‘_a757_28734_main_1’ [-Wfree-nonheap-object]
  820 |   return (0);
      |   ^~~~~~~~~~~                    
main.c:757:7: note: declared here
  757 | int main(void)
      |       ^~~~~~~~          
main.c:820:3: warning: ‘free’ called on unallocated object ‘_a757_28734_main_2’ [-Wfree-nonheap-object]
  820 |   return (0);
      |   ^~~~~~~~~~~                
main.c:757:11: note: declared here
  757 | int main(void)
      |           ^~~~              
main.c:820:3: warning: ‘free’ called on unallocated object ‘_a757_28734_main_3’ [-Wfree-nonheap-object]
  820 |   return (0);
      |   ^~~~~~~~~~~                
main.c:757:11: note: declared here
  757 | int main(void)
      |           ^~~~              
main.c:820:3: warning: ‘free’ called on unallocated object ‘_a757_28734_main_4’ [-Wfree-nonheap-object]
  820 |   return (0);
      |   ^~~~~~~~~~~                
main.c:757:11: note: declared here
  757 | int main(void)
      |           ^~~~              
main.c:820:3: warning: ‘free’ called on unallocated object ‘_a757_28734_main_5’ [-Wfree-nonheap-object]
  820 |   return (0);
      |   ^~~~~~~~~~~                
main.c:757:11: note: declared here
  757 | int main(void)
      |           ^~~~              
Generating stats for steens
DONE!
Generating stats for cil
DONE!
Generating stats for anders
DONE!
Generating stats for noalias
DONE!
Dumped in 4 seconds
Sun Mar 17 16:41:26 UTC 2024
WARNING: tempfile is deprecated; consider using mktemp instead.
reserved status file: /tmp//temp.statusIGZ2a2
running analysis on ./tmp.cZCq9uhRbB/ciltrees
Registered summary type: rs_scc
Registered summary type: rs
Registered summary type: ss
Registered summary type: rad_ss
Args: 
 ./race_anal.exe -cg ./tmp.cZCq9uhRbB/ciltrees -r -u benchexec -st /tmp//temp.statusIGZ2a2 -su client.cfg
Checking for data races
-----
Loading Cil Varinfo ID ranges for lookup tables
Loading ranges from .vids_ckeys_fixed
Setting Cil Varinfo ID ranges
Finished parsing config group: SUMMARY_DB
Finished parsing config group: REQUEST
Finished parsing config group: DISTRIBUTED
Finished parsing config group: FILE_SERVER
Finished parsing config group: LOCK_FUNCS
Finished parsing config group: THREAD_FUNCS
Finished parsing config group: EXIT_FUNCS
Finished parsing config group: BUILTIN_FUNCS
Finished parsing config group: ALIAS_ANALYSIS
Finished parsing config group: ENTRY_POINTS
Finished parsing config group: SYM_EX
Done reading config file
myIP: 127.0.0.1
using /tmp/relay_scratch to store acquired files
using: /tmp//temp.statusIGZ2a2 to track status
Initializing Steensgaard AA info
Loading function info
Loading tempVar info
Using old PTA results
Old PTA results loaded
Initializing Andersen's AA info
Using old PTA results: ./tmp.cZCq9uhRbB/ciltrees/.pta_results.anders
Old PTA results loaded
Reached end of ./tmp.cZCq9uhRbB/ciltrees/calls.anders call graph file
Num funcs: 16
Scc_cg: Pruned 13 funcs w/out bodies for scc DAG
summary database will use:
	./tmp.cZCq9uhRbB/ciltrees/relay_sums
Initializing summary rad_ss
Checking leftover state: rad_ss
[Er]: Checkpoint: No left-over status file
Initializing summary ss
Checking leftover state: ss
[Er]: Checkpoint: No left-over status file
Initializing summary rs
BS: Not doing any post-reboot cleanup
[Er]: makeSimpleLock: Couldn't find global kernel_sem
[Er]: makeSimpleLock: Couldn't find global kernel_flag
Initializing summary rs_scc
BS: Not doing any post-reboot cleanup
SH: initEscapeable found (0, 2) thread (acts, formals)

Entry points use roots: true
file server will use: 14440
[Er]: Request fault handler with Connection refused
[Er]: Request retrying
[Er]: retry succeeded!

trying to clear old summaries / local srcs, etc.
Starting bottomup analysis
-----
[Er]: Checkpoint: No left-over status file
getting next SCC from server
Acquiring needed summaries
=================================
Starting an SCC (1) #0
=================================
Summarizing function: main : main.c
-----
doing symstate
Prev ldiffCache hits: 0	misses: 0

Prev GAPostCache hits: 0	misses: 0

doing lockset
doing guarded access
=================================
Finished an SCC (1)
=================================
Summary for function: main:75.f
=======

SUMS (nm, lo, un, wr, re):	main	0	0	0	8	

SS Sum:
 |-> Vval: 0
SIZES: 75.f : 34
>>> PROGRESS 1/3 SCCs DONE!

=================================
getting next SCC from server
Acquiring needed summaries
=================================
Starting an SCC (1) #1
=================================
Summarizing function: thread_routine_w : main.c
-----
doing symstate
[Er]: eval bin op, operands are non-Vval
[Er]: eval PlusA, not used as pointer arith
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval PlusA, not used as pointer arith
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval PlusA, not used as pointer arith
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval PlusA, not used as pointer arith
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval PlusA, not used as pointer arith
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval PlusA, not used as pointer arith
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval PlusA, not used as pointer arith
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval PlusA, not used as pointer arith
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval PlusA, not used as pointer arith
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval PlusA, not used as pointer arith
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval PlusA, not used as pointer arith
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval PlusA, not used as pointer arith
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval PlusA, not used as pointer arith
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval PlusA, not used as pointer arith
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval PlusA, not used as pointer arith
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
[Er]: eval bin op, operands are non-Vval
Prev ldiffCache hits: 30	misses: 2

Prev GAPostCache hits: 0	misses: 0

doing lockset
doing guarded access
=================================
Finished an SCC (1)
=================================
Summary for function: thread_routine_w:38.f
=======

SUMS (nm, lo, un, wr, re):	thread_routine_w	0	0	30	28	

SS Sum:
 |-> Vval: 0L
SIZES: 38.f : 34
>>> PROGRESS 2/3 SCCs DONE!

=================================
getting next SCC from server
Acquiring needed summaries
=================================
Starting an SCC (1) #2
=================================
Summarizing function: thread_routine_r : main.c
-----
doing symstate
Prev ldiffCache hits: 14	misses: 2

Prev GAPostCache hits: 0	misses: 0

doing lockset
doing guarded access
=================================
Finished an SCC (1)
=================================
Summary for function: thread_routine_r:19.f
=======

SUMS (nm, lo, un, wr, re):	thread_routine_r	0	0	1	10	

SS Sum:
 |-> $SSTOP
SIZES: 19.f : 34
>>> PROGRESS 3/3 SCCs DONE!

=================================
getting next SCC from server
Bottomup analysis complete
-----



Beginning Thread Analysis:
-----
[Er]: No entry-points file!
Expected # thread-creation site pairs: 3
checking a thread-creation pair
Prev ldiffCache hits: 4	misses: 2

doing symstate
Prev ldiffCache hits: 137	misses: 1

doing symstate
now checking thread roots: thread_routine_w(38.f), thread_routine_w(38.f)
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
now checking thread roots: thread_routine_w(38.f), thread_routine_w(38.f)
now checking thread roots: thread_routine_w(19.f), thread_routine_r(19.f)
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
New race added to race reports
now checking thread roots: thread_routine_w(19.f), thread_routine_r(19.f)
now checking thread roots: thread_routine_w(38.f), thread_routine_w(38.f)
now checking thread roots: thread_routine_w(38.f), thread_routine_w(38.f)
now checking thread roots: thread_routine_w(19.f), thread_routine_r(19.f)
now checking thread roots: thread_routine_w(19.f), thread_routine_r(19.f)
now checking thread roots: thread_routine_r(38.f), thread_routine_w(38.f)
now checking thread roots: thread_routine_r(38.f), thread_routine_w(38.f)
now checking thread roots: thread_routine_r(19.f), thread_routine_r(19.f)
now checking thread roots: thread_routine_r(19.f), thread_routine_r(19.f)
now checking thread roots: thread_routine_r(38.f), thread_routine_w(38.f)
now checking thread roots: thread_routine_r(38.f), thread_routine_w(38.f)
now checking thread roots: thread_routine_r(19.f), thread_routine_r(19.f)
now checking thread roots: thread_routine_r(19.f), thread_routine_r(19.f)
done with pair, sending notification
checking a thread-creation pair
Prev ldiffCache hits: 137	misses: 1

doing symstate
now checking thread roots: thread_routine_w(75.f), main(75.f)
New race added to race reports
New race added to race reports
now checking thread roots: thread_routine_w(75.f), main(75.f)
now checking thread roots: thread_routine_r(75.f), main(75.f)
now checking thread roots: thread_routine_r(75.f), main(75.f)
done with pair, sending notification
checking a thread-creation pair
now checking thread roots: main(75.f), main(75.f)
done with pair, sending notification
completed all thread pairs
Sorting races

Printing races

****
Possible race between access to:

elts @ main.c:140 and
elts @ main.c:140
	Cluster ID: 53
	Escapes? true / true 
	Accessed at locs:
	[main.c:655:(38.f)] and
	[main.c:167:(19.f), main.c:274:(19.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:777 29240 w/ func: thread_routine_r

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:783 29539 w/ func: thread_routine_r
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:777 29240 w/ func: thread_routine_r
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:783 29539 w/ func: thread_routine_r
****
Possible race between access to:

elts @ main.c:140 and
elts @ main.c:140
	Cluster ID: 31
	Escapes? true / true 
	Accessed at locs:
	[main.c:655:(38.f)] and
	[main.c:366:(38.f), main.c:473:(38.f), main.c:629:(38.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

elts @ main.c:140 and
elts @ main.c:140
	Cluster ID: 0
	Escapes? true / true 
	Accessed at locs:
	[main.c:655:(38.f)] and
	[main.c:655:(38.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

elts @ main.c:140 and
elts @ main.c:140
	Cluster ID: 62
	Escapes? true / true 
	Accessed at locs:
	[main.c:655:(38.f)] and
	[main.c:809:(75.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: #entry_point:0 0 w/ func: main

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: #entry_point:0 0 w/ func: main
****
Possible race between access to:

_a514_18266_main_1.hh.hashv @ main.c:323 and
_a514_18266_main_1.hh.hashv @ main.c:323
	Cluster ID: 1
	Escapes? true / true 
	Accessed at locs:
	[main.c:626:(38.f)] and
	[main.c:626:(38.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

_a514_18266_main_1.hh.hh_next @ main.c:323 and
_a514_18266_main_1.hh.hh_next @ main.c:323
	Cluster ID: 2
	Escapes? true / true 
	Accessed at locs:
	[main.c:675:(38.f)] and
	[main.c:675:(38.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

_a514_18266_main_1.hh.hh_prev @ main.c:323 and
_a514_18266_main_1.hh.hh_prev @ main.c:323
	Cluster ID: 3
	Escapes? true / true 
	Accessed at locs:
	[main.c:676:(38.f)] and
	[main.c:676:(38.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

_a514_18266_main_1.hh.key @ main.c:323 and
_a514_18266_main_1.hh.key @ main.c:323
	Cluster ID: 4
	Escapes? true / true 
	Accessed at locs:
	[main.c:627:(38.f)] and
	[main.c:627:(38.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

_a514_18266_main_1.hh.keylen @ main.c:323 and
_a514_18266_main_1.hh.keylen @ main.c:323
	Cluster ID: 5
	Escapes? true / true 
	Accessed at locs:
	[main.c:628:(38.f)] and
	[main.c:628:(38.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

_a514_18266_main_1.hh.next @ main.c:323 and
_a514_18266_main_1.hh.next @ main.c:323
	Cluster ID: 6
	Escapes? true / true 
	Accessed at locs:
	[main.c:630:(38.f), main.c:659:(38.f)] and
	[main.c:630:(38.f), main.c:659:(38.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

_a514_18266_main_1.hh.prev @ main.c:323 and
_a514_18266_main_1.hh.prev @ main.c:323
	Cluster ID: 7
	Escapes? true / true 
	Accessed at locs:
	[main.c:631:(38.f), main.c:660:(38.f)] and
	[main.c:631:(38.f), main.c:660:(38.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

_a514_18266_main_1.hh.tbl @ main.c:323 and
_a514_18266_main_1.hh.tbl @ main.c:323
	Cluster ID: 8
	Escapes? true / true 
	Accessed at locs:
	[main.c:634:(38.f), main.c:657:(38.f)] and
	[main.c:634:(38.f), main.c:657:(38.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

_a514_18266_main_1.hh.tbl @ main.c:323 and
_a514_18266_main_1.hh.tbl @ main.c:323
	Cluster ID: 36
	Escapes? true / true 
	Accessed at locs:
	[main.c:634:(38.f), main.c:657:(38.f)] and
	[main.c:635:(38.f), main.c:638:(38.f), main.c:648:(38.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

_a514_18266_main_1.i @ main.c:323 and
_a514_18266_main_1.i @ main.c:323
	Cluster ID: 9
	Escapes? true / true 
	Accessed at locs:
	[main.c:519:(38.f)] and
	[main.c:519:(38.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

_a684_25278_main_1.count @ main.c:323 and
_a684_25278_main_1.count @ main.c:323
	Cluster ID: 10
	Escapes? true / true 
	Accessed at locs:
	[main.c:707:(38.f), main.c:708:(38.f), main.c:710:(38.f)] and
	[main.c:707:(38.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
(3)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

_a684_25278_main_1.expand_mult @ main.c:323 and
_a684_25278_main_1.expand_mult @ main.c:323
	Cluster ID: 38
	Escapes? true / true 
	Accessed at locs:
	[main.c:711:(38.f)] and
	[main.c:710:(38.f), main.c:711:(38.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

_a684_25278_main_1.expand_mult @ main.c:323 and
_a684_25278_main_1.expand_mult @ main.c:323
	Cluster ID: 12
	Escapes? true / true 
	Accessed at locs:
	[main.c:711:(38.f)] and
	[main.c:711:(38.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

_a684_25278_main_1.hh_head @ main.c:323 and
_a684_25278_main_1.hh_head @ main.c:323
	Cluster ID: 40
	Escapes? true / true 
	Accessed at locs:
	[main.c:719:(38.f)] and
	[main.c:715:(38.f), main.c:716:(38.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

_a684_25278_main_1.hh_head @ main.c:323 and
_a684_25278_main_1.hh_head @ main.c:323
	Cluster ID: 13
	Escapes? true / true 
	Accessed at locs:
	[main.c:719:(38.f)] and
	[main.c:719:(38.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

_a514_18266_main_1.hh.hashv @ main.c:323 and
[REP: 2].hh.hashv
	Cluster ID: 54
	Escapes? true / true 
	Accessed at locs:
	[main.c:626:(38.f)] and
	[main.c:289:(19.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:777 29240 w/ func: thread_routine_r

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:783 29539 w/ func: thread_routine_r
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:777 29240 w/ func: thread_routine_r
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:783 29539 w/ func: thread_routine_r
****
Possible race between access to:

_a514_18266_main_1.hh.hashv @ main.c:323 and
[REP: 2].hh.hashv
	Cluster ID: 32
	Escapes? true / true 
	Accessed at locs:
	[main.c:626:(38.f)] and
	[main.c:488:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	lval 1: [REP: 2].hh.hashv
	lval 2: _a514_18266_main_1.hh.hashv
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

_a514_18266_main_1.hh.hh_next @ main.c:323 and
[REP: 2].hh.hh_next
	Cluster ID: 55
	Escapes? true / true 
	Accessed at locs:
	[main.c:675:(38.f)] and
	[main.c:297:(19.f), main.c:299:(19.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:777 29240 w/ func: thread_routine_r

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:783 29539 w/ func: thread_routine_r
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:777 29240 w/ func: thread_routine_r
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:783 29539 w/ func: thread_routine_r
****
Possible race between access to:

_a514_18266_main_1.hh.hh_next @ main.c:323 and
[REP: 2].hh.hh_next
	Cluster ID: 33
	Escapes? true / true 
	Accessed at locs:
	[main.c:675:(38.f)] and
	[main.c:496:(38.f), main.c:498:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	lval 1: [REP: 2].hh.hh_next
	lval 2: _a514_18266_main_1.hh.hh_next
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

_a514_18266_main_1.hh.key @ main.c:323 and
[REP: 2].hh.key
	Cluster ID: 56
	Escapes? true / true 
	Accessed at locs:
	[main.c:627:(38.f)] and
	[main.c:291:(19.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:777 29240 w/ func: thread_routine_r

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:783 29539 w/ func: thread_routine_r
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:777 29240 w/ func: thread_routine_r
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:783 29539 w/ func: thread_routine_r
****
Possible race between access to:

_a514_18266_main_1.hh.key @ main.c:323 and
[REP: 2].hh.key
	Cluster ID: 34
	Escapes? true / true 
	Accessed at locs:
	[main.c:627:(38.f)] and
	[main.c:490:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	lval 1: [REP: 2].hh.key
	lval 2: _a514_18266_main_1.hh.key
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

_a514_18266_main_1.hh.keylen @ main.c:323 and
[REP: 2].hh.keylen
	Cluster ID: 57
	Escapes? true / true 
	Accessed at locs:
	[main.c:628:(38.f)] and
	[main.c:290:(19.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:777 29240 w/ func: thread_routine_r

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:783 29539 w/ func: thread_routine_r
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:777 29240 w/ func: thread_routine_r
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:783 29539 w/ func: thread_routine_r
****
Possible race between access to:

_a514_18266_main_1.hh.keylen @ main.c:323 and
[REP: 2].hh.keylen
	Cluster ID: 35
	Escapes? true / true 
	Accessed at locs:
	[main.c:628:(38.f)] and
	[main.c:489:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	lval 1: [REP: 2].hh.keylen
	lval 2: _a514_18266_main_1.hh.keylen
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

_a514_18266_main_1.hh.tbl @ main.c:323 and
[REP: 2].hh.tbl
	Cluster ID: 37
	Escapes? true / true 
	Accessed at locs:
	[main.c:634:(38.f), main.c:657:(38.f)] and
	[main.c:657:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	lval 1: [REP: 2].hh.tbl
	lval 2: _a514_18266_main_1.hh.tbl
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

_a684_25278_main_1.expand_mult @ main.c:323 and
[REP: 2].expand_mult
	Cluster ID: 39
	Escapes? true / true 
	Accessed at locs:
	[main.c:711:(38.f)] and
	[main.c:681:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	lval 1: [REP: 2].expand_mult
	lval 2: _a684_25278_main_1.expand_mult
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

_a684_25278_main_1.hh_head @ main.c:323 and
[REP: 2].hh_head
	Cluster ID: 58
	Escapes? true / true 
	Accessed at locs:
	[main.c:719:(38.f)] and
	[main.c:280:(19.f), main.c:282:(19.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:777 29240 w/ func: thread_routine_r

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:783 29539 w/ func: thread_routine_r
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:777 29240 w/ func: thread_routine_r
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:783 29539 w/ func: thread_routine_r
****
Possible race between access to:

_a684_25278_main_1.hh_head @ main.c:323 and
[REP: 2].hh_head
	Cluster ID: 41
	Escapes? true / true 
	Accessed at locs:
	[main.c:719:(38.f)] and
	[main.c:479:(38.f), main.c:481:(38.f), main.c:675:(38.f), main.c:677:(38.f), main.c:699:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	lval 1: [REP: 2].hh_head
	lval 2: _a684_25278_main_1.hh_head
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

_a684_25278_main_1.hh_head @ main.c:323 and
[REP: 2].hh_head
	Cluster ID: 14
	Escapes? true / true 
	Accessed at locs:
	[main.c:719:(38.f)] and
	[main.c:680:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	lval 1: [REP: 2].hh_head
	lval 2: _a684_25278_main_1.hh_head
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

[REP: 2].buckets and
[REP: 2].buckets
	Cluster ID: 15
	Escapes? true / true 
	Accessed at locs:
	[main.c:644:(38.f), main.c:727:(38.f)] and
	[main.c:644:(38.f), main.c:727:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

[REP: 2].buckets and
[REP: 2].buckets
	Cluster ID: 42
	Escapes? true / true 
	Accessed at locs:
	[main.c:644:(38.f), main.c:727:(38.f)] and
	[main.c:646:(38.f), main.c:650:(38.f), main.c:673:(38.f), main.c:724:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

[REP: 2].count and
_a684_25278_main_1.count @ main.c:323
	Cluster ID: 11
	Escapes? true / true 
	Accessed at locs:
	[main.c:674:(38.f)] and
	[main.c:707:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	lval 1: _a684_25278_main_1.count
	lval 2: [REP: 2].count
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
(2)
	lval 1: _a684_25278_main_1.count
	lval 2: [REP: 2].count
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
(3)
	lval 1: _a684_25278_main_1.count
	lval 2: [REP: 2].count
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

[REP: 2].count and
[REP: 2].count
	Cluster ID: 16
	Escapes? true / true 
	Accessed at locs:
	[main.c:674:(38.f), main.c:681:(38.f)] and
	[main.c:674:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
(3)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

[REP: 2].hh_head and
_a684_25278_main_1.hh_head @ main.c:323
	Cluster ID: 43
	Escapes? true / true 
	Accessed at locs:
	[main.c:680:(38.f)] and
	[main.c:715:(38.f), main.c:716:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	lval 1: _a684_25278_main_1.hh_head
	lval 2: [REP: 2].hh_head
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

[REP: 2].hh_head and
[REP: 2].hh_head
	Cluster ID: 59
	Escapes? true / true 
	Accessed at locs:
	[main.c:680:(38.f)] and
	[main.c:280:(19.f), main.c:282:(19.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:777 29240 w/ func: thread_routine_r

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:783 29539 w/ func: thread_routine_r
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:777 29240 w/ func: thread_routine_r
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:783 29539 w/ func: thread_routine_r
****
Possible race between access to:

[REP: 2].hh_head and
[REP: 2].hh_head
	Cluster ID: 44
	Escapes? true / true 
	Accessed at locs:
	[main.c:680:(38.f)] and
	[main.c:479:(38.f), main.c:481:(38.f), main.c:675:(38.f), main.c:677:(38.f), main.c:699:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

[REP: 2].hh_head and
[REP: 2].hh_head
	Cluster ID: 17
	Escapes? true / true 
	Accessed at locs:
	[main.c:680:(38.f)] and
	[main.c:680:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

[REP: 2].hh_next and
[REP: 2].hh_next
	Cluster ID: 45
	Escapes? true / true 
	Accessed at locs:
	[main.c:715:(38.f)] and
	[main.c:701:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

[REP: 2].hh_next and
[REP: 2].hh_next
	Cluster ID: 18
	Escapes? true / true 
	Accessed at locs:
	[main.c:715:(38.f)] and
	[main.c:715:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

[REP: 2].hh_prev and
[REP: 2].hh_prev
	Cluster ID: 19
	Escapes? true / true 
	Accessed at locs:
	[main.c:678:(38.f), main.c:714:(38.f), main.c:717:(38.f)] and
	[main.c:678:(38.f), main.c:714:(38.f), main.c:717:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

[REP: 2].hho and
[REP: 2].hho
	Cluster ID: 60
	Escapes? true / true 
	Accessed at locs:
	[main.c:642:(38.f)] and
	[main.c:282:(19.f), main.c:299:(19.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:777 29240 w/ func: thread_routine_r

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:783 29539 w/ func: thread_routine_r
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:777 29240 w/ func: thread_routine_r
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:783 29539 w/ func: thread_routine_r
****
Possible race between access to:

[REP: 2].hho and
[REP: 2].hho
	Cluster ID: 46
	Escapes? true / true 
	Accessed at locs:
	[main.c:642:(38.f)] and
	[main.c:481:(38.f), main.c:498:(38.f), main.c:660:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

[REP: 2].hho and
[REP: 2].hho
	Cluster ID: 20
	Escapes? true / true 
	Accessed at locs:
	[main.c:642:(38.f)] and
	[main.c:642:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

[REP: 2].ideal_chain_maxlen and
[REP: 2].ideal_chain_maxlen
	Cluster ID: 21
	Escapes? true / true 
	Accessed at locs:
	[main.c:695:(38.f)] and
	[main.c:695:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

[REP: 2].ideal_chain_maxlen and
[REP: 2].ideal_chain_maxlen
	Cluster ID: 47
	Escapes? true / true 
	Accessed at locs:
	[main.c:695:(38.f)] and
	[main.c:708:(38.f), main.c:710:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

[REP: 2].ineff_expands and
[REP: 2].ineff_expands
	Cluster ID: 22
	Escapes? true / true 
	Accessed at locs:
	[main.c:729:(38.f), main.c:733:(38.f)] and
	[main.c:729:(38.f), main.c:731:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
(3)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

[REP: 2].log2_num_buckets and
[REP: 2].log2_num_buckets
	Cluster ID: 23
	Escapes? true / true 
	Accessed at locs:
	[main.c:641:(38.f), main.c:726:(38.f)] and
	[main.c:641:(38.f), main.c:726:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

[REP: 2].log2_num_buckets and
[REP: 2].log2_num_buckets
	Cluster ID: 48
	Escapes? true / true 
	Accessed at locs:
	[main.c:641:(38.f), main.c:726:(38.f)] and
	[main.c:695:(38.f), main.c:726:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

[REP: 2].next and
[REP: 2].next
	Cluster ID: 24
	Escapes? true / true 
	Accessed at locs:
	[main.c:661:(38.f)] and
	[main.c:661:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

[REP: 2].noexpand and
[REP: 2].noexpand
	Cluster ID: 49
	Escapes? true / true 
	Accessed at locs:
	[main.c:734:(38.f)] and
	[main.c:682:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

[REP: 2].noexpand and
[REP: 2].noexpand
	Cluster ID: 25
	Escapes? true / true 
	Accessed at locs:
	[main.c:734:(38.f)] and
	[main.c:734:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

[REP: 2].nonideal_items and
[REP: 2].nonideal_items
	Cluster ID: 26
	Escapes? true / true 
	Accessed at locs:
	[main.c:696:(38.f), main.c:709:(38.f)] and
	[main.c:696:(38.f), main.c:709:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

[REP: 2].nonideal_items and
[REP: 2].nonideal_items
	Cluster ID: 50
	Escapes? true / true 
	Accessed at locs:
	[main.c:696:(38.f), main.c:709:(38.f)] and
	[main.c:709:(38.f), main.c:728:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

[REP: 2].num_buckets and
[REP: 2].num_buckets
	Cluster ID: 61
	Escapes? true / true 
	Accessed at locs:
	[main.c:640:(38.f), main.c:725:(38.f)] and
	[main.c:276:(19.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:777 29240 w/ func: thread_routine_r

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:783 29539 w/ func: thread_routine_r
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:777 29240 w/ func: thread_routine_r
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:783 29539 w/ func: thread_routine_r
****
Possible race between access to:

[REP: 2].num_buckets and
[REP: 2].num_buckets
	Cluster ID: 51
	Escapes? true / true 
	Accessed at locs:
	[main.c:640:(38.f), main.c:725:(38.f)] and
	[main.c:475:(38.f), main.c:669:(38.f), main.c:689:(38.f), main.c:690:(38.f), main.c:698:(38.f), main.c:703:(38.f), main.c:725:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

[REP: 2].num_buckets and
[REP: 2].num_buckets
	Cluster ID: 27
	Escapes? true / true 
	Accessed at locs:
	[main.c:640:(38.f), main.c:725:(38.f)] and
	[main.c:640:(38.f), main.c:725:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

[REP: 2].num_items and
[REP: 2].num_items
	Cluster ID: 28
	Escapes? true / true 
	Accessed at locs:
	[main.c:667:(38.f), main.c:690:(38.f), main.c:695:(38.f), main.c:728:(38.f)] and
	[main.c:667:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
(3)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

[REP: 2].num_items and
[REP: 2].num_items
	Cluster ID: 63
	Escapes? true / true 
	Accessed at locs:
	[main.c:667:(38.f)] and
	[main.c:810:(75.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: #entry_point:0 0 w/ func: main

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: #entry_point:0 0 w/ func: main
****
Possible race between access to:

[REP: 2].signature and
[REP: 2].signature
	Cluster ID: 29
	Escapes? true / true 
	Accessed at locs:
	[main.c:645:(38.f)] and
	[main.c:645:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

[REP: 2].tail and
[REP: 2].tail
	Cluster ID: 30
	Escapes? true / true 
	Accessed at locs:
	[main.c:639:(38.f), main.c:662:(38.f)] and
	[main.c:639:(38.f), main.c:662:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w
****
Possible race between access to:

[REP: 2].tail and
[REP: 2].tail
	Cluster ID: 52
	Escapes? true / true 
	Accessed at locs:
	[main.c:639:(38.f), main.c:662:(38.f)] and
	[main.c:660:(38.f)]

	Confidence: used PTA nodes lblSet(4, 4)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:789 29838 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(1)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:789 29838 w/ func: thread_routine_w
(2)
	Th. 1 spawned: main.c:795 30137 w/ func: thread_routine_w
	Th. 2 spawned: main.c:795 30137 w/ func: thread_routine_w


$$$$$$
Total Warnings: 64


Printing Alias assumptions used by warnings
-----
nc	54	_a514_18266_main_1.hh.hashv#g:34/[REP: 2].hh.hashv#g	4	4
nc	32	_a514_18266_main_1.hh.hashv#g:34/[REP: 2].hh.hashv#g	4	4
nc	55	_a514_18266_main_1.hh.hh_next#g:34/[REP: 2].hh.hh_next#g	4	4
nc	33	_a514_18266_main_1.hh.hh_next#g:34/[REP: 2].hh.hh_next#g	4	4
nc	56	_a514_18266_main_1.hh.key#g:34/[REP: 2].hh.key#g	4	4
nc	34	_a514_18266_main_1.hh.key#g:34/[REP: 2].hh.key#g	4	4
nc	57	_a514_18266_main_1.hh.keylen#g:34/[REP: 2].hh.keylen#g	4	4
nc	35	_a514_18266_main_1.hh.keylen#g:34/[REP: 2].hh.keylen#g	4	4
nc	37	_a514_18266_main_1.hh.tbl#g:34/[REP: 2].hh.tbl#g	4	4
nc	39	_a684_25278_main_1.expand_mult#g:37/[REP: 2].expand_mult#g	4	4
nc	58	_a684_25278_main_1.hh_head#g:37/[REP: 2].hh_head#g	4	4
nc	41	_a684_25278_main_1.hh_head#g:37/[REP: 2].hh_head#g	4	4
nc	14	_a684_25278_main_1.hh_head#g:37/[REP: 2].hh_head#g	4	4
nc	15	[REP: 2].buckets#g/[REP: 2].buckets#g	4	4
nc	42	[REP: 2].buckets#g/[REP: 2].buckets#g	4	4
nc	11	[REP: 2].count#g/_a684_25278_main_1.count#g:37	4	4
nc	16	[REP: 2].count#g/[REP: 2].count#g	4	4
nc	43	[REP: 2].hh_head#g/_a684_25278_main_1.hh_head#g:37	4	4
nc	59	[REP: 2].hh_head#g/[REP: 2].hh_head#g	4	4
nc	44	[REP: 2].hh_head#g/[REP: 2].hh_head#g	4	4
nc	17	[REP: 2].hh_head#g/[REP: 2].hh_head#g	4	4
nc	45	[REP: 2].hh_next#g/[REP: 2].hh_next#g	4	4
nc	18	[REP: 2].hh_next#g/[REP: 2].hh_next#g	4	4
nc	19	[REP: 2].hh_prev#g/[REP: 2].hh_prev#g	4	4
nc	60	[REP: 2].hho#g/[REP: 2].hho#g	4	4
nc	46	[REP: 2].hho#g/[REP: 2].hho#g	4	4
nc	20	[REP: 2].hho#g/[REP: 2].hho#g	4	4
nc	21	[REP: 2].ideal_chain_maxlen#g/[REP: 2].ideal_chain_maxlen#g	4	4
nc	47	[REP: 2].ideal_chain_maxlen#g/[REP: 2].ideal_chain_maxlen#g	4	4
nc	22	[REP: 2].ineff_expands#g/[REP: 2].ineff_expands#g	4	4
nc	23	[REP: 2].log2_num_buckets#g/[REP: 2].log2_num_buckets#g	4	4
nc	48	[REP: 2].log2_num_buckets#g/[REP: 2].log2_num_buckets#g	4	4
nc	24	[REP: 2].next#g/[REP: 2].next#g	4	4
nc	49	[REP: 2].noexpand#g/[REP: 2].noexpand#g	4	4
nc	25	[REP: 2].noexpand#g/[REP: 2].noexpand#g	4	4
nc	26	[REP: 2].nonideal_items#g/[REP: 2].nonideal_items#g	4	4
nc	50	[REP: 2].nonideal_items#g/[REP: 2].nonideal_items#g	4	4
nc	61	[REP: 2].num_buckets#g/[REP: 2].num_buckets#g	4	4
nc	51	[REP: 2].num_buckets#g/[REP: 2].num_buckets#g	4	4
nc	27	[REP: 2].num_buckets#g/[REP: 2].num_buckets#g	4	4
nc	28	[REP: 2].num_items#g/[REP: 2].num_items#g	4	4
nc	63	[REP: 2].num_items#g/[REP: 2].num_items#g	4	4
nc	29	[REP: 2].signature#g/[REP: 2].signature#g	4	4
nc	30	[REP: 2].tail#g/[REP: 2].tail#g	4	4
nc	52	[REP: 2].tail#g/[REP: 2].tail#g	4	4


writeState: writing new state for Andersen to ./tmp.cZCq9uhRbB/ciltrees/.pta_temp.anders

writeState: Not needed for Steens PTA
Elapsed time (secs): 0.060024
Top heap size (MB): 3
Current heap size (MB): 3
Lifetime allocated bytes (MB): 34
Collections -- minor: 18 major: 4 compactions: 0
Bytes per word: 8
Exhausted tries: 1
return value is 0
ran 1 times
cleared status file: /tmp//temp.statusIGZ2a2
Sun Mar 17 16:41:29 UTC 2024
server.exe: no process found
