bug-texinfo
[Top][All Lists]
Advanced

[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’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]