[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#547567: segfault due to corrupted locale archive



Package: libc6
Version: 2.9-26
Severity: important

Hi,

due to a bug in ext4 my archive for locales
(/usr/lib/locale/locale-archive) became corrupted. This caused a segfault
in all programs they tried to do something with locales.

That's the top of the backtrace of a crashed program

(gdb) bt full
#0  _nl_load_locale_from_archive (category=12, namep=0xbfce48e4) at loadarchive.c:284
        name = 0x103935f0 "de_DE.utf8"
        results = {{addr = 0x766172, len = 266750912}, {addr = 0xfe6502c, len = 16}, {addr = 0xfe63ff4, len = 272204824}, {addr = 0xbfce4680, len = 265764684}, {addr = 0x766172, len = 266750912}, {addr = 0xbfce46e0, len = 272204828}, {addr = 0x0, len = 272204824}, {addr = 0xbfce46c0, len = 266171372}, {addr = 0x0, len = 3217970804}, {addr = 0x48228424, len = 2290361474}, {addr = 0x100ad170, len = 269145512}, {addr = 0xbfce46c0, len = 1208105032}, {addr = 0x0, len = 3217970808}}
        lia = <value optimized out>
        namehashtab = 0x48043000
        locrec = <value optimized out>
        mapped = <value optimized out>
        last = <value optimized out>
        hval = 1671550027
        idx = 1671550027
        incr = 1671550028
        ranges = {{from = 0, len = 269156352, category = 269156352, result = 0xfe6502c}, {from = 266747892, len = 272204712, category = -1077000368, result = 0xfd70bcc}, {from = 272204600, len = 6, category = 269156352, result = 0xbfce4810}, {from = 272204696, len = 272204728, category = -1077000352, result = 0x1004fa98}, {from = 0, len = 272204728, category = -1077000336, result = 0x1005a9c4}, {from = 0, len = 272204728, category = -1077000224, result = 0x1005aa74}, {from = 269031064, len = 3217967120, category = -1077000288, result = 0x103983b8}, {from = 272204600, len = 272204728, category = -1077000288, result = 0x1004fa98}, {from = 0, len = 3217967120, category = -1077000272, result = 0x1005bd64}, {from = 4096, len = 3217967120, category = -1077000224, result = 0x1005d4b0}, {from = 0, len = 673350724, category = 269202992, result = 0x0}, {from = 0, len = 269156352, category = 269156352, result = 0xbfce4810}}
        nranges = <value optimized out>
        cnt = <value optimized out>
        fd = 3
        __PRETTY_FUNCTION__ = "_nl_load_locale_from_archive"
#1  0x0fd19d98 in _nl_find_locale (locale_path=0x0, locale_path_len=0, category=12, name=0xbfce48e4) at findlocale.c:107
        data = <value optimized out>
        mask = <value optimized out>
        loc_name = <value optimized out>
        language = <value optimized out>
        modifier = <value optimized out>
        territory = <value optimized out>
        codeset = <value optimized out>
        normalized_codeset = <value optimized out>
        locale_file = <value optimized out>
        __PRETTY_FUNCTION__ = "_nl_find_locale"
        codeset_idx = {14, 5, 110, 18, 45, 4, 0, 2, 6, 12, 4, 1, 15}
#2  0x0fd196e0 in *__GI_setlocale (category=12, locale=<value optimized out>) at setlocale.c:303
        newnames = {0x103935f0 "de_DE.utf8", 0x103935f0 "de_DE.utf8", 0x103935f0 "de_DE.utf8", 0x103935f0 "de_DE.utf8", 0x103935f0 "de_DE.utf8", 0x103935f0 "de_DE.utf8", 0xbfce493c "\20\t%\220", 0x103935f0 "de_DE.utf8", 0x103935f0 "de_DE.utf8", 0x103935f0 "de_DE.utf8", 0x103935f0 "de_DE.utf8", 0x103935f0 "de_DE.utf8", 0x103935f0 "de_DE.utf8"}
        newdata = {0x100bfc20, 0xbfce4908, 0xbfce4939, 0xbfce4940, 0xbfce4940, 0x1, 0x1, 0x1, 0x100b5e20, 0xfe37228, 0x8c0, 0x0, 0xbfce493c}
        locale_path = 0x0
        locale_path_len = 0
        locpath_var = <value optimized out>
        composite = <value optimized out>
#3  0x10062d9c in lc_allsetfn ()

Unfortunately, I've didn't saved the locale archive before rebuilding it.
I hope you get enough informations from the backtrace to find the bug.

If the archive becomes corrupted, the whole system is unusable, I can't
login nor do many services not start.

Bye, Jörg

-- System Information:
Debian Release: unstable/experimental
  APT prefers unstable
  APT policy: (900, 'unstable'), (700, 'experimental')
Architecture: powerpc (ppc)

Kernel: Linux 2.6.29
Locale: LANG=C, LC_CTYPE=C (charmap=UTF-8) (ignored: LC_ALL set to de_DE.UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libc6 depends on:
ii  libc-bin                      2.9-26     GNU C Library: Binaries
ii  libgcc1                       1:4.4.1-4  GCC support library

libc6 recommends no packages.

Versions of packages libc6 suggests:
ii  debconf [debconf-2.0]         1.5.27     Debian configuration management sy
ii  glibc-doc                     2.9-26     GNU C Library: Documentation
ii  locales                       2.9-26     GNU C Library: National Language (

-- debconf information excluded

Attachment: signature.asc
Description: Digital signature http://en.wikipedia.org/wiki/OpenPGP


Reply to: