winix/winixd/core
Tomasz Sowa 486067a4b2 clang thread sanitizer reported a data race in App::Start()
synchro.was_stop_signal was read without locking

==================
WARNING: ThreadSanitizer: data race (pid=13831)
  Write of size 1 at 0x000000dc4d18 by thread T1 (mutexes: write M44):
    #0 Winix::App::SpecialThreadForSignals(void*) /disk2Tc/home/tomek/roboczy/prog/winix/winixd/core/app.cpp:2226:31 (winix.so+0x1f7465)

  Previous read of size 1 at 0x000000dc4d18 by main thread:
    #0 Winix::App::Start() /disk2Tc/home/tomek/roboczy/prog/winix/winixd/core/app.cpp:651:18 (winix.so+0x1ee9af)
    #1 main /disk2Tc/home/tomek/roboczy/prog/winix/winixd/main/main.cpp:222:6 (winix+0x2d74c1)

  Location is global 'Winix::app' of size 65840 at 0x000000db5908 (winix+0x000000dc4d18)

  Mutex M44 (0x000000dc4d10) created at:
    #0 pthread_mutex_lock /disk2Tb/usr/src/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc:4153:3 (winix+0x2ac204)
    #1 Winix::Synchro::Lock() /disk2Tc/home/tomek/roboczy/prog/winix/winixd/core/synchro.cpp:68:12 (winix.so+0x2e5822)
    #2 Winix::Lock::Lock(Winix::Synchro*) /disk2Tc/home/tomek/roboczy/prog/winix/winixd/core/lock.cpp:53:11 (winix.so+0x295522)
    #3 Winix::FileLog::get_local_date(PT::Date const&) /disk2Tc/home/tomek/roboczy/prog/winix/winixd/core/filelog.cpp:98:8 (winix.so+0x261183)
    #4 Winix::Log::PrintDate(PT::Date const&) /disk2Tc/home/tomek/roboczy/prog/winix/winixd/core/log.cpp:80:30 (winix.so+0x295a21)
    #5 Winix::LogInfo(Winix::Log&, Winix::LogManipulators, char const*, bool, char const*) /disk2Tc/home/tomek/roboczy/prog/winix/winixd/main/main.cpp:104:6 (winix+0x2d69ec)
    #6 main /disk2Tc/home/tomek/roboczy/prog/winix/winixd/main/main.cpp:190:2 (winix+0x2d7363)

  Thread T1 (tid=100187, running) created by main thread at:
    #0 pthread_create /disk2Tb/usr/src/contrib/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:962:3 (winix+0x295bb3)
    #1 Winix::App::StartThreads() /disk2Tc/home/tomek/roboczy/prog/winix/winixd/core/app.cpp:2246:2 (winix.so+0x1f7549)
    #2 main /disk2Tc/home/tomek/roboczy/prog/winix/winixd/main/main.cpp:212:6 (winix+0x2d743e)

SUMMARY: ThreadSanitizer: data race /disk2Tc/home/tomek/roboczy/prog/winix/winixd/core/app.cpp:2226:31 in Winix::App::SpecialThreadForSignals(void*)
==================
2021-04-10 17:14:51 +02:00
..
Makefile Makefiles: added path to morm/src to -I flags 2018-11-23 18:28:15 +00:00
Makefile.dep changed in Makefile: we have now one lib pikotools/pikotools.a 2021-03-31 20:25:09 +02:00
Makefile.o.dep Item class has been moved to a new directory 'models', a new class has been added: ItemContent 2021-02-24 01:19:47 +01:00
acceptbaseparser.cpp moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
acceptbaseparser.h start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
acceptencodingparser.h moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
app.cpp clang thread sanitizer reported a data race in App::Start() 2021-04-10 17:14:51 +02:00
app.h updated to the new Pikotools api (new Space struct) 2021-04-09 17:50:58 +02:00
basethread.cpp fixed: clang address sanitizer reports that there is an use after free bug at the end when winix shuts down: 2021-02-17 15:58:05 +01:00
basethread.h fixed: permissions to symlinks and directories with redirect flag were incorrectly checked 2019-03-19 18:08:09 +00:00
bbcodeparser.cpp added to HTMLFilter: 2018-10-24 16:31:42 +00:00
bbcodeparser.h added to HTMLFilter: 2018-10-24 16:31:42 +00:00
compress.cpp moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
compress.h start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
config.cpp updated to the new Pikotools api (new Space struct) 2021-04-09 17:50:58 +02:00
config.h updated to the new Pikotools api (new Space struct) 2021-04-09 17:50:58 +02:00
cookieparser.h moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
crypt.cpp updated to the new pikotools api - we have a logger for morm and ezc 2018-11-23 17:53:43 +00:00
crypt.h start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
cur.h moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
dircontainer.cpp moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
dircontainer.h Item class has been moved to a new directory 'models', a new class has been added: ItemContent 2021-02-24 01:19:47 +01:00
dirs.cpp removed from Item: update() and save() methods which take the 'url_was_changed' argument 2021-03-08 21:06:50 +01:00
dirs.h Item class has been moved to a new directory 'models', a new class has been added: ItemContent 2021-02-24 01:19:47 +01:00
error.h moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
filelog.cpp fixed: FileLog::get_local_date we need to synchronize when using time_zones pointer 2019-09-25 16:25:20 +00:00
filelog.h added 'using PT::FileLog::init' to FileLog to suppress clang warning: 2021-02-17 18:06:00 +01:00
group.h moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
groups.cpp start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
groups.h start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
htmlfilter.cpp some work on dependency injection 2018-11-21 17:51:15 +00:00
htmlfilter.h some work on dependency injection 2018-11-21 17:51:15 +00:00
httpsimpleparser.cpp moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
httpsimpleparser.h start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
image.cpp removed from Item: update() and save() methods which take the 'url_was_changed' argument 2021-03-08 21:06:50 +01:00
image.h Item class has been moved to a new directory 'models', a new class has been added: ItemContent 2021-02-24 01:19:47 +01:00
ipban.h moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
ipbancontainer.cpp moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
ipbancontainer.h start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
job.cpp fixed: permissions to symlinks and directories with redirect flag were incorrectly checked 2019-03-19 18:08:09 +00:00
job.h moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
lastcontainer.cpp moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
lastcontainer.h start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
loadavg.cpp updated to the new pikotools api - we have a logger for morm and ezc 2018-11-23 17:53:43 +00:00
loadavg.h some work in the new api: 2018-11-21 22:53:24 +00:00
lock.cpp moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
lock.h moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
log.cpp fixed: FileLog::get_local_date we need to synchronize when using time_zones pointer 2019-09-25 16:25:20 +00:00
log.h fixed: FileLog::get_local_date we need to synchronize when using time_zones pointer 2019-09-25 16:25:20 +00:00
logmanipulators.h updated to the new pikotools api - we have a logger for morm and ezc 2018-11-23 17:53:43 +00:00
misc.cpp changed the way how prefixes are added to urls 2021-02-25 00:12:45 +01:00
misc.h changed the way how prefixes are added to urls 2021-02-25 00:12:45 +01:00
mount.cpp moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
mount.h moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
mountparser.cpp start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
mountparser.h Item class has been moved to a new directory 'models', a new class has been added: ItemContent 2021-02-24 01:19:47 +01:00
mounts.cpp Item class has been moved to a new directory 'models', a new class has been added: ItemContent 2021-02-24 01:19:47 +01:00
mounts.h Item class has been moved to a new directory 'models', a new class has been added: ItemContent 2021-02-24 01:19:47 +01:00
plugin.cpp updated to the new Pikotools api (new Space struct) 2021-04-09 17:50:58 +02:00
plugin.h Item class has been moved to a new directory 'models', a new class has been added: ItemContent 2021-02-24 01:19:47 +01:00
plugindata.cpp start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
plugindata.h start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
pluginmsg.h moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
postmultiparser.cpp using PT::IsSubString* methods from pikotools 2018-11-01 00:46:44 +00:00
postmultiparser.h start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
postparser.h start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
rebus.cpp moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
rebus.h start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
request.cpp updated to the new Pikotools api (new Space struct) 2021-04-09 17:50:58 +02:00
request.h updated to the new Pikotools api (new Space struct) 2021-04-09 17:50:58 +02:00
requesttypes.h moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
run.cpp start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
run.h start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
session.cpp start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
session.h Item class has been moved to a new directory 'models', a new class has been added: ItemContent 2021-02-24 01:19:47 +01:00
sessioncontainer.cpp start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
sessioncontainer.h start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
sessionidmanager.cpp updated to the new Pikotools api (new Space struct) 2021-04-09 17:50:58 +02:00
sessionidmanager.h start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
sessionmanager.cpp fixed: permissions to symlinks and directories with redirect flag were incorrectly checked 2019-03-19 18:08:09 +00:00
sessionmanager.h fixed: permissions to symlinks and directories with redirect flag were incorrectly checked 2019-03-19 18:08:09 +00:00
sessionparser.cpp moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
sessionparser.h start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
slog.cpp moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
slog.h start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
synchro.cpp moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
synchro.h moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
system.cpp updated to the new Pikotools api (new Space struct) 2021-04-09 17:50:58 +02:00
system.h updated to the new Pikotools api (new Space struct) 2021-04-09 17:50:58 +02:00
textstream.h updated to the new Pikotools api (new Space struct) 2021-04-09 17:50:58 +02:00
threadmanager.cpp updated to the new Pikotools api (new Space struct) 2021-04-09 17:50:58 +02:00
threadmanager.h updated to the new pikotools api - we have a logger for morm and ezc 2018-11-23 17:53:43 +00:00
timezone.cpp updated to the new Pikotools api (new Space struct) 2021-04-09 17:50:58 +02:00
timezone.h moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
timezones.cpp updated to the new Pikotools api (new Space struct) 2021-04-09 17:50:58 +02:00
timezones.h start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
ugcontainer.h start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
user.cpp updated to the new Pikotools api (new Space struct) 2021-04-09 17:50:58 +02:00
user.h moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
users.cpp start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
users.h start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
version.h changed version to 0.7.2 2021-02-18 21:07:05 +01:00
winix_const.h moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
winixbase.cpp fixed: clang address sanitizer reports that there is an use after free bug at the end when winix shuts down: 2021-02-17 15:58:05 +01:00
winixbase.h fixed: clang address sanitizer reports that there is an use after free bug at the end when winix shuts down: 2021-02-17 15:58:05 +01:00
winixmodel.cpp Item class has been moved to a new directory 'models', a new class has been added: ItemContent 2021-02-24 01:19:47 +01:00
winixmodel.h Item class has been moved to a new directory 'models', a new class has been added: ItemContent 2021-02-24 01:19:47 +01:00
winixrequest.cpp fixed: messages about password validity in adduser function were not shown, 2021-01-25 18:41:28 +01:00
winixrequest.h start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
winixsystem.cpp some work on dependency injection 2018-11-21 17:51:15 +00:00
winixsystem.h start working on 0.7.x branch 2018-11-21 11:03:53 +00:00