office-gobmx/external
Stephan Bergmann 4a804f87eb external/python3: Avoid "ThreadSanitizer: destroy of a locked mutex"
..when building ExternalProject_python3 with Clang -fsanitize=thread,

> WARNING: ThreadSanitizer: destroy of a locked mutex (pid=973799)
>  #0 in AnnotateRWLockDestroy at /home/sbergman/github.com/llvm/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp:184:3 (workdir/UnpackedTarball/python3/python +0x498460)
>  #1 in recreate_gil at workdir/UnpackedTarball/python3/Python/ceval_gil.h:138:5 (workdir/UnpackedTarball/python3/libpython3.8d.so.1.0 +0xe84aa9)
>  #2 in _PyEval_ReInitThreads at workdir/UnpackedTarball/python3/Python/ceval.c:350:5 (workdir/UnpackedTarball/python3/libpython3.8d.so.1.0 +0xe847c7)
>  #3 in PyOS_AfterFork_Child at workdir/UnpackedTarball/python3/./Modules/posixmodule.c:469:5 (workdir/UnpackedTarball/python3/libpython3.8d.so.1.0 +0x1163dbd)
>  #4 in os_fork_impl at workdir/UnpackedTarball/python3/./Modules/posixmodule.c:6253:9 (workdir/UnpackedTarball/python3/libpython3.8d.so.1.0 +0x11adcad)
>  #5 in os_fork at workdir/UnpackedTarball/python3/./Modules/clinic/posixmodule.c.h:2750:12 (workdir/UnpackedTarball/python3/libpython3.8d.so.1.0 +0x117b481)
>  #6 in cfunction_vectorcall_NOARGS at workdir/UnpackedTarball/python3/Objects/methodobject.c:463:24 (workdir/UnpackedTarball/python3/libpython3.8d.so.1.0 +0x9db7e1)
>  #7 in _PyObject_Vectorcall at workdir/UnpackedTarball/python3/./Include/cpython/abstract.h:127:11 (workdir/UnpackedTarball/python3/libpython3.8d.so.1.0 +0xf0225e)
>  #8 in call_function at workdir/UnpackedTarball/python3/Python/ceval.c:4963:13 (workdir/UnpackedTarball/python3/libpython3.8d.so.1.0 +0xef3f4a)
>  #9 in _PyEval_EvalFrameDefault at workdir/UnpackedTarball/python3/Python/ceval.c:3469:23 (workdir/UnpackedTarball/python3/libpython3.8d.so.1.0 +0xedc5d8)
[...]
>  #143 in pymain_run_python at workdir/UnpackedTarball/python3/Modules/main.c:610:21 (workdir/UnpackedTarball/python3/libpython3.8d.so.1.0 +0x1149f6c)
>  #144 in Py_RunMain at workdir/UnpackedTarball/python3/Modules/main.c:689:5 (workdir/UnpackedTarball/python3/libpython3.8d.so.1.0 +0x11495e9)
>  #145 in pymain_main at workdir/UnpackedTarball/python3/Modules/main.c:719:12 (workdir/UnpackedTarball/python3/libpython3.8d.so.1.0 +0x114a299)
>  #146 in Py_BytesMain at workdir/UnpackedTarball/python3/Modules/main.c:743:12 (workdir/UnpackedTarball/python3/libpython3.8d.so.1.0 +0x114a30d)
>  #147 in main at workdir/UnpackedTarball/python3/./Programs/python.c:16:12 (workdir/UnpackedTarball/python3/python +0x4d00f8)

Assuming that the GIL is always locked before the fork, better tell TSan about a
fake RELEASED before telling it about a fake DESTROY, to keep TSan's model
consistent.

Change-Id: I6c68d7e415aa0ffc3047e5a5c4c4aca6b0cce8cb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130985
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-03-04 17:15:54 +01:00
..
beanshell
bluez_bluetooth
boost Upgrade external/boost to latest Boost 1.78.0 2022-02-25 13:28:27 +01:00
box2d
breakpad
bzip2
cairo externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
clew
clucene
coinmp externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
cppunit externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
ct2n
cuckoo
curl externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
dragonbox Use Dragonbox to implement doubleTo*String* 2022-02-17 21:46:58 +01:00
dtoa
epm
epoxy
expat externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
firebird Drop support for $host_os = 'macos*', in addition to 'darwin*' 2022-02-25 13:45:38 +01:00
fontconfig externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
freetype externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
glm
gpgmepp externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
graphite
harfbuzz externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
hsqldb
hunspell externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
hyphen externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
icu externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
jfreereport
languagetool
lcms2 externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
libabw externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
libassuan externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
libatomic_ops externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
libcdr externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
libcmis
libebook externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
libeot
libepubgen externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
libetonyek externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
libexttextcat externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
libffi externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
libfreehand externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
libgpg-error externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
libjpeg-turbo
liblangtag externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
libmspub externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
libmwaw externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
libnumbertext externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
libodfgen externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
liborcus WASM fix orcus native exception handling (NEH) 2022-02-20 20:43:57 +01:00
libpagemaker externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
libpng
libqxp externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
librevenge externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
libstaroffice externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
libtommath
libvisio externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
libwebp cross-toolset: fix galleries build with webp 2022-02-10 21:47:25 +01:00
libwpd externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
libwpg externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
libwps externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
libxml2 externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
libxslt libxslt: upgrade to release 1.1.35 2022-02-17 13:46:28 +01:00
libzmf externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
lpsolve
lxml
mariadb-connector-c
mdds
mdnsresponder
misc_extensions
more_fonts
msc-externals
mythes externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
nss Drop support for $host_os = 'macos*', in addition to 'darwin*' 2022-02-25 13:45:38 +01:00
openldap externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
openssl
pdfium
poppler
postgresql externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
python3 external/python3: Avoid "ThreadSanitizer: destroy of a locked mutex" 2022-03-04 17:15:54 +01:00
redland externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
rhino
sane
skia external/skia: Missing include (for std::max) 2022-02-21 14:18:36 +01:00
twain_dsm
ucpp
unixODBC
xmlsec externals: always provide platform configure flags 2022-01-31 10:31:04 +01:00
xsltml
zlib
zxing
Makefile
Module_external.mk add system-dragonbox 2022-02-22 15:53:59 +01:00
README.md

External Projects

External projects bundled with LibreOffice.