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


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


duppy -c main.c
duppy'ing main.c to /mnt/goblint-svcomp/goblint-bench/the-continuous-race/tools/svcomp24/relay-sv/tmp.H8go9St5PL/ciltrees
gcc -D_GNUCC -E -DCIL=1 main.c -o /tmp/cil-Qa2WspC7.i
../cil/obj/x86_LINUX/cilly.asm.exe --out /tmp/cil-r6eeFedK.cil.c --doheapify_sep --heapify_locals --dotrans_alloc --domyptranal --dodumpfile /tmp/cil-Qa2WspC7.i
Making cfg for steal_work
Making cfg for ktf_worker
Making cfg for kt_for
Making cfg for kt_fp_steal_work
Making cfg for kt_fp_worker
Making cfg for kt_forpool_init
Making cfg for kt_forpool_destroy
Making cfg for kt_forpool
Making cfg for ktp_worker
Making cfg for kt_pipeline
Making cfg for worker_for
Making cfg for worker_pipeline
Making cfg for main
Trans_alloc: void  <> ktf_worker_t 
Trans_alloc: void  <> pthread_t 
Trans_alloc: kt_for main.c:257
Trans_alloc: void  <> kt_forpool_t 
Trans_alloc: void  <> pthread_t 
Trans_alloc: void  <> kto_worker_t 
Trans_alloc: kt_forpool_init main.c:374
Trans_alloc: void  <> ktp_worker_t 
Trans_alloc: void  <> pthread_t 
Trans_alloc: kt_pipeline main.c:540
Trans_alloc: void  <> step_t 
Trans_alloc: void  <> char *
Trans_alloc: worker_pipeline main.c:639
Trans_alloc: main main.c:687
gcc -D_GNUCC -E /tmp/cil-r6eeFedK.cil.c -o /tmp/cil-dm3yr6uT.cil.i
gcc -D_GNUCC -c -o ./main.o /tmp/cil-dm3yr6uT.cil.i
/tmp/cil-r6eeFedK.cil.c:4:7: warning: conflicting types for built-in function ‘malloc’; expected ‘void *(long unsigned int)’ [-Wbuiltin-declaration-mismatch]
    4 | void *malloc(unsigned int  ) ;
      |       ^~~~~~
/tmp/cil-r6eeFedK.cil.c:1:1: note: ‘malloc’ is declared in header ‘<stdlib.h>’
  +++ |+#include <stdlib.h>
    1 | /* Generated by CIL v. 1.3.7 */
main.c:224:14: warning: conflicting types for built-in function ‘__sync_fetch_and_add’; expected ‘void()’ [-Wbuiltin-declaration-mismatch]
  224 |   k = (long )__sync_fetch_and_add(& (t->w + min_i)->i, t->n_threads);
      |              ^~~~~~~~~~~~~~~~~~~~
main.c: In function ‘kt_for’:
main.c:300:3: warning: ‘free’ called on unallocated object ‘_a257_8124_main_1’ [-Wfree-nonheap-object]
  300 |   return;
      |   ^~~~~~~            
main.c:257:10: note: declared here
  257 | void kt_for(int n_threads , void (*func)(void * , long  , int  ) , void *data , long n )
      |          ^~~~~~~~~~~~~~~~~
main.c: In function ‘kt_pipeline’:
main.c:590:3: warning: ‘free’ called on unallocated object ‘_a540_14638_main_1’ [-Wfree-nonheap-object]
  590 |   return;
      |   ^~~~~~~              
main.c:540:7: note: declared here
  540 | void kt_pipeline(int n_threads , void *(*func)(void * , int  , void * ) , void *shared_data ,
      |       ^~~~~~~~~~~~~~~~~~
main.c: In function ‘main’:
main.c:700:5: warning: ‘free’ called on unallocated object ‘_a687_19372_main_1’ [-Wfree-nonheap-object]
  700 |     return (1);
      |     ^~~~~~~~~~~         
main.c:687:12: note: declared here
  687 | int main(int argc , char **argv )
      |            ^~~~~~~~~~~~~~~~~~
main.c:711:5: warning: ‘free’ called on unallocated object ‘_a687_19372_main_1’ [-Wfree-nonheap-object]
  711 |     return (1);
      |     ^~~~~~~~~~~         
main.c:687:12: note: declared here
  687 | int main(int argc , char **argv )
      |            ^~~~~~~~~~~~~~~~~~
main.c:734:3: warning: ‘free’ called on unallocated object ‘_a687_19372_main_1’ [-Wfree-nonheap-object]
  734 |   return (0);
      |   ^~~~~~~~~~~         
main.c:687:12: note: declared here
  687 | int main(int argc , char **argv )
      |            ^~~~~~~~~~~~~~~~~~
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:39:42 UTC 2024
WARNING: tempfile is deprecated; consider using mktemp instead.
reserved status file: /tmp//temp.statusiSptDy
running analysis on ./tmp.H8go9St5PL/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.H8go9St5PL/ciltrees -r -u benchexec -st /tmp//temp.statusiSptDy -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.statusiSptDy 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.H8go9St5PL/ciltrees/.pta_results.anders
Old PTA results loaded
Reached end of ./tmp.H8go9St5PL/ciltrees/calls.anders call graph file
Num funcs: 37
Scc_cg: Pruned 24 funcs w/out bodies for scc DAG
summary database will use:
	./tmp.H8go9St5PL/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]: Multiple lock summaries for pthread_mutex_unlock:9.f
[Er]: makeSimpleLock: Couldn't find global kernel_sem
[Er]: makeSimpleLock: Couldn't find global kernel_flag
[Er]: Multiple lock summaries for pthread_mutex_lock:8.f
Initializing summary rs_scc
BS: Not doing any post-reboot cleanup
SH: initEscapeable found (3, 3) 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: ktp_worker : main.c
-----
doing symstate
[Er]: SS call: *(p->func) returned 0 fun(s)
[Er]: SS call: *(p->func) returned 0 fun(s)
[Er]: SS call: *(p->func) returned 0 fun(s)
Prev ldiffCache hits: 0	misses: 0

Prev GAPostCache hits: 0	misses: 0

doing lockset
[Er]: call: *(p->func) returned 0 fun(s)
doing guarded access
=================================
Finished an SCC (1)
=================================
Summary for function: ktp_worker:82.f
=======

SUMS (nm, lo, un, wr, re):	ktp_worker	1	0	4	11	

SS Sum:
 |-> $SSBOT
SIZES: 82.f : 728
>>> PROGRESS 1/13 SCCs DONE!

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

Prev GAPostCache hits: 0	misses: 0

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

SUMS (nm, lo, un, wr, re):	kt_forpool_init	0	0	5	4	

SS Sum:
 |-> Mustptr (lv = _a384_10719_main_1)
SIZES: 63.f : 34
>>> PROGRESS 2/13 SCCs DONE!

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

Prev GAPostCache hits: 0	misses: 0

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

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

SS Sum:
 |-> $SSBOT
SIZES: 117.f : 34
>>> PROGRESS 3/13 SCCs DONE!

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

Prev GAPostCache hits: 0	misses: 0

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

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

SS Sum:
 |-> $SSBOT
SIZES: 34.f : 34
>>> PROGRESS 4/13 SCCs DONE!

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

Prev GAPostCache hits: 0	misses: 0

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

SUMS (nm, lo, un, wr, re):	worker_pipeline	0	0	11	12	

SS Sum:
 |-> Extptr (4):   lv = _a651_18318_main_1
              lv = (*in)
              lv = (*$NULL)(sum)

SIZES: 129.f : 587
>>> PROGRESS 5/13 SCCs DONE!

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

Prev GAPostCache hits: 0	misses: 0

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

SUMS (nm, lo, un, wr, re):	steal_work	0	0	0	3	

SS Sum:
 |-> $SSTOP
SIZES: 18.f : 182
>>> PROGRESS 6/13 SCCs DONE!

=================================
getting next SCC from server
Acquiring needed summaries
=================================
Starting an SCC (1) #3
=================================
Summarizing function: ktf_worker : main.c
-----
doing symstate
[Er]: SS call: *((w->t)->func) returned 0 fun(s)
[Er]: SS call: *((w->t)->func) returned 0 fun(s)
Prev ldiffCache hits: 0	misses: 1

Prev GAPostCache hits: 0	misses: 0

doing lockset
[Er]: call: *((w->t)->func) returned 0 fun(s)
[Er]: call: *((w->t)->func) returned 0 fun(s)
doing guarded access
=================================
Finished an SCC (1)
=================================
Summary for function: ktf_worker:26.f
=======

SUMS (nm, lo, un, wr, re):	ktf_worker	1	0	0	6	

SS Sum:
 |-> $SSBOT
SIZES: 26.f : 206
>>> PROGRESS 7/13 SCCs DONE!

=================================
getting next SCC from server
Acquiring needed summaries
=================================
Starting an SCC (1) #4
=================================
Summarizing function: kt_forpool : main.c
-----
doing symstate
[Er]: SS call: *func returned 0 fun(s)
[Er]: SS call: *func returned 0 fun(s)
Prev ldiffCache hits: 4	misses: 2

Prev GAPostCache hits: 0	misses: 0

doing lockset
[Er]: call: *func returned 0 fun(s)
doing guarded access
=================================
Finished an SCC (1)
=================================
Summary for function: kt_forpool:75.f
=======

SUMS (nm, lo, un, wr, re):	kt_forpool	0	0	6	2	

SS Sum:
 |-> $SSBOT
SIZES: 75.f : 708
>>> PROGRESS 8/13 SCCs DONE!

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

Prev GAPostCache hits: 0	misses: 0

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

SUMS (nm, lo, un, wr, re):	kt_pipeline	0	0	10	3	

SS Sum:
 |-> $SSBOT
SIZES: 92.f : 34
>>> PROGRESS 9/13 SCCs DONE!

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

Prev GAPostCache hits: 0	misses: 0

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

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

SS Sum:
 |-> $SSTOP
SIZES: 141.f : 126
>>> PROGRESS 10/13 SCCs DONE!

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

Prev GAPostCache hits: 0	misses: 0

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

SUMS (nm, lo, un, wr, re):	kt_forpool_destroy	0	0	1	4	

SS Sum:
 |-> $SSBOT
SIZES: 71.f : 409
>>> PROGRESS 11/13 SCCs DONE!

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

Prev GAPostCache hits: 0	misses: 0

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

SUMS (nm, lo, un, wr, re):	kt_fp_steal_work	0	0	0	3	

SS Sum:
 |-> $SSTOP
SIZES: 45.f : 186
>>> PROGRESS 12/13 SCCs DONE!

=================================
getting next SCC from server
Acquiring needed summaries
=================================
Starting an SCC (1) #8
=================================
Summarizing function: kt_fp_worker : main.c
-----
doing symstate
[Er]: SS call: *(fp->func) returned 0 fun(s)
[Er]: SS call: *(fp->func) returned 0 fun(s)
Prev ldiffCache hits: 0	misses: 1

Prev GAPostCache hits: 0	misses: 0

doing lockset
[Er]: call: *(fp->func) returned 0 fun(s)
[Er]: call: *(fp->func) returned 0 fun(s)
doing guarded access
=================================
Finished an SCC (1)
=================================
Summary for function: kt_fp_worker:53.f
=======

SUMS (nm, lo, un, wr, re):	kt_fp_worker	1	0	2	8	

SS Sum:
 |-> $SSBOT
SIZES: 53.f : 410
>>> PROGRESS 13/13 SCCs DONE!

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



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

doing symstate
Prev ldiffCache hits: 16	misses: 2

doing symstate
now checking thread roots: ktp_worker(82.f), ktp_worker(82.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
done with pair, sending notification
checking a thread-creation pair
Prev ldiffCache hits: 16	misses: 2

doing symstate
Prev ldiffCache hits: 16	misses: 2

doing symstate
now checking thread roots: ktp_worker(53.f), kt_fp_worker(53.f)
done with pair, sending notification
checking a thread-creation pair
Prev ldiffCache hits: 8	misses: 2

doing symstate
Prev ldiffCache hits: 16	misses: 2

doing symstate
now checking thread roots: ktp_worker(26.f), ktf_worker(26.f)
done with pair, sending notification
checking a thread-creation pair
Prev ldiffCache hits: 5	misses: 1

doing symstate
now checking thread roots: ktp_worker(141.f), main(141.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
done with pair, sending notification
checking a thread-creation pair
Prev ldiffCache hits: 16	misses: 2

doing symstate
now checking thread roots: ktp_worker(129.f), worker_pipeline(129.f)
done with pair, sending notification
checking a thread-creation pair
Prev ldiffCache hits: 16	misses: 2

doing symstate
now checking thread roots: ktp_worker(63.f), kt_forpool_init(63.f)
done with pair, sending notification
checking a thread-creation pair
Prev ldiffCache hits: 16	misses: 2

doing symstate
Prev ldiffCache hits: 8	misses: 2

doing symstate
now checking thread roots: kt_fp_worker(53.f), kt_fp_worker(53.f)
done with pair, sending notification
checking a thread-creation pair
Prev ldiffCache hits: 8	misses: 2

doing symstate
Prev ldiffCache hits: 8	misses: 2

doing symstate
now checking thread roots: kt_fp_worker(26.f), ktf_worker(26.f)
done with pair, sending notification
checking a thread-creation pair
Prev ldiffCache hits: 5	misses: 1

doing symstate
now checking thread roots: kt_fp_worker(141.f), main(141.f)
done with pair, sending notification
checking a thread-creation pair
Prev ldiffCache hits: 8	misses: 2

doing symstate
now checking thread roots: kt_fp_worker(129.f), worker_pipeline(129.f)
done with pair, sending notification
checking a thread-creation pair
Prev ldiffCache hits: 8	misses: 2

doing symstate
now checking thread roots: kt_fp_worker(63.f), kt_forpool_init(63.f)
New race added to race reports
done with pair, sending notification
checking a thread-creation pair
Prev ldiffCache hits: 8	misses: 2

doing symstate
Prev ldiffCache hits: 5	misses: 1

doing symstate
now checking thread roots: ktf_worker(26.f), ktf_worker(26.f)
done with pair, sending notification
checking a thread-creation pair
Prev ldiffCache hits: 5	misses: 1

doing symstate
now checking thread roots: ktf_worker(141.f), main(141.f)
done with pair, sending notification
checking a thread-creation pair
Prev ldiffCache hits: 5	misses: 1

doing symstate
now checking thread roots: ktf_worker(129.f), worker_pipeline(129.f)
New race added to race reports
done with pair, sending notification
checking a thread-creation pair
Prev ldiffCache hits: 5	misses: 1

doing symstate
now checking thread roots: ktf_worker(63.f), kt_forpool_init(63.f)
done with pair, sending notification
checking a thread-creation pair
now checking thread roots: main(141.f), main(141.f)
done with pair, sending notification
checking a thread-creation pair
now checking thread roots: main(129.f), worker_pipeline(129.f)
done with pair, sending notification
checking a thread-creation pair
now checking thread roots: main(63.f), kt_forpool_init(63.f)
done with pair, sending notification
checking a thread-creation pair
now checking thread roots: worker_pipeline(129.f), worker_pipeline(129.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
done with pair, sending notification
checking a thread-creation pair
now checking thread roots: worker_pipeline(63.f), kt_forpool_init(63.f)
done with pair, sending notification
checking a thread-creation pair
now checking thread roots: kt_forpool_init(63.f), kt_forpool_init(63.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
done with pair, sending notification
completed all thread pairs
Sorting races

Printing races

****
Possible race between access to:

_a257_8124_main_1.data @ main.c:257 and
_a257_8124_main_1.data @ main.c:257
	Cluster ID: 15
	Escapes? true / true 
	Accessed at locs:
	[main.c:269:(34.f)] and
	[main.c:269:(34.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: #entry_point:0 0 w/ func: worker_pipeline
	Th. 2 spawned: #entry_point:0 0 w/ func: worker_pipeline

Different possible paths & LS (first 4):

****
Possible race between access to:

_a257_8124_main_1.func @ main.c:257 and
_a257_8124_main_1.func @ main.c:257
	Cluster ID: 16
	Escapes? true / true 
	Accessed at locs:
	[main.c:268:(34.f)] and
	[main.c:268:(34.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: #entry_point:0 0 w/ func: worker_pipeline
	Th. 2 spawned: #entry_point:0 0 w/ func: worker_pipeline

Different possible paths & LS (first 4):

****
Possible race between access to:

_a257_8124_main_1.n @ main.c:257 and
_a257_8124_main_1.n @ main.c:257
	Cluster ID: 17
	Escapes? true / true 
	Accessed at locs:
	[main.c:271:(34.f)] and
	[main.c:271:(34.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: #entry_point:0 0 w/ func: worker_pipeline
	Th. 2 spawned: #entry_point:0 0 w/ func: worker_pipeline

Different possible paths & LS (first 4):

****
Possible race between access to:

_a257_8124_main_1.n_threads @ main.c:257 and
_a257_8124_main_1.n_threads @ main.c:257
	Cluster ID: 18
	Escapes? true / true 
	Accessed at locs:
	[main.c:270:(34.f)] and
	[main.c:270:(34.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: #entry_point:0 0 w/ func: worker_pipeline
	Th. 2 spawned: #entry_point:0 0 w/ func: worker_pipeline

Different possible paths & LS (first 4):

****
Possible race between access to:

_a257_8124_main_1.w @ main.c:257 and
_a257_8124_main_1.w @ main.c:257
	Cluster ID: 19
	Escapes? true / true 
	Accessed at locs:
	[main.c:273:(34.f)] and
	[main.c:273:(34.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: #entry_point:0 0 w/ func: worker_pipeline
	Th. 2 spawned: #entry_point:0 0 w/ func: worker_pipeline

Different possible paths & LS (first 4):

****
Possible race between access to:

_a257_8124_main_1.w @ main.c:257 and
_a257_8124_main_1.w @ main.c:257
	Cluster ID: 27
	Escapes? true / true 
	Accessed at locs:
	[main.c:273:(34.f)] and
	[main.c:284:(34.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: #entry_point:0 0 w/ func: worker_pipeline
	Th. 2 spawned: #entry_point:0 0 w/ func: worker_pipeline

Different possible paths & LS (first 4):

****
Possible race between access to:

_a384_10719_main_1.n_pending @ main.c:374 and
_a384_10719_main_1.n_pending @ main.c:374
	Cluster ID: 32
	Escapes? true / true 
	Accessed at locs:
	[main.c:387:(63.f)] and
	[main.c:387:(63.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: #entry_point:0 0 w/ func: kt_forpool_init
	Th. 2 spawned: #entry_point:0 0 w/ func: kt_forpool_init

Different possible paths & LS (first 4):

****
Possible race between access to:

_a384_10719_main_1.n_pending @ main.c:374 and
_a384_10719_main_1.n_pending @ main.c:374
	Cluster ID: 37
	Escapes? true / true 
	Accessed at locs:
	[main.c:387:(63.f)] and
	[main.c:408:(63.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = {_a384_10719_main_1.mutex#g:60} (1)
	Th. 1 spawned: #entry_point:0 0 w/ func: kt_forpool_init
	Th. 2 spawned: #entry_point:0 0 w/ func: kt_forpool_init

Different possible paths & LS (first 4):

****
Possible race between access to:

_a384_10719_main_1.n_threads @ main.c:374 and
_a384_10719_main_1.n_threads @ main.c:374
	Cluster ID: 33
	Escapes? true / true 
	Accessed at locs:
	[main.c:388:(63.f)] and
	[main.c:388:(63.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: #entry_point:0 0 w/ func: kt_forpool_init
	Th. 2 spawned: #entry_point:0 0 w/ func: kt_forpool_init

Different possible paths & LS (first 4):

****
Possible race between access to:

_a384_10719_main_1.n_threads @ main.c:374 and
_a384_10719_main_1.n_threads @ main.c:374
	Cluster ID: 38
	Escapes? true / true 
	Accessed at locs:
	[main.c:388:(63.f)] and
	[main.c:394:(63.f), main.c:402:(63.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: #entry_point:0 0 w/ func: kt_forpool_init
	Th. 2 spawned: #entry_point:0 0 w/ func: kt_forpool_init

Different possible paths & LS (first 4):

****
Possible race between access to:

_a384_10719_main_1.tid @ main.c:374 and
_a384_10719_main_1.tid @ main.c:374
	Cluster ID: 34
	Escapes? true / true 
	Accessed at locs:
	[main.c:390:(63.f)] and
	[main.c:390:(63.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: #entry_point:0 0 w/ func: kt_forpool_init
	Th. 2 spawned: #entry_point:0 0 w/ func: kt_forpool_init

Different possible paths & LS (first 4):

****
Possible race between access to:

_a384_10719_main_1.tid @ main.c:374 and
_a384_10719_main_1.tid @ main.c:374
	Cluster ID: 39
	Escapes? true / true 
	Accessed at locs:
	[main.c:390:(63.f)] and
	[main.c:403:(63.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: #entry_point:0 0 w/ func: kt_forpool_init
	Th. 2 spawned: #entry_point:0 0 w/ func: kt_forpool_init

Different possible paths & LS (first 4):

****
Possible race between access to:

_a384_10719_main_1.w @ main.c:374 and
_a384_10719_main_1.w @ main.c:374
	Cluster ID: 35
	Escapes? true / true 
	Accessed at locs:
	[main.c:392:(63.f)] and
	[main.c:392:(63.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: #entry_point:0 0 w/ func: kt_forpool_init
	Th. 2 spawned: #entry_point:0 0 w/ func: kt_forpool_init

Different possible paths & LS (first 4):

****
Possible race between access to:

_a384_10719_main_1.w @ main.c:374 and
_a384_10719_main_1.w @ main.c:374
	Cluster ID: 40
	Escapes? true / true 
	Accessed at locs:
	[main.c:392:(63.f)] and
	[main.c:403:(63.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: #entry_point:0 0 w/ func: kt_forpool_init
	Th. 2 spawned: #entry_point:0 0 w/ func: kt_forpool_init

Different possible paths & LS (first 4):

****
Possible race between access to:

_a651_18318_main_1.lines @ main.c:639 and
_a651_18318_main_1.lines @ main.c:639
	Cluster ID: 20
	Escapes? true / true 
	Accessed at locs:
	[main.c:654:(129.f)] and
	[main.c:654:(129.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: #entry_point:0 0 w/ func: worker_pipeline
	Th. 2 spawned: #entry_point:0 0 w/ func: worker_pipeline

Different possible paths & LS (first 4):

****
Possible race between access to:

_a651_18318_main_1.n_lines @ main.c:639 and
_a651_18318_main_1.n_lines @ main.c:639
	Cluster ID: 21
	Escapes? true / true 
	Accessed at locs:
	[main.c:661:(129.f)] and
	[main.c:661:(129.f), main.c:662:(129.f), main.c:666:(129.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: #entry_point:0 0 w/ func: worker_pipeline
	Th. 2 spawned: #entry_point:0 0 w/ func: worker_pipeline

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: #entry_point:0 0 w/ func: worker_pipeline
	Th. 2 spawned: #entry_point:0 0 w/ func: worker_pipeline
****
Possible race between access to:

in->n_lines @ main.c:639 and
in->n_lines @ main.c:639
	Cluster ID: 28
	Escapes? true / true 
	Accessed at locs:
	[main.c:677:(129.f)] and
	[main.c:671:(129.f), main.c:676:(129.f), main.c:677:(129.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: #entry_point:0 0 w/ func: worker_pipeline
	Th. 2 spawned: #entry_point:0 0 w/ func: worker_pipeline

Different possible paths & LS (first 4):

****
Possible race between access to:

in->n_lines @ main.c:639 and
in->n_lines @ main.c:639
	Cluster ID: 23
	Escapes? true / true 
	Accessed at locs:
	[main.c:677:(129.f)] and
	[main.c:677:(129.f)]

	Confidence: Syntactic

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: #entry_point:0 0 w/ func: worker_pipeline
	Th. 2 spawned: #entry_point:0 0 w/ func: worker_pipeline

Different possible paths & LS (first 4):

****
Possible race between access to:

in->lines @ main.c:639 and
_a651_18318_main_1.lines @ main.c:639
	Cluster ID: 30
	Escapes? true / true 
	Accessed at locs:
	[main.c:681:(129.f)] and
	[main.c:654:(129.f)]

	Confidence: used PTA nodes ptSet(5, 5)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: #entry_point:0 0 w/ func: worker_pipeline
	Th. 2 spawned: #entry_point:0 0 w/ func: worker_pipeline

Different possible paths & LS (first 4):

****
Possible race between access to:

in->n_lines @ main.c:639 and
_a651_18318_main_1.n_lines @ main.c:639
	Cluster ID: 31
	Escapes? true / true 
	Accessed at locs:
	[main.c:671:(129.f), main.c:676:(129.f), main.c:677:(129.f)] and
	[main.c:661:(129.f)]

	Confidence: used PTA nodes ptSet(5, 5)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: #entry_point:0 0 w/ func: worker_pipeline
	Th. 2 spawned: #entry_point:0 0 w/ func: worker_pipeline

Different possible paths & LS (first 4):

****
Possible race between access to:

in->n_lines @ main.c:639 and
_a651_18318_main_1.n_lines @ main.c:639
	Cluster ID: 22
	Escapes? true / true 
	Accessed at locs:
	[main.c:677:(129.f)] and
	[main.c:661:(129.f), main.c:662:(129.f), main.c:666:(129.f)]

	Confidence: used PTA nodes ptSet(5, 5)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: #entry_point:0 0 w/ func: worker_pipeline
	Th. 2 spawned: #entry_point:0 0 w/ func: worker_pipeline

Different possible paths & LS (first 4):

(0)
	Th. 1 spawned: #entry_point:0 0 w/ func: worker_pipeline
	Th. 2 spawned: #entry_point:0 0 w/ func: worker_pipeline
****
Possible race between access to:

[REP: 27].t and
[REP: 27].t
	Cluster ID: 13
	Escapes? true / true 
	Accessed at locs:
	[main.c:340:(53.f)] and
	[main.c:395:(63.f)]

	Confidence: used PTA nodes lblSet(2, 2)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:403 11477 w/ func: kt_fp_worker
	Th. 2 spawned: #entry_point:0 0 w/ func: kt_forpool_init

Different possible paths & LS (first 4):

****
Possible race between access to:

[REP: 27].t and
[REP: 27].t
	Cluster ID: 36
	Escapes? true / true 
	Accessed at locs:
	[main.c:395:(63.f)] and
	[main.c:395:(63.f)]

	Confidence: used PTA nodes lblSet(2, 2)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: #entry_point:0 0 w/ func: kt_forpool_init
	Th. 2 spawned: #entry_point:0 0 w/ func: kt_forpool_init

Different possible paths & LS (first 4):

****
Possible race between access to:

[REP: 0].data and
[REP: 0].data
	Cluster ID: 8
	Escapes? true / true 
	Accessed at locs:
	[main.c:524:(82.f)] and
	[main.c:569:(92.f)]

	Confidence: used PTA nodes lblSet(5, 5)

LS for 1st access:
L+ = {[REP: 87].mutex#g} (1)
	(rep. lock)
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:579 15696 w/ func: ktp_worker
	Th. 2 spawned: #entry_point:0 0 w/ func: main

Different possible paths & LS (first 4):

****
Possible race between access to:

[REP: 0].index and
[REP: 0].index
	Cluster ID: 9
	Escapes? true / true 
	Accessed at locs:
	[main.c:501:(82.f)] and
	[main.c:572:(92.f)]

	Confidence: used PTA nodes lblSet(5, 5)

LS for 1st access:
L+ = {[REP: 87].mutex#g} (1)
	(rep. lock)
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:579 15696 w/ func: ktp_worker
	Th. 2 spawned: #entry_point:0 0 w/ func: main

Different possible paths & LS (first 4):

****
Possible race between access to:

[REP: 0].index and
[REP: 0].index
	Cluster ID: 5
	Escapes? true / true 
	Accessed at locs:
	[main.c:532:(82.f)] and
	[main.c:572:(92.f)]

	Confidence: used PTA nodes lblSet(5, 5)

LS for 1st access:
L+ = {[REP: 87].mutex#g} (1)
	(rep. lock)
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:579 15696 w/ func: ktp_worker
	Th. 2 spawned: #entry_point:0 0 w/ func: main

Different possible paths & LS (first 4):

****
Possible race between access to:

[REP: 0].step and
[REP: 0].step
	Cluster ID: 12
	Escapes? true / true 
	Accessed at locs:
	[main.c:500:(82.f), main.c:521:(82.f), main.c:522:(82.f), main.c:525:(82.f), main.c:529:(82.f)] and
	[main.c:567:(92.f)]

	Confidence: used PTA nodes lblSet(5, 5)

LS for 1st access:
L+ = {[REP: 87].mutex#g} (1)
	(rep. lock)
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:579 15696 w/ func: ktp_worker
	Th. 2 spawned: #entry_point:0 0 w/ func: main

Different possible paths & LS (first 4):

****
Possible race between access to:

[REP: 0].step and
[REP: 0].step
	Cluster ID: 3
	Escapes? true / true 
	Accessed at locs:
	[main.c:522:(82.f), main.c:525:(82.f), main.c:527:(82.f)] and
	[main.c:492:(82.f), main.c:514:(82.f), main.c:519:(82.f)]

	Confidence: used PTA nodes lblSet(5, 5)

LS for 1st access:
L+ = {[REP: 87].mutex#g} (1)
	(rep. lock)
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:579 15696 w/ func: ktp_worker
	Th. 2 spawned: main.c:579 15696 w/ func: ktp_worker

Different possible paths & LS (first 4):

****
Possible race between access to:

[REP: 0].step and
[REP: 0].step
	Cluster ID: 6
	Escapes? true / true 
	Accessed at locs:
	[main.c:522:(82.f), main.c:525:(82.f), main.c:527:(82.f)] and
	[main.c:567:(92.f)]

	Confidence: used PTA nodes lblSet(5, 5)

LS for 1st access:
L+ = {[REP: 87].mutex#g} (1)
	(rep. lock)
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:579 15696 w/ func: ktp_worker
	Th. 2 spawned: #entry_point:0 0 w/ func: main

Different possible paths & LS (first 4):

****
Possible race between access to:

[REP: 0].data and
[REP: 0].data
	Cluster ID: 7
	Escapes? true / true 
	Accessed at locs:
	[main.c:515:(82.f)] and
	[main.c:569:(92.f)]

	Confidence: used PTA nodes lblSet(5, 5)

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

Different possible paths & LS (first 4):

****
Possible race between access to:

[REP: 0].data and
[REP: 0].data
	Cluster ID: 1
	Escapes? true / true 
	Accessed at locs:
	[main.c:519:(82.f)] and
	[main.c:515:(82.f)]

	Confidence: used PTA nodes lblSet(5, 5)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:579 15696 w/ func: ktp_worker
	Th. 2 spawned: main.c:579 15696 w/ func: ktp_worker

Different possible paths & LS (first 4):

****
Possible race between access to:

[REP: 0].data and
[REP: 0].data
	Cluster ID: 0
	Escapes? true / true 
	Accessed at locs:
	[main.c:519:(82.f)] and
	[main.c:519:(82.f)]

	Confidence: used PTA nodes lblSet(5, 5)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:579 15696 w/ func: ktp_worker
	Th. 2 spawned: main.c:579 15696 w/ func: ktp_worker

Different possible paths & LS (first 4):

****
Possible race between access to:

[REP: 0].data and
[REP: 0].data
	Cluster ID: 2
	Escapes? true / true 
	Accessed at locs:
	[main.c:519:(82.f)] and
	[main.c:524:(82.f)]

	Confidence: used PTA nodes lblSet(5, 5)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = {[REP: 87].mutex#g} (1)
	(rep. lock)
	Th. 1 spawned: main.c:579 15696 w/ func: ktp_worker
	Th. 2 spawned: main.c:579 15696 w/ func: ktp_worker

Different possible paths & LS (first 4):

****
Possible race between access to:

[REP: 0].data and
[REP: 0].data
	Cluster ID: 4
	Escapes? true / true 
	Accessed at locs:
	[main.c:519:(82.f)] and
	[main.c:569:(92.f)]

	Confidence: used PTA nodes lblSet(5, 5)

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

Different possible paths & LS (first 4):

****
Possible race between access to:

[REP: 0].pl and
[REP: 0].pl
	Cluster ID: 10
	Escapes? true / true 
	Accessed at locs:
	[main.c:491:(82.f)] and
	[main.c:568:(92.f)]

	Confidence: used PTA nodes lblSet(5, 5)

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

Different possible paths & LS (first 4):

****
Possible race between access to:

[REP: 0].step and
[REP: 0].step
	Cluster ID: 11
	Escapes? true / true 
	Accessed at locs:
	[main.c:492:(82.f), main.c:514:(82.f), main.c:519:(82.f)] and
	[main.c:567:(92.f)]

	Confidence: used PTA nodes lblSet(5, 5)

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

Different possible paths & LS (first 4):

****
Possible race between access to:

[REP: 1] and
[REP: 1]
	Cluster ID: 29
	Escapes? true / true 
	Accessed at locs:
	[main.c:632:(117.f), main.c:633:(117.f), main.c:660:(129.f)] and
	[main.c:623:(117.f), main.c:626:(117.f), main.c:631:(117.f), main.c:632:(117.f), main.c:678:(129.f), main.c:679:(129.f)]

	Confidence: used PTA nodes lblSet(5, 5)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: #entry_point:0 0 w/ func: worker_pipeline
	Th. 2 spawned: #entry_point:0 0 w/ func: worker_pipeline

Different possible paths & LS (first 4):

****
Possible race between access to:

[REP: 1] and
[REP: 1]
	Cluster ID: 24
	Escapes? true / true 
	Accessed at locs:
	[main.c:632:(117.f), main.c:633:(117.f), main.c:660:(129.f)] and
	[main.c:632:(117.f), main.c:633:(117.f), main.c:660:(129.f)]

	Confidence: used PTA nodes lblSet(5, 5)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: #entry_point:0 0 w/ func: worker_pipeline
	Th. 2 spawned: #entry_point:0 0 w/ func: worker_pipeline

Different possible paths & LS (first 4):

****
Possible race between access to:

[REP: 1].i and
[REP: 1].i
	Cluster ID: 25
	Escapes? true / true 
	Accessed at locs:
	[main.c:279:(34.f)] and
	[main.c:279:(34.f)]

	Confidence: used PTA nodes lblSet(5, 5)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: #entry_point:0 0 w/ func: worker_pipeline
	Th. 2 spawned: #entry_point:0 0 w/ func: worker_pipeline

Different possible paths & LS (first 4):

****
Possible race between access to:

[REP: 1].t and
[REP: 1].t
	Cluster ID: 14
	Escapes? true / true 
	Accessed at locs:
	[main.c:248:(26.f)] and
	[main.c:278:(34.f)]

	Confidence: used PTA nodes lblSet(5, 5)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: main.c:284 8789 w/ func: ktf_worker
	Th. 2 spawned: #entry_point:0 0 w/ func: worker_pipeline

Different possible paths & LS (first 4):

****
Possible race between access to:

[REP: 1].t and
[REP: 1].t
	Cluster ID: 26
	Escapes? true / true 
	Accessed at locs:
	[main.c:278:(34.f)] and
	[main.c:278:(34.f)]

	Confidence: used PTA nodes lblSet(5, 5)

LS for 1st access:
L+ = empty;
LS for 2nd access:
L+ = empty;
	Th. 1 spawned: #entry_point:0 0 w/ func: worker_pipeline
	Th. 2 spawned: #entry_point:0 0 w/ func: worker_pipeline

Different possible paths & LS (first 4):



$$$$$$
Total Warnings: 41


Printing Alias assumptions used by warnings
-----
wp	30	l:138:in/l:127:_a651_18318_main_1	5	5
wp	31	l:138:in/l:127:_a651_18318_main_1	5	5
wp	22	l:138:in/l:127:_a651_18318_main_1	5	5
nc	13	[REP: 27].t#g/[REP: 27].t#g	2	2
nc	36	[REP: 27].t#g/[REP: 27].t#g	2	2
nc	8	[REP: 0].data#g/[REP: 0].data#g	5	5
nc	9	[REP: 0].index#g/[REP: 0].index#g	5	5
nc	5	[REP: 0].index#g/[REP: 0].index#g	5	5
nc	12	[REP: 0].step#g/[REP: 0].step#g	5	5
nc	3	[REP: 0].step#g/[REP: 0].step#g	5	5
nc	6	[REP: 0].step#g/[REP: 0].step#g	5	5
nc	7	[REP: 0].data#g/[REP: 0].data#g	5	5
nc	1	[REP: 0].data#g/[REP: 0].data#g	5	5
nc	0	[REP: 0].data#g/[REP: 0].data#g	5	5
nc	2	[REP: 0].data#g/[REP: 0].data#g	5	5
nc	4	[REP: 0].data#g/[REP: 0].data#g	5	5
nc	10	[REP: 0].pl#g/[REP: 0].pl#g	5	5
nc	11	[REP: 0].step#g/[REP: 0].step#g	5	5
nc	29	[REP: 1]#g/[REP: 1]#g	5	5
nc	24	[REP: 1]#g/[REP: 1]#g	5	5
nc	25	[REP: 1].i#g/[REP: 1].i#g	5	5
nc	14	[REP: 1].t#g/[REP: 1].t#g	5	5
nc	26	[REP: 1].t#g/[REP: 1].t#g	5	5


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

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