Package: libxml2
Version: 2.8.0+dfsg1-7+nmu2
Severity: important
Tags: wheezy patch

Hi,

I have found the probable cause of a number hard-to-reproduce,
hard-to-debug gnome-shell failures on wheezy, especially when a11y is
enabled.
The problem is identical to LP#962604 but the crash can happen in a wide
number of libxml2 functions.

It is caused by a race condition in libxml2 which can occur only when
some functions are used several times from different threads.

The bug is fixed upstream:
https://git.gnome.org/browse/libxml2/commit/?id=7a2215dbcd4882e45f618c5f78f8d975b7c47ed3
I’m attaching the patch.

Since it’s mostly about GNOME, I can ask the release team and do the
upload myself if you want.

Thanks for considering.
-- 
.''`.      Josselin Mouette
: :' :
`. `'
  `-
Index: libxml2-2.8.0+dfsg1/threads.c
===================================================================
--- libxml2-2.8.0+dfsg1.orig/threads.c	2010-12-20 13:56:24.000000000 +0100
+++ libxml2-2.8.0+dfsg1/threads.c	2014-03-21 12:03:44.898355001 +0100
@@ -915,6 +915,7 @@
 #ifdef HAVE_PTHREAD_H
     if ((libxml_is_threaded)  && (pthread_key_delete != NULL))
         pthread_key_delete(globalkey);
+    once_control = PTHREAD_ONCE_INIT;
 #elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
     if (globalkey != TLS_OUT_OF_INDEXES) {
         xmlGlobalStateCleanupHelperParams *p;

Reply via email to