I've tried (in vain so far) to understand what's going on and how this
is related to the locale-langpack/ search path patch.
Tested/reproduced with
LC_ALL=fo_FOO gdb --args getopt -o c:d:ko:r:v -n /usr/sbin/mkinitramfs
-- --help
Some observations:
* This crash doesn't happen with looking up LC_MESSAGES, only in this
getopt case with LC_IDENTIFICATION. The mere presence of
/usr/lib/locale/fo_FOO/LC_IDENTIFICATION in the search path causes this
crash. If *only* /usr/lib/locale/fo/LC_IDENTIFICATION gets added (and
not also the more specific fo_FOO one) then things still work.
* In all cases the returned list from _nl_make_l10nflist() was correct
in memory, so I suppose this triggers some bug (insufficiently large
buffer or so) somewhere else. Nevertheless we need to be bug compatible
with that.
During that I also noticed some bugs in the patch:
malloc (sizeof (*retval) + (__argz_count (dirlist, dirlist_len)
- * (1 << pop (mask))
+ * 2 * (1 << pop (mask))
We shouldn't allocate 2* the number here, just argz_count() + 1, as we
are only adding one more search path.
Also we should correctly interleave lookups in /usr/share/locale-
langpack/ with /usr/share/locale wrt. the mask -- i. e. we should
*first* check if there is a more specific locale (with territory,
encoding, etc.) in /usr/share/locale-langpack/ and then check more
generic locales in both places.
But if I just fix these two bugs, then getopt still crashes on getting
too many LC_IDENTIFICATION search paths. So one proposal would be to
only do the locale-langpack/ lookup for LC_MESSAGES, not for any other
category; our langpacks only ship LC_MESSAGES anyway, so we make the
scope of this small enough to avoid triggering the crash.
** Patch added: "fixed debian/patches/ubuntu/local-altlocaledir.diff"
https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1577460/+attachment/4755012/+files/local-altlocaledir.diff
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1577460
Title:
mkinitramfs --help > Core dumped
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/1577460/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs