GNU bug report logs - #28308
Build failure on FreeBSD/aarch64

Previous Next

Package: emacs;

Reported by: Gergely Czuczy <gergely.czuczy <at> harmless.hu>

Date: Thu, 31 Aug 2017 16:43:01 UTC

Severity: important

Tags: fixed, patch

Merged with 24892

Fixed in version 26.1

Done: Noam Postavsky <npostavs <at> users.sourceforge.net>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Gergely Czuczy <gergely.czuczy <at> harmless.hu>
To: npostavs <at> users.sourceforge.net
Cc: 28308 <at> debbugs.gnu.org
Subject: bug#28308: Build failure on FreeBSD/aarch64
Date: Sat, 9 Sep 2017 07:01:20 +0200
On 2017. 09. 09. 1:52, npostavs <at> users.sourceforge.net wrote:
> Gergely Czuczy <gergely.czuczy <at> harmless.hu> writes:
>
>> On 2017. 09. 02. 5:13, npostavs <at> users.sourceforge.net wrote:
>>> Gergely Czuczy <gergely.czuczy <at> harmless.hu> writes:
>>>
>>>> EMACSLOADPATH= '../src/bootstrap-emacs' -batch --no-site-file --no-site-lisp --eval '(setq load-prefer-newer t)'  -f batch-byte-compile emacs-lisp/macroexp.el
>>>> (lldb) bt
>>> This looks like a segfault triggered from the segfault handler.  Can you
>>> run the batch-byte-compile command above under the debugger and catch
>>> the original segfault?
>> Sure, I can. However, could you please tell me the commands I need to
>> run? Unfortunately I don't really have the time to do the legwork,
>> however if the commands are given, I can run it and let you know of
>> the results.
> I think it should be (from the lisp/ directory)
>
>      EMACSLOADPATH= lldb -- '../src/bootstrap-emacs' -batch --no-site-file --no-site-lisp --eval '(setq load-prefer-newer t)'  -f batch-byte-compile emacs-lisp/macroexp.el
>
> then 'bt' when it segfaults.
Thanks, here you go:
root <at> build-pine64:/usr/ports/editors/emacs-devel# cd 
/usr/ports/editors/emacs-devel/work/emacs-f44184f/lisp
root <at> build-pine64:/usr/ports/editors/emacs-devel/work/emacs-f44184f/lisp# 
EMACSLOADPATH= lldb -- '../src/bootstrap-emacs' -batch --no-site-file 
--no-site-lisp --eval '(setq load-prefer-newer t)' -f batch-byte-compile 
emacs-lisp/macroexp.el
(lldb) target create "../src/bootstrap-emacs"
Current executable set to '../src/bootstrap-emacs' (aarch64).
(lldb) settings set -- target.run-args  "-batch" "--no-site-file" 
"--no-site-lisp" "--eval" "(setq load-prefer-newer t)" "-f" 
"batch-byte-compile" "emacs-lisp/macroexp.el"
(lldb) bt
error: invalid process
(lldb) r
Process 63555 launching
Process 63555 launched: '../src/bootstrap-emacs' (aarch64)
Process 63555 stopped
* thread #1, name = 'bootstrap-emacs', stop reason = signal SIGSEGV: 
invalid address (fault address: 0x4192bd70)
    frame #0: 0x000000000011e8c0 bootstrap-emacs`re_match_2_internal + 7556
bootstrap-emacs`re_match_2_internal:
->  0x11e8c0 <+7556>: str    xzr, [x9]
    0x11e8c4 <+7560>: adrp   x8, 1091
    0x11e8c8 <+7564>: ldr    x10, [x8, #0x910]
    0x11e8cc <+7568>: adrp   x11, 1077
(lldb) bt
* thread #1, name = 'bootstrap-emacs', stop reason = signal SIGSEGV: 
invalid address (fault address: 0x4192bd70)
  * frame #0: 0x000000000011e8c0 bootstrap-emacs`re_match_2_internal + 7556
    frame #1: 0x0000000000040190 bootstrap-emacs`__start + 376
    frame #2: 0x00000000401c0018 ld-elf.so.1`.rtld_start at rtld_start.S:41
(lldb)


And here's one with a debug build(-g):
root <at> build-pine64:/usr/ports/editors/emacs-devel# cd 
/usr/ports/editors/emacs-devel/work/emacs-f44184f/lisp
root <at> build-pine64:/usr/ports/editors/emacs-devel/work/emacs-f44184f/lisp# 
EMACSLOADPATH= lldb -- '../src/bootstrap-emacs' -batch --no-site-file 
--no-site-lisp --eval '(setq load-prefer-newer t)' -f batch-byte-compile 
emacs-lisp/macroexp.el
(lldb) target create "../src/bootstrap-emacs"
Current executable set to '../src/bootstrap-emacs' (aarch64).
(lldb) settings set -- target.run-args  "-batch" "--no-site-file" 
"--no-site-lisp" "--eval" "(setq load-prefer-newer t)" "-f" 
"batch-byte-compile" "emacs-lisp/macroexp.el"
(lldb) r
Process 69906 launching
Process 69906 launched: '../src/bootstrap-emacs' (aarch64)
Process 69906 stopped
* thread #1, name = 'bootstrap-emacs', stop reason = signal SIGSEGV: 
invalid address (fault address: 0x41aef578)
    frame #0: 0x0000000000228460 
bootstrap-emacs`xnrealloc(pa=0x0000000000000000, nitems=0, 
item_size=1101985151) at alloc.c:939
   936  {
   937    eassert (0 <= nitems && 0 < item_size);
   938    ptrdiff_t nbytes;
-> 939    if (INT_MULTIPLY_WRAPV (nitems, item_size, &nbytes) || 
SIZE_MAX < nbytes)
   940      memory_full (SIZE_MAX);
   941    return xrealloc (pa, nbytes);
   942  }
(lldb) bt
* thread #1, name = 'bootstrap-emacs', stop reason = signal SIGSEGV: 
invalid address (fault address: 0x41aef578)
  * frame #0: 0x0000000000228460 
bootstrap-emacs`xnrealloc(pa=0x0000000000000000, nitems=0, 
item_size=1101985151) at alloc.c:939
    frame #1: 0x0000000000228204 
bootstrap-emacs`xnrealloc(pa=0x000000000019ae38, nitems=42949672960, 
item_size=281474976703896) at alloc.c:939
    frame #2: 0x000000000022e208 
bootstrap-emacs`xpalloc(pa=0x0000000000000000, 
nitems=0x0000000041aef57f, nitems_incr_min=1683000, 
nitems_max=42949672960, item_size=281474976703896) at alloc.c:0
    frame #3: 0x0000000000168214 
bootstrap-emacs`delete_tty(terminal=0xbc7603df25a071f3) at term.c:4463
    frame #4: 0x0000000000040190 bootstrap-emacs`__start + 376
    frame #5: 0x0000000040390018 ld-elf.so.1`.rtld_start at rtld_start.S:41
(lldb)

I hope it helps.

Best regards,
-czg





This bug report was last modified 7 years and 201 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.