emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

segfault with native-comp and rustic-mode


From: Alex Bennée
Subject: segfault with native-comp and rustic-mode
Date: Wed, 18 Nov 2020 18:45:59 +0000
User-agent: mu4e 1.5.7; emacs 28.0.50

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 via email to

[Prev in Thread] Current Thread [Next in Thread]