From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Gergely Czuczy Newsgroups: gmane.emacs.bugs Subject: bug#28308: Build failure on FreeBSD/aarch64 Date: Tue, 12 Sep 2017 17:13:55 +0200 Message-ID: References: <2e5f41f7-e005-c28f-c04a-79953a804f71@harmless.hu> <8760d17pyj.fsf@users.sourceforge.net> <9ae1840f-9056-8771-43fa-b27bbd2b1bd3@harmless.hu> <87k218g33g.fsf@users.sourceforge.net> <2fbe77fe-1258-cef2-32e2-f741da514151@harmless.hu> <83y3powdsv.fsf@gnu.org> <87k215lqdf.fsf@users.sourceforge.net> <837ex5thtt.fsf@gnu.org> <83tw09s148.fsf@gnu.org> <83bmmhrw84.fsf@gnu.org> <90dd40c6-6837-aac5-fda6-f637bcfcc15b@harmless.hu> <83efrcq7y2.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1505229330 13090 195.159.176.226 (12 Sep 2017 15:15:30 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 12 Sep 2017 15:15:30 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 Cc: 28308@debbugs.gnu.org, npostavs@users.sourceforge.net To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Sep 12 17:15:23 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1drmu6-0002Xj-61 for geb-bug-gnu-emacs@m.gmane.org; Tue, 12 Sep 2017 17:15:10 +0200 Original-Received: from localhost ([::1]:36460 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1drmuA-0001MU-D0 for geb-bug-gnu-emacs@m.gmane.org; Tue, 12 Sep 2017 11:15:14 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:37722) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1drmu1-0001KY-6J for bug-gnu-emacs@gnu.org; Tue, 12 Sep 2017 11:15:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1drmtx-0007U4-UW for bug-gnu-emacs@gnu.org; Tue, 12 Sep 2017 11:15:05 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:55554) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1drmtx-0007Tx-RK for bug-gnu-emacs@gnu.org; Tue, 12 Sep 2017 11:15:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1drmtx-000354-Jz for bug-gnu-emacs@gnu.org; Tue, 12 Sep 2017 11:15:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Gergely Czuczy Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 12 Sep 2017 15:15:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 28308 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 28308-submit@debbugs.gnu.org id=B28308.150522924711757 (code B ref 28308); Tue, 12 Sep 2017 15:15:01 +0000 Original-Received: (at 28308) by debbugs.gnu.org; 12 Sep 2017 15:14:07 +0000 Original-Received: from localhost ([127.0.0.1]:35999 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1drmt4-00033Y-UP for submit@debbugs.gnu.org; Tue, 12 Sep 2017 11:14:07 -0400 Original-Received: from marvin.harmless.hu ([195.56.55.204]:52517) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1drmt3-00032v-CB for 28308@debbugs.gnu.org; Tue, 12 Sep 2017 11:14:06 -0400 Original-Received: from 84-236-101-185.pool.digikabel.hu ([84.236.101.185] helo=[10.219.16.1]) by marvin.harmless.hu with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.88 (FreeBSD)) (envelope-from ) id 1drmsv-000N0r-IC; Tue, 12 Sep 2017 15:13:57 +0000 In-Reply-To: <83efrcq7y2.fsf@gnu.org> Content-Language: en-US X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:136838 Archived-At: On 2017. 09. 12. 16:59, Eli Zaretskii wrote: >> Cc: npostavs@users.sourceforge.net, 28308@debbugs.gnu.org >> From: Gergely Czuczy >> Date: Mon, 11 Sep 2017 22:33:45 +0200 >> >> It's still in the delete_ttye function, however, 4463 is a call to >> delete_terminal, and not to xpalloc. It's interesting why's that frame >> #2, because lldb also returns the same as we can see in the source: >> (lldb) frame select 3 >> frame #3: 0x0000000000168214 >> bootstrap-emacs`delete_tty(terminal=0x4f67ed32e8e06446) at term.c:4463 >>    4460      before delete_terminal.  */ >>    4461   reset_sys_modes (tty); >>    4462 >> -> 4463   delete_terminal (terminal); >>    4464 >>    4465   xfree (tty->name); >>    4466   xfree (tty->type); >> >> However, disassembly gave something interesting: >> ** 4463   delete_terminal (terminal); >>    4464 >> >>     0x16820c <+224>: bl     0xd40b4 ; coordinates_in_window + 5312 at >> window.c:1274 >>     0x168210 <+228>: bl     0x22e1f8 ; xpalloc + 16084 at alloc.c:992 >> >> -> 4465   xfree (tty->name); >> >> ->  0x168214 <+232>: bl 0x35b294                  ; >> text_property_stickiness + 628 at textprop.c:1845 >>     0x168218 <+236>: ldurb  w8, [x29, #-0x2c] >>     0x16821c <+240>: tbz    w8, #0x0, 0x16823c ; <+272> at term.c >> >> The pointer is at the xfree call. However, I the disassembly was too >> long, I couldn't get anything useful out of it. > Can you step through that code, starting at the delete_tty, stepping > into the functions, and showing the source lines? I don't see how the > code you are showing could possibly be correct. > > Thanks. Here it is: root@build-pine64:/usr/ports/editors/emacs-devel/work/emacs-f44184f/lisp# EMACSLOADPATH= lldb -- '../src/bootstrap-emacs' -batch l-no-site-file --no-site-lisp --eval '(setq load-prefer-newer t)' -f batch-byte-compile emacs-lisp/macroexp.eleval '(set (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 3150 launching Process 3150 launched: '../src/bootstrap-emacs' (aarch64) Process 3150 stopped * thread #1, name = 'bootstrap-emacs', stop reason = signal SIGSEGV: invalid address (fault address: 0x41b17978)     frame #0: 0x0000000000228460 bootstrap-emacs`xnrealloc(pa=0x0000000000000000, nitems=0, item_size=1102150015) 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) thread list Process 3150 stopped * thread #1: tid = 101190, 0x0000000000228460 bootstrap-emacs`xnrealloc(pa=0x0000000000000000, nitems=0, item_size=1102150015) at alloc.c:939, name = 'bootstrap-emacs', stop reason = signal SIGSEGV: invalid address (fault address: 0x41b17978) (lldb) bt * thread #1, name = 'bootstrap-emacs', stop reason = signal SIGSEGV: invalid address (fault address: 0x41b17978)   * frame #0: 0x0000000000228460 bootstrap-emacs`xnrealloc(pa=0x0000000000000000, nitems=0, item_size=1102150015) at alloc.c:939     frame #1: 0x0000000000228204 bootstrap-emacs`xnrealloc(pa=0x000000000019ae38, nitems=42949672960, item_size=281474976703880) at alloc.c:939     frame #2: 0x000000000022e208 bootstrap-emacs`xpalloc(pa=0x0000000000000000, nitems=0x0000000041b1797f, nitems_incr_min=1683000, nitems_max=42949672960, item_size=281474976703880) at alloc.c:0     frame #3: 0x0000000000168214 bootstrap-emacs`delete_tty(terminal=0xf3ce82d91358dca6) 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) frame select 1 frame #1: 0x0000000000228204 bootstrap-emacs`xnrealloc(pa=0x000000000019ae38, nitems=42949672960, item_size=281474976703880) 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) frame select 2 frame #2: 0x000000000022e208 bootstrap-emacs`xpalloc(pa=0x0000000000000000, nitems=0x0000000041b1797f, nitems_incr_min=1683000, nitems_max=42949672960, item_size=281474976703880) at alloc.c:0    1    /* Storage allocation and gc for GNU Emacs Lisp interpreter.    2    3    Copyright (C) 1985-1986, 1988, 1993-1995, 1997-2017 Free Software    4    Foundation, Inc.    5    6    This file is part of GNU Emacs.    7 (lldb) frame select 3 frame #3: 0x0000000000168214 bootstrap-emacs`delete_tty(terminal=0xf3ce82d91358dca6) at term.c:4463    4460      before delete_terminal.  */    4461   reset_sys_modes (tty);    4462 -> 4463   delete_terminal (terminal);    4464    4465   xfree (tty->name);    4466   xfree (tty->type); (lldb) frame select 4 frame #4: 0x0000000000040190 bootstrap-emacs`__start + 376 bootstrap-emacs`__start:     0x40190 <+376>: bl     0x37e7d0 ; symbol stub for: exit bootstrap-emacs`finalizer:     0x40194 <+0>:   stp    x20, x19, [sp, #-0x20]!     0x40198 <+4>:   adrp   x19, 1632     0x4019c <+8>:   adrp   x8, 1632 (lldb) frame select 5 frame #5: 0x0000000040390018 ld-elf.so.1`.rtld_start at rtld_start.S:41 In the meantime I'm preparing a qemu aarch64 VM, where this is reproduced, and ready to analyze it. It's in progress, however emulating aarch64 is not a speed champion on amd64.