Subject: Re: bug#34094: 27.0.50; (wrong-type-argument stringp (require . elec-pair)) with describe-function (and other commands)

From: Tassilo Horn <[email-masked]>
Date: Wed, 16 Jan 2019 19:43:00 +0100

Tassilo Horn <[email-masked]> writes:

> It seems I have to start emacs from within the directory where the
> emacs.pdmp file resides.
>
> And then I'll get an
>
>   Fatal error 11: Segmentation faultfish: “emacs” terminated by signal SIGSEGV
> (Address boundary error)
>
> but that's another story.

Ok, I can reproduce the issue also at home with the current master
(8bf51c380acc04f25fba8f8aa3d1cc08b45f3e69).  When I start emacs not from
within emacs/src/, I get the original wrong-type-argument error as
described with my recipe.

One detail which might be important: I have symlinks to the emacs
executables in ~/bin/ which is on my PATH.

lrwxrwxrwx 1 horn horn   41 13. Nov 2014  ebrowse -> /home/horn/Repos/el/emacs/lib-src/ebrowse
lrwxrwxrwx 1 horn horn   35  1. Jan 2017  emacs -> /home/horn/Repos/el/emacs/src/emacs
lrwxrwxrwx 1 horn horn   45 13. Nov 2014  emacsclient -> /home/horn/Repos/el/emacs/lib-src/emacsclient
lrwxrwxrwx 1 horn horn   39 13. Nov 2014  etags -> /home/horn/Repos/el/emacs/lib-src/etags

So when I start emacs from anywhere but /home/horn/Repos/el/emacs/src/,
it'll print a lot of messages like:

Loading loadup.el (source)...
dump mode: nil
Using load-path (/usr/local/share/emacs/27.0.50/site-lisp /usr/local/share/emacs/site-lisp /home/horn/Repos/el/emacs/lisp /home/horn/Repos/el/emacs/lisp/emacs-lisp /home/horn/Repos/el/emacs/lisp/progmodes /home/horn/Repos/el/emacs/lisp/language /home/horn/Repos/el/emacs/lisp/international /home/horn/Repos/el/emacs/lisp/textmodes /home/horn/Repos/el/emacs/lisp/vc)
Loading emacs-lisp/byte-run...
Loading emacs-lisp/byte-run...done
Loading emacs-lisp/backquote...
Loading emacs-lisp/backquote...done
...

When I start it from within /home/horn/Repos/el/emacs/src/ where the
emacs executable and emacs.pdmp exists, I get no such messages.  Then,
however, I get a segfault for example when I start gnus.  Here's the
xbacktrace from gdb:

>>= gdb emacs
GNU gdb (GDB) 8.2.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from emacs...done.
SIGINT is used by the debugger.
Are you sure you want to change it? (y or n) [answered Y; input not from terminal]
DISPLAY = :0
TERM = xterm-256color
Breakpoint 1 at 0x111cef: file emacs.c, line 370.
Temporary breakpoint 2 at 0x12a7f1: file sysdep.c, line 1095.
(gdb) run
Starting program: /home/horn/Repos/el/emacs/src/emacs 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7fffeea70700 (LWP 25211)]
[Detaching after vfork from child process 25212]
[New Thread 0x7fffee22d700 (LWP 25213)]
[New Thread 0x7fffed2b2700 (LWP 25214)]
[Detaching after vfork from child process 25215]
[Detaching after vfork from child process 25216]
[Detaching after vfork from child process 25217]
[Detaching after vfork from child process 25218]
[Detaching after vfork from child process 25219]
[Detaching after vfork from child process 25220]
[Detaching after vfork from child process 25221]
[Detaching after vfork from child process 25222]
[Detaching after vfork from child process 25223]
[Detaching after vfork from child process 25224]
[Detaching after vfork from child process 25225]
[Detaching after vfork from child process 25226]
[Detaching after vfork from child process 25227]
[Detaching after vfork from child process 25228]
[Detaching after vfork from child process 25229]
[Detaching after vfork from child process 25230]
[Detaching after vfork from child process 25231]
[Detaching after vfork from child process 25232]
[Detaching after vfork from child process 25233]
[Detaching after vfork from child process 25234]
[Detaching after vfork from child process 25235]
[Detaching after vfork from child process 25236]
[Detaching after vfork from child process 25237]
[Detaching after vfork from child process 25238]
[Detaching after vfork from child process 25246]
[Detaching after vfork from child process 25247]
[Detaching after vfork from child process 25248]
[Detaching after vfork from child process 25249]
[Detaching after vfork from child process 25250]
[Detaching after vfork from child process 25251]
[Detaching after vfork from child process 25252]
[Detaching after vfork from child process 25253]
[Detaching after vfork from child process 25254]
[Detaching after vfork from child process 25262]
[Detaching after vfork from child process 25270]
[Detaching after vfork from child process 25271]
[Detaching after vfork from child process 25272]
[Detaching after vfork from child process 25273]
[Detaching after vfork from child process 25274]
[Detaching after vfork from child process 25275]
[Detaching after vfork from child process 25276]
[Detaching after vfork from child process 25277]
[Detaching after vfork from child process 25278]
[Detaching after vfork from child process 25279]
[Detaching after vfork from child process 25280]
[Detaching after vfork from child process 25281]
[Detaching after vfork from child process 25282]
[Detaching after vfork from child process 25283]
[Detaching after vfork from child process 25284]
[Detaching after vfork from child process 25285]
[Detaching after vfork from child process 25286]
[Detaching after vfork from child process 25287]
[Detaching after vfork from child process 25288]
[Detaching after vfork from child process 25289]
[Detaching after vfork from child process 25290]
[Detaching after vfork from child process 25291]
[Detaching after vfork from child process 25292]
[Detaching after vfork from child process 25293]
[Detaching after vfork from child process 25294]
[Detaching after vfork from child process 25295]
[Detaching after vfork from child process 25296]
[Detaching after vfork from child process 25297]
[Detaching after vfork from child process 25298]
[Detaching after vfork from child process 25299]
[Detaching after vfork from child process 25300]
[Detaching after vfork from child process 25301]
[Detaching after vfork from child process 25302]
[Detaching after vfork from child process 25303]
[Detaching after vfork from child process 25304]
[Detaching after vfork from child process 25305]
[Detaching after vfork from child process 25306]
[Detaching after vfork from child process 25307]
[Detaching after vfork from child process 25308]
[Detaching after vfork from child process 25309]
[Detaching after vfork from child process 25310]
[Detaching after vfork from child process 25311]
[Detaching after vfork from child process 25312]
[Detaching after vfork from child process 25313]
[Detaching after vfork from child process 25315]
[Detaching after vfork from child process 25316]
[Detaching after vfork from child process 25317]
[Detaching after vfork from child process 25318]
[Detaching after vfork from child process 25319]
[Detaching after vfork from child process 25320]
[Detaching after vfork from child process 25321]
[Detaching after vfork from child process 25322]
[Detaching after vfork from child process 25323]
[Detaching after vfork from child process 25324]
[Detaching after vfork from child process 25325]
[Detaching after vfork from child process 25326]
[Detaching after vfork from child process 25327]
[Detaching after vfork from child process 25328]
[Detaching after vfork from child process 25329]
[Detaching after vfork from child process 25330]
[Detaching after vfork from child process 25331]
[Detaching after vfork from child process 25385]
[Detaching after vfork from child process 25386]
[Detaching after vfork from child process 25387]
[Detaching after vfork from child process 25388]
[Detaching after vfork from child process 25389]
[Detaching after vfork from child process 25390]
[Detaching after vfork from child process 25391]
[Detaching after vfork from child process 25392]
[Detaching after vfork from child process 25393]
[Detaching after vfork from child process 25401]
[Detaching after vfork from child process 25402]
[Detaching after vfork from child process 25403]
[Detaching after vfork from child process 25404]
[Detaching after vfork from child process 25405]
[Detaching after vfork from child process 25406]
[Detaching after vfork from child process 25407]
[Detaching after vfork from child process 25408]
[Detaching after vfork from child process 25409]
[Detaching after vfork from child process 25410]
[Detaching after vfork from child process 25411]
[Detaching after vfork from child process 25412]
[Detaching after vfork from child process 25420]
[Detaching after vfork from child process 25428]
[Detaching after vfork from child process 25429]
[Detaching after vfork from child process 25430]
[Detaching after vfork from child process 25431]
[Detaching after vfork from child process 25432]
[Detaching after vfork from child process 25433]
[Detaching after vfork from child process 25434]
[Detaching after vfork from child process 25435]
[Detaching after vfork from child process 25436]
[Detaching after vfork from child process 25437]
[Detaching after vfork from child process 25438]
[Detaching after vfork from child process 25439]
[Detaching after vfork from child process 25440]
[Detaching after vfork from child process 25441]
[Detaching after vfork from child process 25442]

Thread 1 "emacs" received signal SIGSEGV, Segmentation fault.
0x000055bc33060af0 in ?? ()
(gdb) xbacktrace
"insert-file-contents" (0xffffaee8)
"eieio-persistent-read" (0xffffb178)
"gnus-registry-read" (0xffffb390)
"gnus-registry-load" (0xffffb5f0)
"gnus-registry-initialize" (0xffffb7c0)
"eval-buffer" (0xffffbab0)
"load-with-code-conversion" (0xffffbd78)
"load" (0xffffc020)
"gnus-read-init-file" (0xffffc290)
"gnus-1" (0xffffc518)
"gnus" (0xffffc820)
"funcall-interactively" (0xffffc818)
"call-interactively" (0xffffca70)
"command-execute" (0xffffcd28)
0x57ad99c0 PVEC_COMPILED
"ivy-call" (0xffffd2e8)
"ivy-read" (0xffffd870)
"counsel-M-x" (0xffffdd10)
"funcall-interactively" (0xffffdd08)
"call-interactively" (0xffffde50)
"command-execute" (0xffffe0f8)
(gdb) 

Bye,
Tassilo