Dne 02. 09. 21 v 21:10 Jean-Michel Pollion napsal(a):
Le jeudi 02 septembre 2021 à 19:21 +0200, Zdenek Kabelac a écrit :
Dne 02. 09. 21 v 17:49 Jean-Michel Pollion napsal(a):
Le jeudi 02 septembre 2021 à 16:11 +0200, Zdenek Kabelac a écrit :
Dne 02. 09. 21 v 9:34 Jean-Michel Pollion napsal(a):
Hello,
I have the lvm2 tools segfaulting since 2.03.12 with a message
of
unsorted commands in cmds.h.
It turns out that in my locale and on my setup, the LANG=C
setting
before "sort -u" in tools/Makefile.in is not enough, I had to
patch
and
add LC_COLLATE=C too, or the rules will not count the
underscore
while
sorting, causing the segfault in the code (command.c IIRC).
This broke the boot on some of my servers, so I think it's a
rather
big
problem that perhaps can't be caught in reproducible builds.
Can this be corrected upstream or should I just modify my build
environment for LVM2?
Hi
Interesting - can you send a patch to Makefile to include
LC_COLLATE=C
in case it does fixes your problem
I fixed it with a sed, the resulting patch is attached:
--- LVM2.2.03.13-orig/tools/Makefile.in 2021-08-11
17:37:43.000000000
+0200
+++ LVM2.2.03.13/tools/Makefile.in 2021-09-02
17:41:42.113702990
+0200
@@ -181,7 +181,7 @@
( cat $(srcdir)/license.inc && \
echo "/* Do not edit. This file is generated by the
Makefile.
*/" && \
echo "cmd(CMD_NONE, none)" && \
- $(GREP) '^ID:' $(srcdir)/command-lines.in | LANG=C
$(SORT) -u
$(AWK) '{print "cmd(" $$2 "_CMD, " $$2 ")"}' && \
+ $(GREP) '^ID:' $(srcdir)/command-lines.in | LANG=C
LC_COLLATE=C $(SORT) -u | $(AWK) '{print "cmd(" $$2 "_CMD, " $$2
")"}'
&& \
echo "cmd(CMD_COUNT, count)" \
) > $@
And does it also work if you set LC_ALL=C (instead of LANG=C
LC_COLLATE=C) ?
Yes, it works also with LC_ALL=C alone (without either LANG_C or
LC_COLLATE=C), I replaced LANG=C by LC_ALL=C in the Makefile and it
worked perfectly, as expected, as LC_ALL is supposed to supersede LANG.
So thanks for checking, I'll push this fix then.
Regards
Zdenek
_______________________________________________
linux-lvm mailing list
linux-lvm@xxxxxxxxxx
https://listman.redhat.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/