[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
'info -k' segfaults
From: |
Ludovic Courtès |
Subject: |
'info -k' segfaults |
Date: |
Tue, 24 Nov 2015 10:50:46 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
‘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---
address@hidden ~$ rm foo*
address@hidden ~$ 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"
address@hidden ~$ INFOPATH=$PWD/foo/share/info info -k foo
Adres-eraro
address@hidden ~$ rm foo*
address@hidden ~$ guix package -i libgcrypt guile coreutils sed grep findutils
-p foo
[...]
address@hidden ~$ 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’.
- 'info -k' segfaults,
Ludovic Courtès <=