unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: Andrea Corallo <akrl@sdf.org>, Stefan Kangas <stefan@marxist.se>
Cc: emacs-devel@gnu.org
Subject: segfault with native-comp and rustic-mode
Date: Wed, 18 Nov 2020 18:45:59 +0000	[thread overview]
Message-ID: <87tutmld08.fsf@linaro.org> (raw)


Hi Andrea,

I started writing some rust code today and it seems that rustic-mode (or
more specifically the flycheck support from it) seems to do a good job
of crashing Emacs. I'll re-build with more symbols if I can but:

  #0  0x00007fffd9227fcb in F7275737469632d666c79636865636b2d646972732d6c697374_rustic_flycheck_dirs_list_0 () at /home/alex/.emacs.d/eln-cache/28.0.50-x86_64-pc-linux-gnu-b23afb1178f44c0248e3e6e4adbf9f05/rustic-flycheck-bf9c74b8fb43709b580c91423f784fd1-7362c423c63e0a3f44a1739899d8d514.eln
  #1  0x00005555556f1dfb in Ffuncall (nargs=3, args=0x7fffffffbc50) at lisp.h:2091
  #2  0x00007fffd92289f6 in F7275737469632d666c79636865636b2d66696e642d636172676f2d746172676574_rustic_flycheck_find_cargo_target_0 () at /home/alex/.emacs.d/eln-cache/28.0.50-x86_64-pc-linux-gnu-b23afb1178f44c0248e3e6e4adbf9f05/rustic-flycheck-bf9c74b8fb43709b580c91423f784fd1-7362c423c63e0a3f44a1739899d8d514.eln
  #3  0x00005555556f1dfb in Ffuncall (nargs=2, args=0x7fffffffbd88) at lisp.h:2091
  #4  0x00007fffd9228ef7 in F7275737469632d666c79636865636b2d7365747570_rustic_flycheck_setup_0 () at /home/alex/.emacs.d/eln-cache/28.0.50-x86_64-pc-linux-gnu-b23afb1178f44c0248e3e6e4adbf9f05/rustic-flycheck-bf9c74b8fb43709b580c91423f784fd1-7362c423c63e0a3f44a1739899d8d514.eln
  #5  0x00005555556f1dfb in Ffuncall (nargs=1, args=0x7fffffffbe98) at lisp.h:2091
  #6  0x00005555556f1e29 in funcall_nil (nargs=<optimized out>, args=<optimized out>) at eval.c:2516
  #7  0x00005555556f150d in run_hook_with_args (nargs=1, args=0x7fffffffbe98, funcall=0x5555556f1e20 <funcall_nil>) at eval.c:2693
  #8  0x00005555556f1674 in Frun_hook_with_args (args=0x7fffffffbe98, nargs=1) at eval.c:2706
  #9  0x00005555556f1674 in run_hook (hook=<optimized out>) at eval.c:2706
  #10 0x00005555556f1674 in Frun_hooks (nargs=<optimized out>, args=<optimized out>) at eval.c:2540
  #11 0x00007fffdc1b394d in F666c79636865636b2d6d6f6465_flycheck_mode_0 () at /home/alex/.emacs.d/eln-cache/28.0.50-x86_64-pc-linux-gnu-b23afb1178f44c0248e3e6e4adbf9f05/flycheck-6ebc7be56f6aa13b0f1c53191ec92f6d-51a85af89879557367869f0b3840276d.eln
  #12 0x00005555556f1dfb in Ffuncall (nargs=1, args=0x7fffffffc0c8) at lisp.h:2091
  #13 0x00005555556f1e29 in funcall_nil (nargs=<optimized out>, args=<optimized out>) at eval.c:2516
  #14 0x00005555556f150d in run_hook_with_args (nargs=1, args=0x7fffffffc0c8, funcall=0x5555556f1e20 <funcall_nil>) at eval.c:2693
  #15 0x00005555556f1674 in Frun_hook_with_args (args=0x7fffffffc0c8, nargs=1) at eval.c:2706
  #16 0x00005555556f1674 in run_hook (hook=<optimized out>) at eval.c:2706
  #17 0x00005555556f1674 in Frun_hooks (nargs=<optimized out>, args=<optimized out>) at eval.c:2540
  #18 0x00005555556f1dfb in Ffuncall (nargs=4, args=0x7fffffffc160) at lisp.h:2091
  #19 0x00005555556f2088 in Fapply (nargs=2, args=0x7fffffffc260) at eval.c:2505
  #20 0x00005555556f1dfb in Ffuncall (nargs=3, args=0x7fffffffc258) at lisp.h:2091
  #21 0x00007fffee9c542b in F72756e2d6d6f64652d686f6f6b73_run_mode_hooks_0 () at /home/alex/src/emacs/emacs.git/src/../native-lisp/28.0.50-x86_64-pc-linux-gnu-b23afb1178f44c0248e3e6e4adbf9f05/subr-13adf6a6032ab09af5683e709aba3706-a9e966da869e434eb7d3dd4c793c8069.eln
  #22 0x00005555556f1dfb in Ffuncall (nargs=2, args=0x7fffffffc330) at lisp.h:2091
  #23 0x00007fffd92fda06 in F7275737469632d6d6f6465_rustic_mode_0 () at /home/alex/.emacs.d/eln-cache/28.0.50-x86_64-pc-linux-gnu-b23afb1178f44c0248e3e6e4adbf9f05/rustic-a4215d764f85b47856769ef6c555e1de-e6fc15c61c511751953a9dfb878b4fcc.eln
  #24 0x00005555556f1dfb in Ffuncall (nargs=1, args=args@entry=0x7fffffffc498) at lisp.h:2091
  #25 0x000055555572b200 in exec_byte_code (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized out>) at bytecode.c:632
  #26 0x00005555556f1ca9 in Ffuncall (nargs=3, args=args@entry=0x7fffffffc660) at eval.c:2891
  #27 0x000055555572b200 in exec_byte_code (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized out>) at bytecode.c:632
  #28 0x00005555556f1ca9 in Ffuncall (nargs=1, args=args@entry=0x7fffffffc9d0) at eval.c:2891
  #29 0x000055555572b200 in exec_byte_code (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized out>) at bytecode.c:632
  #30 0x00005555556f1ca9 in Ffuncall (nargs=2, args=args@entry=0x7fffffffcbc0) at eval.c:2891
  #31 0x000055555572b200 in exec_byte_code (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized out>) at bytecode.c:632
  #32 0x00005555556f1ca9 in Ffuncall (nargs=3, args=args@entry=0x7fffffffceb0) at eval.c:2891
  #33 0x000055555572b200 in exec_byte_code (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized out>) at bytecode.c:632
  #34 0x00005555556f1ca9 in Ffuncall (nargs=7, args=args@entry=0x7fffffffd150) at eval.c:2891
  #35 0x000055555572b200 in exec_byte_code (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized out>) at bytecode.c:632
  #36 0x00005555556f1ca9 in Ffuncall (nargs=2, args=0x7fffffffd5a0) at eval.c:2891
  #37 0x00007fffd9320714 in F6c757374792d66696c652d6578706c6f726572_lusty_file_explorer_0 () at /home/alex/.emacs.d/eln-cache/28.0.50-x86_64-pc-linux-gnu-b23afb1178f44c0248e3e6e4adbf9f05/lusty-explorer-bd8cd4f0cf7eaeb82cda90fe72ac4214-de3c93105e6e68d927867d7343a9057c.eln
  #38 0x00005555556f3f4d in eval_sub (form=<optimized out>) at lisp.h:2091
  #39 0x00005555556f521d in Fprogn (body=0x0) at eval.c:471
  #40 0x00005555556f521d in Flet (args=0x555559ed3083) at eval.c:999
  #41 0x00005555556f3e14 in eval_sub (form=<optimized out>) at lisp.h:2091
  #42 0x00005555556f42f5 in Fprogn (body=0x0) at eval.c:471
  #43 0x00005555556f42f5 in funcall_lambda (fun=0x555559ed3153, nargs=0, arg_vector=0x7fffffffda70) at eval.c:3152
  #44 0x00005555556f1ca9 in Ffuncall (nargs=nargs@entry=1, args=args@entry=0x7fffffffda68) at eval.c:2891
  #45 0x00005555556ee6c0 in Ffuncall_interactively (nargs=1, args=0x7fffffffda68) at callint.c:253
  #46 0x00005555556f1dfb in Ffuncall (nargs=2, args=0x7fffffffda60) at lisp.h:2091
  #47 0x00005555556f2129 in Fapply (nargs=nargs@entry=3, args=args@entry=0x7fffffffda60) at eval.c:2458
  #48 0x00005555556efcfe in Fcall_interactively (function=0x420bfb0, record_flag=0x0, keys=0x55555ae9d385) at lisp.h:1008
  #49 0x00005555556f1dfb in Ffuncall (nargs=4, args=args@entry=0x7fffffffdb58) at lisp.h:2091
  #50 0x000055555572b200 in exec_byte_code (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized out>) at bytecode.c:632
  #51 0x00005555556f1ca9 in Ffuncall (nargs=2, args=0x7fffffffdd70) at eval.c:2891
  #52 0x00005555556f1eba in call1 (fn=fn@entry=0x44d0, arg1=<optimized out>) at eval.c:2735
  #53 0x0000555555687c96 in command_loop_1 () at lisp.h:1008
  #54 0x00005555556f0f62 in internal_condition_case (bfun=bfun@entry=0x5555556878c0 <command_loop_1>, handlers=handlers@entry=0x90, hfun=hfun@entry=0x55555567e720 <cmd_error>) at eval.c:1368
  #55 0x0000555555679104 in command_loop_2 (ignore=ignore@entry=0x0) at lisp.h:1008
  #56 0x00005555556f0ee1 in internal_catch (tag=tag@entry=0xe1c0, func=func@entry=0x5555556790e0 <command_loop_2>, arg=arg@entry=0x0) at eval.c:1129
  #57 0x00005555556790ab in command_loop () at lisp.h:1008
  #58 0x000055555567e326 in recursive_edit_1 () at keyboard.c:718
  #59 0x000055555567e645 in Frecursive_edit () at keyboard.c:790
  #60 0x000055555559fc66 in main (argc=1, argv=<optimized out>) at emacs.c:2080

Slightly fuller detail of the lower few frames:

  #0  0x00007fffd9227fcb in F7275737469632d666c79636865636b2d646972732d6c697374_rustic_flycheck_dirs_list_0 () at /home/alex/.emacs.d/eln-cache/28.0.50-x86_64-pc-linux-gnu-b23afb1178f44c0248e3e6e4adbf9f05/rustic-flycheck-bf9c74b8fb43709b580c91423f784fd1-7362c423c63e0a3f44a1739899d8d514.eln
  #1  0x00005555556f1dfb in Ffuncall (nargs=3, args=0x7fffffffbc50) at lisp.h:2091
          fun = <optimized out>
          original_fun = 0x4c6c390
          funcar = <optimized out>
          numargs = 2
          val = <optimized out>
          count = 31
  #2  0x00007fffd92289f6 in F7275737469632d666c79636865636b2d66696e642d636172676f2d746172676574_rustic_flycheck_find_cargo_target_0 () at /home/alex/.emacs.d/eln-cache/28.0.50-x86_64-pc-linux-gnu-b23afb1178f44c0248e3e6e4adbf9f05/rustic-flycheck-bf9c74b8fb43709b580c91423f784fd1-7362c423c63e0a3f44a1739899d8d514.eln
  #3  0x00005555556f1dfb in Ffuncall (nargs=2, args=0x7fffffffbd88) at lisp.h:2091
          fun = <optimized out>
          original_fun = 0x4c6c3c0
          funcar = <optimized out>
          numargs = 1
          val = <optimized out>
          count = 30
  #4  0x00007fffd9228ef7 in F7275737469632d666c79636865636b2d7365747570_rustic_flycheck_setup_0 () at /home/alex/.emacs.d/eln-cache/28.0.50-x86_64-pc-linux-gnu-b23afb1178f44c0248e3e6e4adbf9f05/rustic-flycheck-bf9c74b8fb43709b580c91423f784fd1-7362c423c63e0a3f44a1739899d8d514.eln

Couldn't get much out of the assembly except of course %r12 was 0, hence
the seg:


  #0  0x00007fffd9227fcb in F7275737469632d666c79636865636b2d646972732d6c697374_rustic_flycheck_dirs_list_0 () from /home/alex/.emacs.d/eln-cache/28.0.50-x86_64-pc-linux-gnu-b23afb1178f44c0248e3e6e4adbf9f05/rustic-flycheck-bf9c74b8fb43709b580c91423f784fd1-7362c423c63e0a3f44a1739899d8d514.eln
  => 0x7fffd9227fcb <F7275737469632d666c79636865636b2d646972732d6c697374_rustic_flycheck_dirs_list_0+75>:	mov    -0x3(%r12),%rsi
     0x7fffd9227fd0 <F7275737469632d666c79636865636b2d646972732d6c697374_rustic_flycheck_dirs_list_0+80>:	mov    %rbp,%rdi
     0x7fffd9227fd3 <F7275737469632d666c79636865636b2d646972732d6c697374_rustic_flycheck_dirs_list_0+83>:	callq  *0x2158(%rax)
     0x7fffd9227fd9 <F7275737469632d666c79636865636b2d646972732d6c697374_rustic_flycheck_dirs_list_0+89>:	test   %rax,%rax
     0x7fffd9227fdc <F7275737469632d666c79636865636b2d646972732d6c697374_rustic_flycheck_dirs_list_0+92>:	jne    0x7fffd9228060 <F7275737469632d666c79636865636b2d646972732d6c697374_rustic_flycheck_dirs_list_0+224>
     0x7fffd9227fe2 <F7275737469632d666c79636865636b2d646972732d6c697374_rustic_flycheck_dirs_list_0+98>:	mov    0xf8(%r13),%rax
     0x7fffd9227fe9 <F7275737469632d666c79636865636b2d646972732d6c697374_rustic_flycheck_dirs_list_0+105>:	mov    %rbp,0x8(%rsp)
     0x7fffd9227fee <F7275737469632d666c79636865636b2d646972732d6c697374_rustic_flycheck_dirs_list_0+110>:	mov    %r14,%rsi
     0x7fffd9227ff1 <F7275737469632d666c79636865636b2d646972732d6c697374_rustic_flycheck_dirs_list_0+113>:	mov    $0x3,%edi
     0x7fffd9227ff6 <F7275737469632d666c79636865636b2d646972732d6c697374_rustic_flycheck_dirs_list_0+118>:	mov    %r15,0x10(%rsp)
  $1 = 0x0
  #1  0x00005555556f1dfb in Ffuncall (nargs=3, args=0x7fffffffbc50) at lisp.h:2091
  2091	  return &XUNTAG (a, Lisp_Vectorlike, union Aligned_Lisp_Subr)->s;
  => 0x5555556f1dfb <Ffuncall+651>:	jmpq   0x5555556f1ca9 <Ffuncall+313>
     0x5555556f1e00 <Ffuncall+656>:	lea    0xb8e61(%rip),%rdi        # 0x5555557aac68
     0x5555556f1e07 <Ffuncall+663>:	xor    %eax,%eax
     0x5555556f1df3 <Ffuncall+643>:	sub    $0x5,%edi
     0x5555556f1df6 <Ffuncall+646>:	callq  0x5555556f3100 <funcall_subr>
  => 0x5555556f1dfb <Ffuncall+651>:	jmpq   0x5555556f1ca9 <Ffuncall+313>
     0x5555556f1e00 <Ffuncall+656>:	lea    0xb8e61(%rip),%rdi        # 0x5555557aac68
     0x5555556f1e07 <Ffuncall+663>:	xor    %eax,%eax
     0x5555556f1e09 <Ffuncall+665>:	callq  0x55555559b8b3 <error>
     0x5555556f1e0e <Ffuncall+670>:	mov    %r14,%rsi
     0x5555556f1e11 <Ffuncall+673>:	mov    $0xf210,%edi
     0x5555556f1e16 <Ffuncall+678>:	callq  0x55555559b87c <xsignal1>
     0x5555556f1e1b:	nopl   0x0(%rax,%rax,1)

Anything I can do to give you better diagnostics?

-- 
Alex Bennée



             reply	other threads:[~2020-11-18 18:45 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-18 18:45 Alex Bennée [this message]
2020-11-18 19:53 ` segfault with native-comp and rustic-mode Andrea Corallo via Emacs development discussions.

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87tutmld08.fsf@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=akrl@sdf.org \
    --cc=emacs-devel@gnu.org \
    --cc=stefan@marxist.se \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).