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
next 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).