[PATCH] Change in core[libreoffice-3-6]: Do not call xmlCleanupParser from liblangtag

Stephan Bergmann (via Code Review) gerrit at gerrit.libreoffice.org
Thu Sep 20 08:51:55 PDT 2012


Hi,

I have submitted a patch for review:

    https://gerrit.libreoffice.org/662

To pull it, you can do:

    git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/62/662/1

Do not call xmlCleanupParser from liblangtag

Despite its name, it is a cleanup function for libxml2 that must only be called
when the process as a whole no longer needs libxml2.  Calling it from a library
like liblangtag is not appropriate (just like liblangtag does not call
xmlInitParser, either).

In LibreOffice, this caused confusion about pthread keys for thread-local
storage (xmlCleanupParser calls pthread_key_delete, but apparently if libxml2 is
later used by unrelated code in LibreOffice again, it still uses the stale key,
and if that key is now reused via an unrelated pthread_key_create, arbitrary
crashes happen during thread termination in pthread's __nptl_deallocate_tsd).

(cherry picked from commit 5e6c595e9d698caf23ae68d38b9cab30ff9c9b94)

Conflicts:
	liblangtag/makefile.mk

Change-Id: I82cef8bc400d48f19eaa94f26d50d4b8589da106
---
A liblangtag/liblangtag-0.2-xmlCleanupParser.patch
M liblangtag/makefile.mk
2 files changed, 21 insertions(+), 0 deletions(-)


--
To view, visit https://gerrit.libreoffice.org/662
To unsubscribe, visit https://gerrit.libreoffice.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I82cef8bc400d48f19eaa94f26d50d4b8589da106
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: libreoffice-3-6
Gerrit-Owner: Stephan Bergmann <sbergman at redhat.com>



More information about the LibreOffice mailing list