‘info -k’ reproducibly crashes here: --8<---------------cut here---------------start------------->8--- $ valgrind info -k grep ==6618== Memcheck, a memory error detector ==6618== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. ==6618== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info ==6618== Command: info -k grep ==6618== ==6618== Invalid read of size 1 ==6618== at 0x534A040: __strcmp_sse2_unaligned (in /gnu/store/qv7bk62c22ms9i11dhfl71hnivyc82k2-glibc-2.22/lib/libc-2.22.so) ==6618== by 0x40AA14: apropos_in_all_indices (in /gnu/store/hx7fpfka1nxfkaq13xm3d5dxq156iyhz-texinfo-6.0/bin/info) ==6618== by 0x403DC0: main (in /gnu/store/hx7fpfka1nxfkaq13xm3d5dxq156iyhz-texinfo-6.0/bin/info) ==6618== Address 0x0 is not stack'd, malloc'd or (recently) free'd ==6618== ==6618== ==6618== Process terminating with default action of signal 11 (SIGSEGV) ==6618== Access not within mapped region at address 0x0 ==6618== at 0x534A040: __strcmp_sse2_unaligned (in /gnu/store/qv7bk62c22ms9i11dhfl71hnivyc82k2-glibc-2.22/lib/libc-2.22.so) ==6618== by 0x40AA14: apropos_in_all_indices (in /gnu/store/hx7fpfka1nxfkaq13xm3d5dxq156iyhz-texinfo-6.0/bin/info) ==6618== by 0x403DC0: main (in /gnu/store/hx7fpfka1nxfkaq13xm3d5dxq156iyhz-texinfo-6.0/bin/info) ==6618== If you believe this happened as a result of a stack ==6618== overflow in your program's main thread (unlikely but ==6618== possible), you can try to increase the size of the ==6618== main thread stack using the --main-stacksize= flag. ==6618== The main thread stack size used in this run was 8388608. ==6618== ==6618== HEAP SUMMARY: ==6618== in use at exit: 8,589,910 bytes in 242,476 blocks ==6618== total heap usage: 572,539 allocs, 330,063 frees, 16,418,905,133 bytes allocated ==6618== ==6618== LEAK SUMMARY: ==6618== definitely lost: 0 bytes in 0 blocks ==6618== indirectly lost: 0 bytes in 0 blocks ==6618== possibly lost: 0 bytes in 0 blocks ==6618== still reachable: 8,589,910 bytes in 242,476 blocks ==6618== suppressed: 0 bytes in 0 blocks ==6618== Rerun with --leak-check=full to see details of leaked memory ==6618== ==6618== For counts of detected and suppressed errors, rerun with: -v ==6618== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 1 from 1) Adres-eraro $ info --version info (GNU texinfo) 6.0 --8<---------------cut here---------------end--------------->8---
If there’s no ‘dir’ file in the INFOPATH it seems that not a single .info file is opened, and ‘info’ doesn’t crash (but it doesn’t find anything either ;-)). After some testing, I found that the segfault happens specifically when gdbm.info is installed (from gdbm 1.11); other manuals seem to be OK. One way to test this is with Guix: --8<---------------cut here---------------start------------->8--- ludo@pluto ~$ rm foo* ludo@pluto ~$ guix package -i gdbm -p foo The following package will be installed: gdbm 1.11 /gnu/store/sk25rfzq6rpq4psnvkb2g3asj4d7pf6v-gdbm-1.11 1 package in profile The following environment variable definitions may be needed: export PATH="foo/bin" ludo@pluto ~$ INFOPATH=$PWD/foo/share/info info -k foo Adres-eraro ludo@pluto ~$ rm foo* ludo@pluto ~$ guix package -i libgcrypt guile coreutils sed grep findutils -p foo [...] ludo@pluto ~$ INFOPATH=$PWD/foo/share/info info -k foo "(coreutils.info.gz)nl invocation" -- --footer-numbering "(coreutils.info.gz)nl invocation" -- footers, numbering --8<---------------cut here---------------end--------------->8--- Thanks, Ludo’.
