From: Gemini Lasswell <gazally@runbox.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 33014@debbugs.gnu.org
Subject: bug#33014: 26.1.50; 27.0.50; Fatal error after re-evaluating a thread's function
Date: Sun, 14 Oct 2018 12:29:42 -0700 [thread overview]
Message-ID: <87r2gscont.fsf@runbox.com> (raw)
In-Reply-To: <8336t9vi3h.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 13 Oct 2018 21:04:18 +0300")
Eli Zaretskii <eliz@gnu.org> writes:
> How do we know there's a reference to that vector on thread 7's stack?
> Could it be that there is no reference at all?
Yes it could be that the reference is getting optimized out. I asked
gdb for more detail on the stack frames for exec_byte_code and
funcall_lambda, and the arguments referring to the byte-code object and
its components do appear to be optimized out, see below. I also tried
adding 'volatile' to the declaration of the local variable 'fun' in
Ffuncall, and that made the bug go away.
Is there anything else I should be looking at before concluding that
this is the problem? And if it is, what is the best way to fix it?
lisp.h:2241: Emacs fatal error: assertion failed: HASH_TABLE_P (a)
[Switching to Thread 0x7f6eca4b9700 (LWP 17729)]
Thread 7 "builder 0" hit Breakpoint 1, terminate_due_to_signal (sig=sig@entry=6,
backtrace_limit=backtrace_limit@entry=2147483647) at emacs.c:369
369 {
(gdb) bt
#0 terminate_due_to_signal (sig=sig@entry=6,
backtrace_limit=backtrace_limit@entry=2147483647) at emacs.c:369
#1 0x00000000005a7159 in die (msg=msg@entry=0x67b132 "HASH_TABLE_P (a)",
file=file@entry=0x678c85 "lisp.h", line=line@entry=2241) at alloc.c:7094
#2 0x0000000000614685 in XHASH_TABLE (a=...) at lisp.h:2241
#3 exec_byte_code (bytestr=..., vector=..., maxdepth=..., args_template=...,
nargs=nargs@entry=0, args=<optimized out>,
args@entry=0x16eac38 <bss_sbrk_buffer+9926040>) at bytecode.c:1403
#4 0x00000000005cdd32 in funcall_lambda (fun=XIL(0x7f6eca4b8470),
nargs=nargs@entry=0, arg_vector=0x16eac38 <bss_sbrk_buffer+9926040>,
arg_vector@entry=0x1574c58 <bss_sbrk_buffer+8394168>) at eval.c:3057
#5 0x00000000005ca54b in Ffuncall (nargs=nargs@entry=1,
args=args@entry=0x1574c50 <bss_sbrk_buffer+8394160>) at eval.c:2870
#6 0x000000000064680b in invoke_thread_function () at thread.c:684
#7 0x00000000005c964f in internal_condition_case (
bfun=bfun@entry=0x6467d0 <invoke_thread_function>, handlers=...,
handlers@entry=XIL(0xc3c0), hfun=hfun@entry=0x6466f0 <record_thread_error>)
at eval.c:1373
#8 0x00000000006471a1 in run_thread (state=0x1574c30 <bss_sbrk_buffer+8394128>)
at thread.c:723
#9 0x00007f6eea5cb5a7 in start_thread ()
from /nix/store/fg4yq8i8wd08xg3fy58l6q73cjy8hjr2-glibc-2.27/lib/libpthread.so.0
#10 0x00007f6ee9c6622f in clone ()
from /nix/store/fg4yq8i8wd08xg3fy58l6q73cjy8hjr2-glibc-2.27/lib/libc.so.6
(gdb) set print frame-arguments all
(gdb) info frame 3
Stack frame at 0x7f6eca4b87d0:
rip = 0x614685 in exec_byte_code (bytecode.c:1403); saved rip = 0x5cdd32
called by frame at 0x7f6eca4b87d0, caller of frame at 0x7f6eca4b87d0
source language c.
Arglist at 0x7f6eca4b87c0, args: bytestr=<optimized out>,
vector=<optimized out>, maxdepth=<optimized out>,
args_template=<optimized out>, nargs=nargs@entry=0, args=<optimized out>,
args@entry=0x16eac38 <bss_sbrk_buffer+9926040>
Locals at 0x7f6eca4b87c0, Previous frame's sp is 0x7f6eca4b87c8
Saved registers:
rbx at 0x7f6eca4b8798, rbp at 0x7f6eca4b87c0, r12 at 0x7f6eca4b87a0,
r13 at 0x7f6eca4b87a8, r14 at 0x7f6eca4b87b0, r15 at 0x7f6eca4b87b8
(gdb) info frame 4
Stack frame at 0x7f6eca4b87d0:
rip = 0x5cdd32 in funcall_lambda (eval.c:3057); saved rip = 0x64680b
tail call frame, caller of frame at 0x7f6eca4b87d0
source language c.
Arglist at unknown address.
Locals at unknown address, Previous frame's sp is 0x7f6eca4b87d0
next prev parent reply other threads:[~2018-10-14 19:29 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-11 5:30 bug#33014: 26.1.50; 27.0.50; Fatal error after re-evaluating a thread's function Gemini Lasswell
2018-10-12 8:12 ` Eli Zaretskii
2018-10-12 20:02 ` Gemini Lasswell
2018-10-13 6:23 ` Eli Zaretskii
2018-10-13 17:17 ` Gemini Lasswell
2018-10-13 18:04 ` Eli Zaretskii
2018-10-14 19:29 ` Gemini Lasswell [this message]
2018-10-15 2:37 ` Eli Zaretskii
2018-10-14 19:46 ` Andreas Schwab
2018-10-15 14:59 ` Eli Zaretskii
2018-10-15 16:22 ` Gemini Lasswell
2018-10-15 16:41 ` Eli Zaretskii
2018-10-16 18:46 ` Gemini Lasswell
2018-10-16 19:25 ` Eli Zaretskii
2018-10-16 19:38 ` Eli Zaretskii
2018-10-19 0:22 ` Gemini Lasswell
2018-10-19 8:44 ` Eli Zaretskii
2018-10-19 20:05 ` Gemini Lasswell
2018-10-20 6:41 ` Eli Zaretskii
2018-10-20 8:23 ` Andreas Schwab
2018-10-20 10:20 ` Eli Zaretskii
2018-10-20 11:30 ` Andreas Schwab
2018-10-29 18:24 ` Gemini Lasswell
2018-10-29 19:41 ` Eli Zaretskii
2018-10-19 19:32 ` Gemini Lasswell
2018-10-17 16:21 ` Eli Zaretskii
2018-10-18 1:07 ` Gemini Lasswell
2018-10-18 17:04 ` Eli Zaretskii
2018-10-19 0:39 ` Gemini Lasswell
2018-10-19 8:38 ` Eli Zaretskii
2018-10-29 18:56 ` Stefan Monnier
2018-10-31 4:49 ` Paul Eggert
2018-10-31 15:33 ` Eli Zaretskii
2018-11-01 23:15 ` Gemini Lasswell
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87r2gscont.fsf@runbox.com \
--to=gazally@runbox.com \
--cc=33014@debbugs.gnu.org \
--cc=eliz@gnu.org \
/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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.