bug#43152: 28.0.50; when building emacs 28.0.50 ./temacs is stopped with core

9 views
Skip to first unread message

Philippe Spiesser

unread,
Sep 1, 2020, 6:45:10 AM9/1/20
to 43...@debbugs.gnu.org
Hello,
yesterday, I have updated the local directory of emacs 28.0.50 to
rebuild a new version; the last time I've updated was the 9 of august
and everything was OK.
Building stops with the messages :
cp -f temacs bootstrap-emacs
rm -f bootstrap-emacs.pdmp
./temacs --batch -l loadup --temacs=pbootstrap
make[1]: *** [bootstrap-emacs.pdmp] Segmentation fault: 11
make: *** [src] Error 2
I can't explain this.
I hope it's the correct place to send this message


In GNU Emacs 28.0.50 (build 11, x86_64-apple-darwin17.7.0, NS appkit-1561.61 Version 10.13.6 (Build 17G14019))
of 2020-08-09 built on spungen.home
Repository revision: 8e82baf5a730ff542118ddba5b76afdc1db643f6
Repository branch: master
Windowing system distributor 'Apple', version 10.3.1561
System Description: Mac OS X 10.13.6


Configured using:
'configure --prefix=/usr/local/Applications --with-ns=yes
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/opt/imagemagick@6/lib/pkgconfig:/usr/local/opt/libxml2/lib/pkgconfig'

Configured features:
JPEG TIFF GIF PNG RSVG DBUS GLIB NOTIFY KQUEUE ACL GNUTLS LIBXML2 ZLIB
TOOLKIT_SCROLL_BARS NS MODULES THREADS PDUMPER LCMS2

Important settings:
value of $LANG: fr_FR.UTF-8
locale-coding-system: utf-8-unix

Major mode: LaTeX/P

Minor modes in effect:
ps-rooms-mode: t
shell-dirtrack-mode: t
show-paren-mode: t
recentf-mode: t
TeX-PDF-mode: t
display-time-mode: t
tooltip-mode: t
global-eldoc-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
auto-fill-function: do-auto-fill
transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow emacsbug sendmail sh-script smie executable grep compface
gnus-fun shr-color color smerge-mode diff flow-fill sort smiley
gnus-cite mail-extr qp gnus-async gnus-bcklg gnus-ml disp-table
cursor-sensor nndraft nnmh gnus-agent gnus-srvr gnus-score score-mode
nnvirtual gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime dig
gnus-cache epa-file nntp cl-extra help-mode org-duration ol-eww ol-rmail
ol-mhe ol-irc ol-info ol-gnus nnir gnus-sum shr svg xml dom gnus-group
gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source utf7 netrc
nnoo parse-time iso8601 gnus-spec gnus-int gnus-range gnus-win gnus
nnheader ol-docview doc-view jka-compr image-mode exif ol-bibtex bibtex
ol-bbdb ol-w3m mm-archive message dired dired-loaddefs rfc822 mml
mml-sec epa derived gnus-util rmail rmail-loaddefs text-property-search
mailabbrev gmm-utils mailheader mm-decode mm-bodies mm-encode gnutls
mail-utils network-stream url-http mail-parse rfc2231 rfc2047 rfc2045
mm-util ietf-drums mail-prsvr url-gw nsm rmc puny url-cache url-auth epg
epg-config finder-inf ispell misearch multi-isearch vc-dispatcher vc-hg
diff-mode preview prv-emacs ps-rooms-mode tex-bar toolbar-x font-latex
texmathp tex-mode shell latexenc server paren recentf tree-widget
wid-edit cus-start cus-load auctex-latexmk tex-buf latex latex-flymake
flymake-proc flymake compile warnings thingatpt tex-ispell tex-style tex
crm calfw-org org-capture org-element avl-tree generator org-agenda org
ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote
org-src ob-comint org-pcomplete pcomplete comint ansi-color ring
org-list org-faces org-entities time-date noutline outline easy-mmode
org-version ob-emacs-lisp ob-core ob-eval org-table ol org-keys
org-compat advice org-macs org-loaddefs find-func calfw-ical url
url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util mailcap icalendar diary-lib diary-loaddefs calfw-cal
calfw edmacro kmacro format-spec holidays hol-loaddefs cal-menu calendar
cal-loaddefs cl time auto-insert-tkld exec-path-from-shell info tex-site
package easymenu browse-url url-handlers url-parse auth-source cl-seq
eieio eieio-core cl-macs eieio-loaddefs password-cache json subr-x map
url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win
tool-bar dnd fontset image regexp-opt fringe tabulated-list replace
newcomment text-mode elisp-mode lisp-mode prog-mode register page
tab-bar menu-bar rfn-eshadow isearch timer select scroll-bar mouse
jit-lock font-lock syntax facemenu font-core term/tty-colors frame
minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite charscript charprop case-table epa-hook jka-cmpr-hook help
simple abbrev obarray cl-preloaded nadvice loaddefs button faces
cus-face macroexp files text-properties overlay sha1 md5 base64 format
env code-pages mule custom widget hashtable-print-readable backquote
threads dbusbind kqueue cocoa ns lcms2 multi-tty make-network-process
emacs)

Memory information:
((conses 16 1518013 141017)
(symbols 48 36852 4)
(strings 32 246965 14613)
(string-bytes 1 11019991)
(vectors 16 75402)
(vector-slots 8 1629269 178479)
(floats 8 438 342)
(intervals 56 159971 4207)
(buffers 992 26))



Stefan Kangas

unread,
Sep 1, 2020, 7:11:05 AM9/1/20
to Philippe Spiesser, 43...@debbugs.gnu.org
Philippe Spiesser <ann.o...@orange.fr> writes:

> Hello,
> yesterday, I have updated the local directory of emacs 28.0.50 to
> rebuild a new version; the last time I've updated was the 9 of august
> and everything was OK.
> Building stops with the messages :
> cp -f temacs bootstrap-emacs
> rm -f bootstrap-emacs.pdmp
> ./temacs --batch -l loadup --temacs=pbootstrap
> make[1]: *** [bootstrap-emacs.pdmp] Segmentation fault: 11
> make: *** [src] Error 2
> I can't explain this.
> I hope it's the correct place to send this message

Did you try "make bootstrap"?

Also, please include the full commands you used to build this, starting
with configure.



Eli Zaretskii

unread,
Sep 1, 2020, 10:30:05 AM9/1/20
to Stefan Kangas, ann.o...@orange.fr, 43...@debbugs.gnu.org
> From: Stefan Kangas <stefan...@gmail.com>
> Date: Tue, 1 Sep 2020 04:10:12 -0700
If "make bootstrap" doesn't help, please run the command which crashes
under GDB, and when it crashes, produce the backtrace and post it
here.



Eli Zaretskii

unread,
Sep 1, 2020, 1:11:03 PM9/1/20
to Anonymous, stefan...@gmail.com, 43...@debbugs.gnu.org
> Cc: 43...@debbugs.gnu.org
> From: Anonymous <ann.o...@orange.fr>
> Date: Tue, 1 Sep 2020 18:49:23 +0200
>
>     (gdb) run --batch -l loadup --temacs=pbootstrap
>     Starting program: /usr/local/src/emacs/src/temacs --batch -l loadup
> --temacs=pbootstrap
>     Unable to find Mach task port for process-id 19495: (os/kern)
> failure (0x5).
>      (please check gdb is codesigned - see taskgated(8))
>     (gdb) quit

This is macOS, where one cannot use GDB without some jumping through
hoops, sigh.

Well, we need to know where (file name and line number) it segfaults;
it is hard to make progress without knowing that much. If you can use
LLDB, or some other method, to find that out, please post that
information.

Thanks.



Stefan Kangas

unread,
Sep 1, 2020, 1:16:05 PM9/1/20
to Eli Zaretskii, Anonymous, 43...@debbugs.gnu.org
Eli Zaretskii <el...@gnu.org> writes:

>>     Unable to find Mach task port for process-id 19495: (os/kern)
>> failure (0x5).
>
> This is macOS, where one cannot use GDB without some jumping through
> hoops, sigh.

It's not too bad, IMHO. Here are the instructions from etc/DEBUG:

Running GDB on macOS sometimes brings an error message like this:

Unable to find Mach task port for process-id NNN: (os/kern) failure (0x5).

To overcome this, search the Internet for the phrase "Unable to find
Mach task port for process-id", and you will find detailed
instructions to follow.

Best regards,
Stefan Kangas



Anonymous

unread,
Sep 1, 2020, 4:22:05 PM9/1/20
to Eli Zaretskii, Stefan Kangas, 43...@debbugs.gnu.org
Here is the trace of command with gdb. Unfortunately, there are 20 years
ago I used gdb, so I don't know if usage is correct.

    spungen:src $ gdb ./temacs
    GNU gdb (GDB) 9.2
    Copyright (C) 2020 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-apple-darwin17.7.0".
    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 ./temacs...

    warning: can't find symbol 'l_OBJC_PROTOCOL_$_NSMenuDelegate' in
minsymtab

    warning: can't find symbol 'l_OBJC_PROTOCOL_$_NSObject' in minsymtab

    warning: can't find symbol 'l_OBJC_PROTOCOL_$_NSToolbarDelegate' in
minsymtab

    warning: can't find symbol 'l_OBJC_PROTOCOL_$_NSWindowDelegate' in
minsymtab
    SIGINT is used by the debugger.
    Are you sure you want to change it? (y or n) [answered Y; input not
from terminal]
    DISPLAY =
/private/tmp/com.apple.launchd.MqWyE2hQIp/org.macosforge.xquartz:0
    TERM = xterm-color
    Breakpoint 1 at 0x1000d1562: file emacs.c, line 378.
    (gdb) run --batch -l loadup --temacs=pbootstrap
    Starting program: /usr/local/src/emacs/src/temacs --batch -l loadup
--temacs=pbootstrap
    Unable to find Mach task port for process-id 19495: (os/kern)
failure (0x5).

Anonymous

unread,
Sep 2, 2020, 7:10:04 AM9/2/20
to Stefan Kangas, Eli Zaretskii, 43...@debbugs.gnu.org
Le 01/09/2020 à 19:15, Stefan Kangas a écrit :
Eli Zaretskii <el...@gnu.org> writes:

     Unable to find Mach task port for process-id 19495: (os/kern)
failure (0x5).
This is macOS, where one cannot use GDB without some jumping through
hoops, sigh.
It's not too bad, IMHO.  Here are the instructions from etc/DEBUG:

    Running GDB on macOS sometimes brings an error message like this:

      Unable to find Mach task port for process-id NNN: (os/kern) failure (0x5).

    To overcome this, search the Internet for the phrase "Unable to find
    Mach task port for process-id", and you will find detailed
    instructions to follow.

Best regards,
Stefan Kangas

Here is backtrace running with gdb

    spungen:src $ gdb ./temacs

    GNU gdb (GDB) 8.0.1
    Copyright (C) 2017 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-apple-darwin17.0.0".


    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 ./temacs...
    warning: can't find symbol 'l_OBJC_PROTOCOL_$_NSMenuDelegate' in minsymtab

    warning: can't find symbol 'l_OBJC_PROTOCOL_$_NSObject' in minsymtab

    warning: can't find symbol 'l_OBJC_PROTOCOL_$_NSToolbarDelegate' in minsymtab

    warning: can't find symbol 'l_OBJC_PROTOCOL_$_NSWindowDelegate' in minsymtab

    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 = /private/tmp/com.apple.launchd.NmbcYXYKys/org.macosforge.xquartz:0


    TERM = xterm-color
    Breakpoint 1 at 0x1000d1562: file emacs.c, line 378.
    (gdb) run --batch  -l loadup --temacs=pbootstrap
    Starting program: /usr/local/src/emacs/src/temacs --batch  -l loadup --temacs=pbootstrap

    [New Thread 0x1903 of process 507]
    warning: unhandled dyld version (15)
    [New Thread 0x1a03 of process 507]
    [New Thread 0x2603 of process 507]
    [New Thread 0x2807 of process 507]

    Thread 2 received signal SIGSEGV, Segmentation fault.
    0x00007fff7bc4498d in ?? ()
    (gdb) where
    #0  0x00007fff7bc4498d in ?? ()
    #1  0x000000003272002e in ?? ()
    #2  0x0000000102c05380 in ?? ()
    #3  0x00007ffeefbff5c0 in ?? ()
    #4  0x000000010010908e in Ffile_name_as_directory (file=XIL(0x102c05384)) at fileio.c:563
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    (gdb) quit
    A debugging session is active.

    Inferior 1 [process 507] will be killed.

    Quit anyway? (y or n) y

I rebuild with more options to configure :

    --enable-checking='yes,glyphs' --enable-check-lisp-object-type \
        CFLAGS='-O0 -g3

with same backtrace.

Best regards

-- 

	Philippe Spiesser

Paul Eggert

unread,
Sep 2, 2020, 4:11:05 PM9/2/20
to Philippe Spiesser, 43...@debbugs.gnu.org, Stefan Kangas, Angelo Graziosi
Can you do a git bisect to see which commit is likely to have caused the problem?



Angelo Graziosi

unread,
Sep 3, 2020, 11:36:09 AM9/3/20
to Paul Eggert, Philippe Spiesser, Stefan Kangas, 43...@debbugs.gnu.org
> Il 02/09/2020 22:09 Paul Eggert ha scritto:
>
>
> Can you do a git bisect to see which commit is likely to have caused the problem?

I used the snapshots fro git repo and found that the first commit that fail is

Paul Eggert: Fix GC bug with Lisp floats and --with-wide-int

2ff930d861b772466b9f6b95d1776696298f3e0b 20200831_000556


The previous commit:

Stefan Kangas: Update Elisp Manual reference to which-function-mode

7605060d51bbce88307c09bd2e9be60f2750ee3d 20200831_043909

builds fine.

Ciao,
Angelo.

(PS. Please, don't ask to use GDB...)



Paul Eggert

unread,
Sep 3, 2020, 3:18:09 PM9/3/20
to Angelo Graziosi, Philippe Spiesser, Stefan Kangas, 43...@debbugs.gnu.org
Thanks for isolating the commit that caused the problem. I can't easily debug it
on macOS, so I reverted the commit and its dependents. This should fix your
problem, whatever it is.



Reply all
Reply to author
Forward
0 new messages