pyuno/source/module/pyuno_gc.cxx | 5 ++++- sw/source/filter/ww8/ww8par.cxx | 6 ++---- 2 files changed, 6 insertions(+), 5 deletions(-)
New commits: commit ca6d45fff41bb4765bfc6b3c72e8fad224273ff1 Author: Michael Stahl <mst...@redhat.com> Date: Sat Feb 18 00:06:41 2012 +0100 pyuno: decreaseRefCount: valgrind warning: Apparently the thread spawned in decreaseRefCount runs and deletes itself before the "m_hThread != 0" from osl::Thread::create is executed; try a lame workaround for that. ==1877== Invalid read of size 8 ==1877== at 0x2A70E546: osl::Thread::create() (in pyuno/unxlngx6/lib/libpyuno.so) ==1877== by 0x2A70E351: pyuno::decreaseRefCount(_is*, _object*) (in pyuno/unxlngx6/lib/libpyuno.so) ==1877== by 0x2A7092B4: pyuno::Adapter::~Adapter() (in pyuno/unxlngx6/lib/libpyuno.so) ==1877== by 0x2A709393: pyuno::Adapter::~Adapter() (in pyuno/unxlngx6/lib/libpyuno.so) ==1877== by 0x5EF2F64: cppu::OWeakObject::release() (weak.cxx:213) ==1877== by 0x2A70DE69: ==1877== Address 0x1ee30818 is 8 bytes inside a block of size 32 free'd ==1877== at 0x4A0662E: free (vg_replace_malloc.c:366) ==1877== by 0x4C44B62: rtl_freeMemory_SYSTEM(void*) (alloc_global.cxx:285) ==1877== by 0x4C44DC7: rtl_freeMemory (alloc_global.cxx:355) ==1877== by 0x2A70E41E: osl::Thread::operator delete(void*) (in pyuno/unxlngx6/lib/libpyuno.so) ==1877== by 0x2A70E6EF: pyuno::GCThread::~GCThread() (in pyuno/unxlngx6/lib/libpyuno.so) ==1877== by 0x2A70E303: pyuno::GCThread::onTerminated() (in pyuno/unxlngx6/lib/libpyuno.so) ==1877== by 0x2A70E671: threadFunc (in pyuno/unxlngx6/lib/libpyuno.so) ==1877== by 0x4C2E242: osl_thread_start_Impl (thread.c:292) ==1877== by 0x3C26607D8F: start_thread (pthread_create.c:309) ==1877== by 0x3C262EF48C: clone (clone.S:115) Signed-off-by: a very sceptical Michael Meeks <michael.me...@suse.com> diff --git a/pyuno/source/module/pyuno_gc.cxx b/pyuno/source/module/pyuno_gc.cxx index 77eb688..13e6013 100644 --- a/pyuno/source/module/pyuno_gc.cxx +++ b/pyuno/source/module/pyuno_gc.cxx @@ -112,7 +112,10 @@ void decreaseRefCount( PyInterpreterState *interpreter, PyObject *object ) // interpreter lock is held or not // TODO: Look for a more efficient solution osl::Thread *t = new GCThread( interpreter, object ); - t->create(); + // don't call create() because Valgrind complains about invalid read in + // the rather bizarre GCThread::onTerminated; try a lame workaround: + t->createSuspended(); + t->resume(); } } commit 7bec16ea0e67d81a1fdf2022cb0985acc51dc691 Author: Michael Stahl <mst...@redhat.com> Date: Wed Feb 8 23:30:21 2012 +0100 sw: ww8: ~SwIndexReg assertion: Remove pointless SwPosition that triggers the assertion when loading bugdoc from fdo#39006 from wwExtraneousParas::delete_all_from_doc. Signed-off-by: Michael Meeks <michael.me...@suse.com> diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx index 35def17..1070fdc 100644 --- a/sw/source/filter/ww8/ww8par.cxx +++ b/sw/source/filter/ww8/ww8par.cxx @@ -4135,8 +4135,7 @@ void wwExtraneousParas::delete_all_from_doc() { SwTxtNode *pTxtNode = *aI; SwNodeIndex aIdx(*pTxtNode); - SwPosition aPos(aIdx); - SwPaM aTest(aPos); + SwPaM aTest(aIdx); m_rDoc.DelFullPara(aTest); } m_aTxtNodes.clear(); commit dcfd811a57e8ffa5bf1a3f17448d6777ba6ce15b Author: Michael Stahl <mst...@redhat.com> Date: Tue Feb 14 17:47:28 2012 +0100 sw: ww8: ~SwIndexReg assertion: Remove pointless SwPosition that triggers the assertion when loading bugdoc from i#87910 from wwSectionManager::InsertSegments. Signed-off-by: Michael Meeks <michael.me...@suse.com> diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx index 9923768..35def17 100644 --- a/sw/source/filter/ww8/ww8par.cxx +++ b/sw/source/filter/ww8/ww8par.cxx @@ -4120,8 +4120,7 @@ void wwSectionManager::InsertSegments() if (pTxtNd) { SwNodeIndex aIdx(*pTxtNd); - SwPosition aPos(aIdx); - SwPaM aTest(aPos); + SwPaM aTest(aIdx); mrReader.rDoc.DelFullPara(aTest); pTxtNd = 0; } _______________________________________________ Libreoffice-commits mailing list Libreoffice-commits@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits