[Libreoffice-commits] core.git: Branch 'libreoffice-6-1' - sc/source
Luboš Luňák
l.lunak at collabora.com
Wed Jun 6 16:01:17 UTC 2018
sc/source/core/tool/token.cxx | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
New commits:
commit 09849abf10d70b2e4680c9b0d2ad8e977752d87b
Author: Luboš Luňák <l.lunak at collabora.com>
Date: Wed Jun 6 14:21:55 2018 +0200
blacklist ocExternal for calc's threaded calculations
Opcode ocExternal is used for functions implemented as UNO calls,
which has a number of problems:
- ooo#118213-2 contains GETEOMONTH(), which maps to ocExternal, which
calls AnalysisAddIn::getEomonth() in scaddins, which ends up calling
ScModelObj::getPropertyValue(), which deadlocks on SolarMutex
- it uses ScUnoAddInCollection class, which uses delayed initialization
(even though it's created on-demand), which is not thread-safe; however,
it seems that the initialization is generally done already while loading
a file, so this is possibly in practice safe
- who knows what all kinds of race conditions there are in all the functions
this may call via UNO
Change-Id: I80c4264102b8bc492853852c2c12e5cd2a8ea99e
Reviewed-on: https://gerrit.libreoffice.org/55382
Reviewed-by: Michael Meeks <michael.meeks at collabora.com>
Tested-by: Jenkins <ci at libreoffice.org>
(cherry picked from commit abb19edc79bd7d96827214d3b49f80e270e1c0b7)
Reviewed-on: https://gerrit.libreoffice.org/55390
Reviewed-by: Luboš Luňák <l.lunak at collabora.com>
Tested-by: Luboš Luňák <l.lunak at collabora.com>
diff --git a/sc/source/core/tool/token.cxx b/sc/source/core/tool/token.cxx
index fa7bcdaf6e31..7eb36aac5ced 100644
--- a/sc/source/core/tool/token.cxx
+++ b/sc/source/core/tool/token.cxx
@@ -1320,7 +1320,8 @@ void ScTokenArray::CheckForThreading( OpCode eOp )
ocCell,
ocInfo,
ocStyle,
- ocDBSum
+ ocDBSum,
+ ocExternal
});
// We only call this if it was already disabled
More information about the Libreoffice-commits
mailing list