diff options
Diffstat (limited to 'app-office/libreoffice/files')
-rw-r--r-- | app-office/libreoffice/files/libreoffice-5.4.5.1-pyuno-crash.patch | 87 | ||||
-rw-r--r-- | app-office/libreoffice/files/libreoffice-6.0.3.2-disable-flaky-tests-1.patch (renamed from app-office/libreoffice/files/libreoffice-6.0.3.2-disable-flaky-tests.patch) | 37 | ||||
-rw-r--r-- | app-office/libreoffice/files/libreoffice-6.0.3.2-disable-flaky-tests-2.patch | 37 |
3 files changed, 37 insertions, 124 deletions
diff --git a/app-office/libreoffice/files/libreoffice-5.4.5.1-pyuno-crash.patch b/app-office/libreoffice/files/libreoffice-5.4.5.1-pyuno-crash.patch deleted file mode 100644 index 850f56465c77..000000000000 --- a/app-office/libreoffice/files/libreoffice-5.4.5.1-pyuno-crash.patch +++ /dev/null @@ -1,87 +0,0 @@ -From 42e2c4af310deb7660b07c6307459c9d2a42bb8b Mon Sep 17 00:00:00 2001 -From: Michael Stahl <mstahl@redhat.com> -Date: Thu, 1 Feb 2018 13:52:00 +0100 -Subject: tdf#114815 pyuno: avoid 2 threads initing python in parallel - -According to the crash reports, it's possible for the grammar checking -thread to call GetGrammarChecker, instantiating lightproof, at the same -time as the main thread instantiates LngSvcMgr, which also instantiates -(some?) (all?) grammar checkers. - -Ensure that pyuno_loader::CreateInstance() initialises Python only -once with a C++11 thread safe static. - -For the backport, use rtl::Static instead, because on the 5.4 branch -MSVC does not have HAVE_THREADSAFE_STATICS enabled. - -Change-Id: I5b1faba9107355c508831a078366e4a29fdbfadf -(cherry picked from commit 5357ca82846ea7147ad61e9340f25647a5934eb0) -Reviewed-on: https://gerrit.libreoffice.org/49116 -Tested-by: Jenkins <ci@libreoffice.org> -Reviewed-by: Stephan Bergmann <sbergman@redhat.com> -(cherry picked from commit 362b0c521c1c58dc8ea5e87ecbb482d5bdc073f4) -Reviewed-on: https://gerrit.libreoffice.org/49298 -Reviewed-by: Michael Meeks <michael.meeks@collabora.com> -Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com> -Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> ---- - pyuno/source/loader/pyuno_loader.cxx | 25 +++++++++++++++++++++---- - 1 file changed, 21 insertions(+), 4 deletions(-) - -diff --git a/pyuno/source/loader/pyuno_loader.cxx b/pyuno/source/loader/pyuno_loader.cxx -index adbf6c8..0408af0 100644 ---- a/pyuno/source/loader/pyuno_loader.cxx -+++ b/pyuno/source/loader/pyuno_loader.cxx -@@ -31,6 +31,7 @@ - #include <rtl/ustrbuf.hxx> - #include <rtl/strbuf.hxx> - #include <rtl/bootstrap.hxx> -+#include <rtl/instance.hxx> - - #include <cppuhelper/implementationentry.hxx> - #include <cppuhelper/factory.hxx> -@@ -176,11 +177,10 @@ static void prependPythonPath( const OUString & pythonPathBootstrap ) - osl_setEnvironment(envVar.pData, envValue.pData); - } - --Reference< XInterface > CreateInstance( const Reference< XComponentContext > & ctx ) -+struct PythonInit - { -- Reference< XInterface > ret; -- -- if( ! Py_IsInitialized() ) -+PythonInit() { -+ if (! Py_IsInitialized()) // may be inited by getComponentContext() already - { - OUString pythonPath; - OUString pythonHome; -@@ -236,9 +236,26 @@ Reference< XInterface > CreateInstance( const Reference< XComponentContext > & c - // PyThreadAttach below. - PyThreadState_Delete(tstate); - } -+} -+}; -+ -+namespace { -+ struct thePythonInit : public rtl::Static<PythonInit, thePythonInit> {}; -+} -+ -+Reference<XInterface> CreateInstance(const Reference<XComponentContext> & ctx) -+{ -+ // tdf#114815 thread-safe static to init python only once -+ thePythonInit::get(); -+ -+ Reference< XInterface > ret; - - PyThreadAttach attach( PyInterpreterState_Head() ); - { -+ // note: this can't race against getComponentContext() because -+ // either (in soffice.bin) CreateInstance() must be called before -+ // getComponentContext() can be called, or (in python.bin) the other -+ // way around - if( ! Runtime::isInitialized() ) - { - Runtime::initialize( ctx ); --- -cgit v1.1 - diff --git a/app-office/libreoffice/files/libreoffice-6.0.3.2-disable-flaky-tests.patch b/app-office/libreoffice/files/libreoffice-6.0.3.2-disable-flaky-tests-1.patch index b25e4fc3ae5a..03421c5e12be 100644 --- a/app-office/libreoffice/files/libreoffice-6.0.3.2-disable-flaky-tests.patch +++ b/app-office/libreoffice/files/libreoffice-6.0.3.2-disable-flaky-tests-1.patch @@ -214,40 +214,3 @@ index 4d65beeb90c4..f3d71501c41a 100644 DECLARE_OOXMLIMPORT_TEST(testTdf113946, "tdf113946.docx") { ---- a/xmlsecurity/qa/unit/signing/signing.cxx 2018-01-27 18:21:08.228434985 +0100 -+++ b/xmlsecurity/qa/unit/signing/signing.cxx 2018-01-27 18:21:37.428824309 +0100 -@@ -114,7 +114,7 @@ - /// Test a typical broken ODF signature where the XML dsig hash is corrupted. - void testODFBrokenDsigGPG(); - /// Test loading an encrypted ODF document -- void testODFEncryptedGPG(); -+// void testODFEncryptedGPG(); - #endif - CPPUNIT_TEST_SUITE(SigningTest); - CPPUNIT_TEST(testDescription); -@@ -143,7 +143,7 @@ - CPPUNIT_TEST(testODFUntrustedGoodGPG); - CPPUNIT_TEST(testODFBrokenStreamGPG); - CPPUNIT_TEST(testODFBrokenDsigGPG); -- CPPUNIT_TEST(testODFEncryptedGPG); -+// CPPUNIT_TEST(testODFEncryptedGPG); - #endif - CPPUNIT_TEST_SUITE_END(); - -@@ -743,14 +743,14 @@ - CPPUNIT_ASSERT_EQUAL(static_cast<int>(SignatureState::BROKEN), static_cast<int>(pObjectShell->GetDocumentSignatureState())); - } - --void SigningTest::testODFEncryptedGPG() -+/*void SigningTest::testODFEncryptedGPG() - { - createDoc(m_directories.getURLFromSrc(DATA_DIRECTORY) + "encryptedGPG.odt"); - SfxBaseModel* pBaseModel = dynamic_cast<SfxBaseModel*>(mxComponent.get()); - CPPUNIT_ASSERT(pBaseModel); - SfxObjectShell* pObjectShell = pBaseModel->GetObjectShell(); - CPPUNIT_ASSERT(pObjectShell); --} -+}*/ - - #endif - diff --git a/app-office/libreoffice/files/libreoffice-6.0.3.2-disable-flaky-tests-2.patch b/app-office/libreoffice/files/libreoffice-6.0.3.2-disable-flaky-tests-2.patch new file mode 100644 index 000000000000..55f2d8a55fc7 --- /dev/null +++ b/app-office/libreoffice/files/libreoffice-6.0.3.2-disable-flaky-tests-2.patch @@ -0,0 +1,37 @@ +--- a/xmlsecurity/qa/unit/signing/signing.cxx 2018-01-27 18:21:08.228434985 +0100 ++++ b/xmlsecurity/qa/unit/signing/signing.cxx 2018-01-27 18:21:37.428824309 +0100 +@@ -114,7 +114,7 @@ + /// Test a typical broken ODF signature where the XML dsig hash is corrupted. + void testODFBrokenDsigGPG(); + /// Test loading an encrypted ODF document +- void testODFEncryptedGPG(); ++// void testODFEncryptedGPG(); + #endif + CPPUNIT_TEST_SUITE(SigningTest); + CPPUNIT_TEST(testDescription); +@@ -143,7 +143,7 @@ + CPPUNIT_TEST(testODFUntrustedGoodGPG); + CPPUNIT_TEST(testODFBrokenStreamGPG); + CPPUNIT_TEST(testODFBrokenDsigGPG); +- CPPUNIT_TEST(testODFEncryptedGPG); ++// CPPUNIT_TEST(testODFEncryptedGPG); + #endif + CPPUNIT_TEST_SUITE_END(); + +@@ -743,14 +743,14 @@ + CPPUNIT_ASSERT_EQUAL(static_cast<int>(SignatureState::BROKEN), static_cast<int>(pObjectShell->GetDocumentSignatureState())); + } + +-void SigningTest::testODFEncryptedGPG() ++/*void SigningTest::testODFEncryptedGPG() + { + createDoc(m_directories.getURLFromSrc(DATA_DIRECTORY) + "encryptedGPG.odt"); + SfxBaseModel* pBaseModel = dynamic_cast<SfxBaseModel*>(mxComponent.get()); + CPPUNIT_ASSERT(pBaseModel); + SfxObjectShell* pObjectShell = pBaseModel->GetObjectShell(); + CPPUNIT_ASSERT(pObjectShell); +-} ++}*/ + + #endif + |