This patch avoids an assertion failure when incompatible locale data is encountered: https://sourceware.org/ml/libc-alpha/2015-09/msg00575.html --- glibc-2.22/locale/loadlocale.c 2015-09-22 17:16:02.321981548 +0200 +++ glibc-2.22/locale/loadlocale.c 2015-09-22 17:17:34.814659064 +0200 @@ -120,10 +120,11 @@ _nl_value_type_LC_XYZ array. There are all pointers. */ switch (category) { -#define CATTEST(cat) \ - case LC_##cat: \ - assert (cnt < (sizeof (_nl_value_type_LC_##cat) \ - / sizeof (_nl_value_type_LC_##cat[0]))); \ +#define CATTEST(cat) \ + case LC_##cat: \ + if (cnt >= (sizeof (_nl_value_type_LC_##cat) \ + / sizeof (_nl_value_type_LC_##cat[0]))) \ + goto puntdata; \ break CATTEST (NUMERIC); CATTEST (TIME);