./goblint --conf conf/examples/large-program.json --cil.cstd c90 --enable ana.sv-comp.enabled --disable witness.enabled --sets ana.specification /mnt/goblint-svcomp/goblint-bench/bench/concrat/properties/no-data-race.prp --sets exp.architecture 64bit /mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c


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


--sets is deprecated, use --set instead.
--sets is deprecated, use --set instead.
Option warning: ana.base.context.int implicitly disabled by ana.base.context.non-ptr
Option warning: ana.base.context.interval implicitly disabled by ana.base.context.int
SV-COMP specification: CHECK( init(main()), LTL(G ! data-race) )
[Info][Imprecise] Invalidating expressions: CastE(TPtr(TNamed(pthread_cond_t, TComp(union __anonunion_pthread_cond_t_951761805, __data : TComp(struct __pthread_cond_s, __annonCompField1 : TComp(union __anonunion____missing_field_name_878880208, __wseq : TInt(unsigned long long, ), __wseq32 : TComp(struct __anonstruct___wseq32_112954846, __low : TInt(unsigned int, ), __high : TInt(unsigned int, ), , ), , ), __annonCompField2 : TComp(union __anonunion____missing_field_name_878880208, __wseq : TInt(unsigned long long, ), __wseq32 : TComp(struct __anonstruct___wseq32_112954846, __low : TInt(unsigned int, ), __high : TInt(unsigned int, ), , ), , ), __g_refs : TArray(TInt(unsigned int, ), Some(Const(Int(2,int,2))), ), __g_size : TArray(TInt(unsigned int, ), Some(Const(Int(2,int,2))), ), __g1_orig_size : TInt(unsigned int, ), __wrefs : TInt(unsigned int, ), __g_signals : TArray(TInt(unsigned int, ), Some(Const(Int(2,int,2))), ), , ), __size : TArray(TInt(char, ), Some(Const(Int(48,int,48))), ), __align : TInt(long long, ), , ), ),  __restrict  ), AddrOf(Mem(Lval(Var(bsem_p, NoOffset)), Field(cond:TNamed(pthread_cond_t, TComp(union __anonunion_pthread_cond_t_951761805, __data : TComp(struct __pthread_cond_s, __annonCompField1 : TComp(union __anonunion____missing_field_name_878880208, __wseq : TInt(unsigned long long, ), __wseq32 : TComp(struct __anonstruct___wseq32_112954846, __low : TInt(unsigned int, ), __high : TInt(unsigned int, ), , ), , ), __annonCompField2 : TComp(union __anonunion____missing_field_name_878880208, __wseq : TInt(unsigned long long, ), __wseq32 : TComp(struct __anonstruct___wseq32_112954846, __low : TInt(unsigned int, ), __high : TInt(unsigned int, ), , ), , ), __g_refs : TArray(TInt(unsigned int, ), Some(Const(Int(2,int,2))), ), __g_size : TArray(TInt(unsigned int, ), Some(Const(Int(2,int,2))), ), __g1_orig_size : TInt(unsigned int, ), __wrefs : TInt(unsigned int, ), __g_signals : TArray(TInt(unsigned int, ), Some(Const(Int(2,int,2))), ), , ), __size : TArray(TInt(char, ), Some(Const(Int(48,int,48))), ), __align : TInt(long long, ), , ), ), NoOffset)))) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:662:3-662:121)
[Info][Imprecise] Invalidating expressions: CastE(TPtr(TNamed(pthread_cond_t, TComp(union __anonunion_pthread_cond_t_951761805, __data : TComp(struct __pthread_cond_s, __annonCompField1 : TComp(union __anonunion____missing_field_name_878880208, __wseq : TInt(unsigned long long, ), __wseq32 : TComp(struct __anonstruct___wseq32_112954846, __low : TInt(unsigned int, ), __high : TInt(unsigned int, ), , ), , ), __annonCompField2 : TComp(union __anonunion____missing_field_name_878880208, __wseq : TInt(unsigned long long, ), __wseq32 : TComp(struct __anonstruct___wseq32_112954846, __low : TInt(unsigned int, ), __high : TInt(unsigned int, ), , ), , ), __g_refs : TArray(TInt(unsigned int, ), Some(Const(Int(2,int,2))), ), __g_size : TArray(TInt(unsigned int, ), Some(Const(Int(2,int,2))), ), __g1_orig_size : TInt(unsigned int, ), __wrefs : TInt(unsigned int, ), __g_signals : TArray(TInt(unsigned int, ), Some(Const(Int(2,int,2))), ), , ), __size : TArray(TInt(char, ), Some(Const(Int(48,int,48))), ), __align : TInt(long long, ), , ), ),  __restrict  ), AddrOf(Mem(Lval(Var(thpool_p, NoOffset)), Field(threads_all_idle:TNamed(pthread_cond_t, TComp(union __anonunion_pthread_cond_t_951761805, __data : TComp(struct __pthread_cond_s, __annonCompField1 : TComp(union __anonunion____missing_field_name_878880208, __wseq : TInt(unsigned long long, ), __wseq32 : TComp(struct __anonstruct___wseq32_112954846, __low : TInt(unsigned int, ), __high : TInt(unsigned int, ), , ), , ), __annonCompField2 : TComp(union __anonunion____missing_field_name_878880208, __wseq : TInt(unsigned long long, ), __wseq32 : TComp(struct __anonstruct___wseq32_112954846, __low : TInt(unsigned int, ), __high : TInt(unsigned int, ), , ), , ), __g_refs : TArray(TInt(unsigned int, ), Some(Const(Int(2,int,2))), ), __g_size : TArray(TInt(unsigned int, ), Some(Const(Int(2,int,2))), ), __g1_orig_size : TInt(unsigned int, ), __wrefs : TInt(unsigned int, ), __g_signals : TArray(TInt(unsigned int, ), Some(Const(Int(2,int,2))), ), , ), __size : TArray(TInt(char, ), Some(Const(Int(48,int,48))), ), __align : TInt(long long, ), , ), ), NoOffset)))) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:332:3-333:73)
[Info][Imprecise] Invalidating expressions: CastE(TPtr(TInt(char, ),  __restrict  ), StartOf(Var(thread_name, NoOffset))) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:507:3-508:25)
[Info][Imprecise] Invalidating expressions: AddrOf(Var(act, Field(sa_mask:TNamed(__sigset_t, TComp(struct __anonstruct___sigset_t_991265788, __val : TArray(TInt(unsigned long, ), Some(/(Const(Int(400,unsigned long,1024UL)), *(Const(Int(8,unsigned long,8UL)), sizeof(TInt(unsigned long, ))))), ), , ), ), NoOffset))) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:511:3-511:29)
[Info][Unsound] Unknown address in {&act} has escaped. (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:514:3-514:118)
[Info][Unsound] Unknown value in {?} could be an escaped pointer address! (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:514:3-514:118)
[Info][Imprecise] Invalidating expressions: CastE(TPtr(TComp(struct sigaction, __sigaction_handler : TComp(union __anonunion___sigaction_handler_363639592, sa_handler : TPtr(TFun(TVoid(), : TInt(int, ), ), ), sa_sigaction : TPtr(TFun(TVoid(), : TInt(int, ), : TPtr(TNamed(siginfo_t, TComp(struct __anonstruct_siginfo_t_727121837, si_signo : TInt(int, ), si_errno : TInt(int, ), si_code : TInt(int, ), __pad0 : TInt(int, ), _sifields : TComp(union __anonunion__sifields_369293474, _pad : TArray(TInt(int, ), Some(MinusA(/(Const(Int(80,unsigned long,128UL)), sizeof(TInt(int, ))), Const(Int(4,unsigned long,4UL)))), ), _kill : TComp(struct __anonstruct__kill_244518854, si_pid : TNamed(__pid_t, TInt(int, ), ), si_uid : TNamed(__uid_t, TInt(unsigned int, ), ), , ), _timer : TComp(struct __anonstruct__timer_490064738, si_tid : TInt(int, ), si_overrun : TInt(int, ), si_sigval : TNamed(__sigval_t, TComp(union sigval, sival_int : TInt(int, ), sival_ptr : TPtr(TVoid(), ), , ), ), , ), _rt : TComp(struct __anonstruct__rt_619254530, si_pid : TNamed(__pid_t, TInt(int, ), ), si_uid : TNamed(__uid_t, TInt(unsigned int, ), ), si_sigval : TNamed(__sigval_t, TComp(union sigval, sival_int : TInt(int, ), sival_ptr : TPtr(TVoid(), ), , ), ), , ), _sigchld : TComp(struct __anonstruct__sigchld_284671705, si_pid : TNamed(__pid_t, TInt(int, ), ), si_uid : TNamed(__uid_t, TInt(unsigned int, ), ), si_status : TInt(int, ), si_utime : TNamed(__clock_t, TInt(long, ), ), si_stime : TNamed(__clock_t, TInt(long, ), ), , ), _sigfault : TComp(struct __anonstruct__sigfault_657862099, si_addr : TPtr(TVoid(), ), si_addr_lsb : TInt(short, ), _bounds : TComp(union __anonunion__bounds_505112296, _addr_bnd : TComp(struct __anonstruct__addr_bnd_5259977, _lower : TPtr(TVoid(), ), _upper : TPtr(TVoid(), ), , ), _pkey : TNamed(__uint32_t, TInt(unsigned int, ), ), , ), , ), _sigpoll : TComp(struct __anonstruct__sigpoll_386613454, si_band : TInt(long, ), si_fd : TInt(int, ), , ), _sigsys : TComp(struct __anonstruct__sigsys_44812255, _call_addr : TPtr(TVoid(), ), _syscall : TInt(int, ), _arch : TInt(unsigned int, ), , ), , ), , ), ), ), : TPtr(TVoid(), ), ), ), , ), sa_mask : TNamed(__sigset_t, TComp(struct __anonstruct___sigset_t_991265788, __val : TArray(TInt(unsigned long, ), Some(/(Const(Int(400,unsigned long,1024UL)), *(Const(Int(8,unsigned long,8UL)), sizeof(TInt(unsigned long, ))))), ), , ), ), sa_flags : TInt(int, ), sa_restorer : TPtr(TFun(TVoid(), , ), ), , ),  __restrict  ), CastE(TPtr(TVoid(), ), Const(Int(0,int,0)))) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:514:3-514:118)
[Info][Imprecise] Invalidating expressions: AddrOf(Var(tmp___0, NoOffset)) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:514:3-514:118)
[Info][Unsound] Unknown value type given as function argument (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:514:3-514:118)
[Info][Unsound] Write to unknown address: privatization is unsound. (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:514:3-514:118)
[Info][Imprecise] Invalidating expressions: CastE(TPtr(TNamed(FILE, TComp(struct _IO_FILE, _flags : TInt(int, ), _IO_read_ptr : TPtr(TInt(char, ), ), _IO_read_end : TPtr(TInt(char, ), ), _IO_read_base : TPtr(TInt(char, ), ), _IO_write_base : TPtr(TInt(char, ), ), _IO_write_ptr : TPtr(TInt(char, ), ), _IO_write_end : TPtr(TInt(char, ), ), _IO_buf_base : TPtr(TInt(char, ), ), _IO_buf_end : TPtr(TInt(char, ), ), _IO_save_base : TPtr(TInt(char, ), ), _IO_backup_base : TPtr(TInt(char, ), ), _IO_save_end : TPtr(TInt(char, ), ), _markers : TPtr(TComp(struct _IO_marker, , , ), ), _chain : TPtr(TCompLoop(struct _IO_FILE, _, ), ), _fileno : TInt(int, ), _flags2 : TInt(int, ), _old_offset : TNamed(__off_t, TInt(long, ), ), _cur_column : TInt(unsigned short, ), _vtable_offset : TInt(signed char, ), _shortbuf : TArray(TInt(char, ), Some(Const(Int(1,int,1))), ), _lock : TPtr(TNamed(_IO_lock_t, TVoid(), ), ), _offset : TNamed(__off64_t, TInt(long, ), ), _codecvt : TPtr(TComp(struct _IO_codecvt, , , ), ), _wide_data : TPtr(TComp(struct _IO_wide_data, , , ), ), _freeres_list : TPtr(TCompLoop(struct _IO_FILE, _, ), ), _freeres_buf : TPtr(TVoid(), ), __pad5 : TNamed(size_t, TInt(unsigned long, ), ), _mode : TInt(int, ), _unused2 : TArray(TInt(char, ), Some(MinusA(MinusA(*(Const(Int(f,unsigned long,15UL)), sizeof(TInt(int, ))), *(Const(Int(4,unsigned long,4UL)), sizeof(TPtr(TVoid(), )))), sizeof(TNamed(size_t, TInt(unsigned long, ), )))), ), , ), ),  __restrict  ), Lval(Var(stderr, NoOffset))) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:516:5-516:104)
[Info][Unsound] Unknown address in (FILE * __restrict  )stderr has escaped. (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:516:5-516:104)
[Info][Unsound] Unknown value in {?} could be an escaped pointer address! (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:516:5-516:104)
[Info][Unsound] Write to unknown address: privatization is unsound. (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:516:5-516:104)
[Warning][Unknown] unlocking mutex ((alloc@sid:7@tid:Top Threads(#top)).thcount_lock) which may not be held (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:520:3-520:49)
[Warning][Unknown] unlocking mutex ((alloc@sid:234@tid:Top Threads(#top)).mutex) which may not be held (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:707:5-707:120)
[Warning][Unknown] unlocking mutex ((alloc@sid:234@tid:Top Threads(#top)).mutex) which may not be held (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:710:3-710:40)
[Warning][Unknown] unlocking mutex ((alloc@sid:7@tid:Top Threads(#top)).thcount_lock) which may not be held (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:526:7-526:53)
[Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:630:3-630:34)
[Warning][Unknown] unlocking mutex ((alloc@sid:234@tid:Top Threads(#top)).mutex) which may not be held (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:684:3-684:40)
[Warning][Unknown] unlocking mutex ((alloc@sid:7@tid:Top Threads(#top)).jobqueue.rwmutex) which may not be held (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:634:3-634:46)
[Info][Imprecise] Invalidating expressions: AddrOf(Var(tmp, NoOffset)) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:723:3-723:23)
[Warning][Unknown] unlocking mutex ((alloc@sid:7@tid:Top Threads(#top)).thcount_lock) which may not be held (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:540:7-540:53)
[Warning][Unknown] unlocking mutex ((alloc@sid:7@tid:Top Threads(#top)).thcount_lock) which may not be held (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:545:3-545:49)
[Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:605:4-605:36)
[Warning][Unknown] unlocking mutex ((alloc@sid:7@tid:Top Threads(#top)).jobqueue.rwmutex) which may not be held (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:610:3-610:46)
[Warning][Unknown] unlocking mutex ((alloc@sid:7@tid:Top Threads(#top)).thcount_lock) which may not be held (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:375:5-376:81)
[Warning][Unknown] unlocking mutex ((alloc@sid:7@tid:Top Threads(#top)).thcount_lock) which may not be held (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:378:3-378:49)
[Info][Imprecise] Invalidating expressions: AddrOf(Var(start, NoOffset)) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:399:3-399:16)
[Warning][Unknown] unlocking mutex ((alloc@sid:234@tid:Top Threads(#top)).mutex) which may not be held (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:696:3-696:40)
[Info][Imprecise] Invalidating expressions: AddrOf(Var(end, NoOffset)) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:409:5-409:16)
[Info][Imprecise] Invalidating expressions: AddrOf(Var(tpassed, NoOffset)) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:410:5-410:35)
[Warning][Deadcode] Function 'thpool_pause' is uncalled: 5 LLoC (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:427:1-439:1)
[Warning][Deadcode] Function 'thpool_resume' is uncalled: 2 LLoC (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:440:1-448:1)
[Warning][Deadcode] Function 'thpool_num_threads_working' is uncalled: 1 LLoC (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:449:1-456:1)
[Warning][Deadcode] Function 'bsem_init' has dead code:
  on lines 654..655 (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:654-655)
  on lines 658..659 (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:658-659)
[Warning][Deadcode] Function 'jobqueue_init' has dead code:
  on line 569 (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:569-569)
[Warning][Deadcode] Function 'thpool_add_work' has dead code:
  on lines 354..355 (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:354-355)
[Warning][Deadcode] Function 'thpool_destroy' has dead code:
  on line 393 (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:393-393)
[Warning][Deadcode] Function 'thpool_init' has dead code:
  on line 307 (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:307-307)
  on lines 312..313 (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:312-313)
  on lines 319..321 (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:319-321)
  on lines 326..329 (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:326-329)
[Warning][Deadcode] Function 'thread_init' has dead code:
  on lines 465..466 (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:465-466)
[Warning][Deadcode] Logical lines of code (LLoC) summary:
  live: 213
  dead: 28 (8 in uncalled functions)
  total lines: 241
[Warning][Deadcode][CWE-570] condition '(unsigned long )thpool_p == (unsigned long )((void *)0)' is always false (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:392:7-392:62)
[Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:400:10-400:11)
[Warning][Race] Memory location (alloc@sid:52@tid:Top Threads(#top)) (race with conf. 110): (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:351:3-351:36)
  free with [] (conf. 110)  (exp: (void *)job_p) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:533:9-533:28)
  free with [] (conf. 110)  (exp: (void *)tmp) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:583:5-583:22)
[Warning][Race] Memory location (alloc@sid:52@tid:Top Threads(#top)).arg (race with conf. 110): (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:351:3-351:36)
  write with [] (conf. 110)  (exp: & newjob->arg) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:358:3-358:22)
  read with [] (conf. 110)  (exp: & job_p->arg) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:531:9-531:30)
  free with [] (conf. 110)  (exp: (void *)job_p) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:533:9-533:28)
  free with [] (conf. 110)  (exp: (void *)tmp) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:583:5-583:22)
[Warning][Race] Memory location (alloc@sid:52@tid:Top Threads(#top)).function (race with conf. 110): (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:351:3-351:36)
  write with [] (conf. 110)  (exp: & newjob->function) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:357:3-357:32)
  read with [] (conf. 110)  (exp: & job_p->function) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:530:9-530:36)
  free with [] (conf. 110)  (exp: (void *)job_p) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:533:9-533:28)
  free with [] (conf. 110)  (exp: (void *)tmp) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:583:5-583:22)
[Warning][Race] Memory location (alloc@sid:52@tid:Top Threads(#top)).prev (race with conf. 110): (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:351:3-351:36)
  write with [] (conf. 110)  (exp: & newjob->prev) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:598:3-598:43)
  write with [] (conf. 110)  (exp: & (jobqueue_p->rear)->prev) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:605:4-605:36)
  read with [] (conf. 110)  (exp: & job_p->prev) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:630:3-630:34)
  free with [] (conf. 110)  (exp: (void *)job_p) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:533:9-533:28)
  free with [] (conf. 110)  (exp: (void *)tmp) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:583:5-583:22)
[Warning][Deadcode][CWE-570] condition '(unsigned long )jobqueue_p->has_jobs == (unsigned long )((void *)0)' is always false (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:568:7-568:74)
[Warning][Race] Memory location threads_keepalive (race with conf. 110): (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:279:21-279:39)
  write with [] (conf. 110)  (exp: & threads_keepalive) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:305:3-305:39)
  write with [] (conf. 110)  (exp: & threads_keepalive) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:396:3-396:39)
  read with [] (conf. 110)  (exp: & threads_keepalive) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:521:10-521:27)
  read with [] (conf. 110)  (exp: & threads_keepalive) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:523:9-523:26)
[Warning][Race] Memory location (alloc@sid:234@tid:Top Threads(#top)) (race with conf. 110): (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:566:3-566:37)
  free with [] (conf. 110)  (exp: (void *)jobqueue_p->has_jobs) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:644:3-644:37)
[Warning][Race] Memory location (alloc@sid:234@tid:Top Threads(#top)).v (race with conf. 110): (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:566:3-566:37)
  write with [] (conf. 110)  (exp: & bsem_p->v) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:663:3-663:20)
  write with [] (conf. 110)  (exp: & bsem_p->v) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:682:3-682:16)
  write with [] (conf. 110)  (exp: & bsem_p->v) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:694:3-694:16)
  write with [] (conf. 110)  (exp: & bsem_p->v) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:709:3-709:16)
  read with [] (conf. 110)  (exp: & bsem_p->v) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:706:10-706:24)
  free with [] (conf. 110)  (exp: (void *)jobqueue_p->has_jobs) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:644:3-644:37)
[Warning][Race] Memory location (alloc@sid:143@tid:Top Threads(#top)) (race with conf. 110): (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:462:3-462:39)
  free with [] (conf. 110)  (exp: (void *)thread_p) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:554:3-554:25)
[Warning][Race] Memory location (alloc@sid:143@tid:Top Threads(#top)).id (race with conf. 110): (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:462:3-462:39)
  write with [] (conf. 110)  (exp: & (*thread_p)->id) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:469:4-469:23)
  read with [] (conf. 110)  (exp: & thread_p->id) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:507:3-508:25)
  free with [] (conf. 110)  (exp: (void *)thread_p) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:554:3-554:25)
[Warning][Race] Memory location (alloc@sid:143@tid:Top Threads(#top)).pthread (race with conf. 110): (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:462:3-462:39)
  write with [] (conf. 110)  (exp: (pthread_t * __restrict  )(& (*thread_p)->pthread)) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:470:3-471:83)
  write with [] (conf. 110)  (exp: & *((pthread_t * __restrict  )(& (*thread_p)->pthread))) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:470:3-471:83)
  read with [] (conf. 110)  (exp: & (*thread_p)->pthread) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:472:3-472:39)
  free with [] (conf. 110)  (exp: (void *)thread_p) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:554:3-554:25)
[Warning][Race] Memory location (alloc@sid:143@tid:Top Threads(#top)).thpool_p (race with conf. 110): (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:462:3-462:39)
  write with [] (conf. 110)  (exp: & (*thread_p)->thpool_p) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:468:4-468:35)
  read with [] (conf. 110)  (exp: & thread_p->thpool_p) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:510:3-510:32)
  free with [] (conf. 110)  (exp: (void *)thread_p) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:554:3-554:25)
[Warning][Deadcode][CWE-570] condition 'num_threads < 0' is always false (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:306:7-306:22)
[Warning][Deadcode][CWE-570] condition '(unsigned long )thpool_p == (unsigned long )((void *)0)' is always false (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:311:7-311:62)
[Warning][Deadcode][CWE-570] condition 'tmp___0 == -1' is always false (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:318:7-318:20)
[Warning][Deadcode][CWE-570] condition '(unsigned long )*thread_p == (unsigned long )((void *)0)' is always false (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:464:7-464:63)
[Warning][Deadcode][CWE-570] condition '(unsigned long )thpool_p->threads == (unsigned long )((void *)0)' is always false (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:325:7-325:71)
[Warning][Race] Memory location threads_on_hold (race with conf. 110): (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:280:21-280:37)
  write with [] (conf. 110)  (exp: & threads_on_hold) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:304:3-304:37)
  write with [] (conf. 110)  (exp: & threads_on_hold) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:481:3-481:37)
  read with [] (conf. 110)  (exp: & threads_on_hold) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:482:10-482:25)
[Warning][Race] Memory location (alloc@sid:23@tid:Top Threads(#top)) (race with conf. 110): (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:323:3-323:74)
  free with [] (conf. 110)  (exp: (void *)thpool_p->threads) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:422:3-422:34)
[Warning][Race] Memory location (alloc@sid:23@tid:Top Threads(#top))[?] (race with conf. 110): (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:323:3-323:74)
  write with [] (conf. 110)  (exp: & *thread_p) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:463:3-463:35)
  read with [] (conf. 110)  (exp: & *(thpool_p->threads + n)) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:419:5-419:45)
  read with [] (conf. 110)  (exp: & *thread_p) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:464:7-464:63)
  read with [] (conf. 110)  (exp: & *thread_p) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:468:4-468:35)
  read with [] (conf. 110)  (exp: & *thread_p) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:469:4-469:23)
  read with [] (conf. 110)  (exp: & *thread_p) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:470:3-471:83)
  read with [] (conf. 110)  (exp: & *thread_p) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:472:3-472:39)
  free with [] (conf. 110)  (exp: (void *)thpool_p->threads) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:422:3-422:34)
[Warning][Deadcode][CWE-570] condition 'value < 0' is always false (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:653:7-653:16)
[Warning][Deadcode][CWE-570] condition 'value > 1' is always false (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:657:7-657:16)
[Warning][Race] Memory location (alloc@sid:7@tid:Top Threads(#top)) (race with conf. 110): (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:309:3-309:40)
  free with [] (conf. 110)  (exp: (void *)thpool_p) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:423:3-423:25)
[Warning][Race] Memory location (alloc@sid:7@tid:Top Threads(#top)).jobqueue.front (race with conf. 110): (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:309:3-309:40)
  write with [] (conf. 110)  (exp: & jobqueue_p->front) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:564:3-564:41)
  write with [] (conf. 110)  (exp: & jobqueue_p->front) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:585:3-585:41)
  write with [] (conf. 110)  (exp: & jobqueue_p->front) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:601:3-601:29)
  write with [] (conf. 110)  (exp: & jobqueue_p->front) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:625:3-625:41)
  write with [] (conf. 110)  (exp: & jobqueue_p->front) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:630:3-630:34)
  read with [] (conf. 110)  (exp: & jobqueue_p->front) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:620:3-620:28)
  free with [] (conf. 110)  (exp: (void *)thpool_p) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:423:3-423:25)
[Warning][Race] Memory location (alloc@sid:7@tid:Top Threads(#top)).jobqueue.has_jobs (race with conf. 110): (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:309:3-309:40)
  write with [] (conf. 110)  (exp: & jobqueue_p->has_jobs) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:567:3-567:44)
  read with [] (conf. 110)  (exp: & thpool_p->jobqueue.has_jobs) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:408:5-408:47)
  read with [] (conf. 110)  (exp: & thpool_p->jobqueue.has_jobs) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:413:5-413:47)
  read with [] (conf. 110)  (exp: & thpool_p->jobqueue.has_jobs) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:522:5-522:43)
  read with [] (conf. 110)  (exp: & jobqueue_p->has_jobs) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:568:7-568:74)
  read with [] (conf. 110)  (exp: & jobqueue_p->has_jobs) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:572:3-572:37)
  read with [] (conf. 110)  (exp: & jobqueue_p->has_jobs) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:587:3-587:35)
  read with [] (conf. 110)  (exp: & jobqueue_p->has_jobs) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:609:3-609:34)
  read with [] (conf. 110)  (exp: & jobqueue_p->has_jobs) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:632:3-632:34)
  read with [] (conf. 110)  (exp: & jobqueue_p->has_jobs) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:644:3-644:37)
  free with [] (conf. 110)  (exp: (void *)thpool_p) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:423:3-423:25)
[Warning][Race] Memory location (alloc@sid:7@tid:Top Threads(#top)).jobqueue.len (race with conf. 110): (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:309:3-309:40)
  write with [] (conf. 110)  (exp: & jobqueue_p->len) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:563:3-563:22)
  write with [] (conf. 110)  (exp: & jobqueue_p->len) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:588:3-588:22)
  write with [] (conf. 110)  (exp: & jobqueue_p->len) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:608:4-608:23)
  write with [] (conf. 110)  (exp: & jobqueue_p->len) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:627:3-627:22)
  write with [] (conf. 110)  (exp: & jobqueue_p->len) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:631:4-631:23)
  read with [] (conf. 110)  (exp: & thpool_p->jobqueue.len) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:370:9-370:33)
  read with [] (conf. 110)  (exp: & jobqueue_p->len) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:581:10-581:25)
  read with [] (conf. 110)  (exp: & jobqueue_p->len) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:600:3-600:9)
  read with [] (conf. 110)  (exp: & jobqueue_p->len) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:608:4-608:23)
  read with [] (conf. 110)  (exp: & jobqueue_p->len) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:622:3-622:9)
  read with [] (conf. 110)  (exp: & jobqueue_p->len) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:624:3-624:9)
  read with [] (conf. 110)  (exp: & jobqueue_p->len) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:631:4-631:23)
  free with [] (conf. 110)  (exp: (void *)thpool_p) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:423:3-423:25)
[Warning][Race] Memory location (alloc@sid:7@tid:Top Threads(#top)).jobqueue.rear (race with conf. 110): (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:309:3-309:40)
  write with [] (conf. 110)  (exp: & jobqueue_p->rear) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:565:3-565:40)
  write with [] (conf. 110)  (exp: & jobqueue_p->rear) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:586:3-586:40)
  write with [] (conf. 110)  (exp: & jobqueue_p->rear) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:602:3-602:28)
  write with [] (conf. 110)  (exp: & jobqueue_p->rear) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:606:3-606:28)
  write with [] (conf. 110)  (exp: & jobqueue_p->rear) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:626:3-626:40)
  read with [] (conf. 110)  (exp: & jobqueue_p->rear) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:605:4-605:36)
  free with [] (conf. 110)  (exp: (void *)thpool_p) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:423:3-423:25)
[Warning][Race] Memory location (alloc@sid:7@tid:Top Threads(#top)).num_threads_alive (race with conf. 110): (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:309:3-309:40)
  write with [] (conf. 110)  (exp: & thpool_p->num_threads_alive) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:315:3-315:49)
  write with [] (conf. 110)  (exp: & thpool_p->num_threads_alive) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:519:3-519:50)
  write with [] (conf. 110)  (exp: & thpool_p->num_threads_alive) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:544:3-544:50)
  read with [] (conf. 110)  (exp: & thpool_p->num_threads_alive) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:339:10-339:67)
  read with [] (conf. 110)  (exp: & thpool_p->num_threads_alive) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:395:3-395:46)
  read with [] (conf. 110)  (exp: & thpool_p->num_threads_alive) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:402:11-402:40)
  read with [] (conf. 110)  (exp: & thpool_p->num_threads_alive) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:412:10-412:37)
  read with [] (conf. 110)  (exp: & thpool_p->num_threads_alive) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:519:3-519:50)
  read with [] (conf. 110)  (exp: & thpool_p->num_threads_alive) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:544:3-544:50)
  free with [] (conf. 110)  (exp: (void *)thpool_p) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:423:3-423:25)
[Warning][Race] Memory location (alloc@sid:7@tid:Top Threads(#top)).num_threads_working (race with conf. 110): (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:309:3-309:40)
  write with [] (conf. 110)  (exp: & thpool_p->num_threads_working) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:316:3-316:51)
  write with [] (conf. 110)  (exp: & thpool_p->num_threads_working) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:525:7-525:56)
  write with [] (conf. 110)  (exp: & thpool_p->num_threads_working) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:536:7-536:56)
  read with [] (conf. 110)  (exp: & thpool_p->num_threads_working) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:371:11-371:42)
  read with [] (conf. 110)  (exp: & thpool_p->num_threads_working) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:525:7-525:56)
  read with [] (conf. 110)  (exp: & thpool_p->num_threads_working) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:536:7-536:56)
  read with [] (conf. 110)  (exp: & thpool_p->num_threads_working) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:537:11-537:42)
  free with [] (conf. 110)  (exp: (void *)thpool_p) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:423:3-423:25)
[Warning][Race] Memory location (alloc@sid:7@tid:Top Threads(#top)).threads (race with conf. 110): (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:309:3-309:40)
  write with [] (conf. 110)  (exp: & thpool_p->threads) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:324:3-324:48)
  read with [] (conf. 110)  (exp: & thpool_p->threads) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:325:7-325:71)
  read with [] (conf. 110)  (exp: & thpool_p->threads) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:336:5-336:52)
  read with [] (conf. 110)  (exp: & thpool_p->threads) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:419:5-419:45)
  read with [] (conf. 110)  (exp: & thpool_p->threads) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:422:3-422:34)
  free with [] (conf. 110)  (exp: (void *)thpool_p) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:423:3-423:25)
[Warning][Deadcode][CWE-570] condition '(unsigned long )newjob == (unsigned long )((void *)0)' is always false (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:353:7-353:60)
[Warning][Deadcode][CWE-571] condition '1' (possibly inserted by CIL) is always true (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:369:10-369:11)
[Warning][Race] Memory location (struct sigaction) (race with conf. 80):
  read with [] (conf. 80)  (exp: (struct sigaction  const  * __restrict  )(& act)) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:514:3-514:118)
  spawn with [] (conf. 80)  (exp: (struct sigaction  const  * __restrict  )(& act)) (/mnt/goblint-svcomp/goblint-bench/bench/concrat/C-Thread-Pool/main.c:514:3-514:118)
SV-COMP result: unknown
[Info][Race] Memory locations race summary:
  safe: 1
  vulnerable: 1
  unsafe: 22
  total memory locations: 24
