From: "Gerd Möllmann" <gerd.moellmann@gmail.com>
To: Sam Steingold <sds@gnu.org>
Cc: 57751@debbugs.gnu.org
Subject: bug#57751: 29.0.50; crash in GC
Date: Wed, 14 Sep 2022 07:46:00 +0200 [thread overview]
Message-ID: <m2r10ev78n.fsf@Mini.fritz.box> (raw)
In-Reply-To: <lz35cvcopr.fsf@3c22fb11fdab.ant.amazon.com> (Sam Steingold's message of "Tue, 13 Sep 2022 10:51:12 -0400")
Sam Steingold <sds@gnu.org> writes:
>> (If you use it for building Emacs, you'll need to "brew install bear",
>> or remove the call to bear in the script. Also, you might want to use
>> --elc if you don't use native compilatin.)
>
> I think native compilation is disabled on mac by default.
That's correct. I was mentioning --elc only because make-emacs defaults
to configuring --with-native-compilation, because I'm using that 99% of
the time.
> I build my normal Emacs out of the tree, so the source tree is already
> clean, thus I just did
>
> ./autogen.sh
> ./configure LDFLAGS="-fsanitize=address -fno-omit-frame-pointer"
> CFLAGS="-g -O0 -fsanitize=address -fno-omit-frame-pointer"
Looks good.
> and `make' which printed, inter alia,
> ld: warning: dylib
> (/usr/local/Cellar/little-cms2/2.13.1_1/lib/liblcms2.dylib) was
> built for newer macOS version (12.0) than being linked (11.1)
AFAIK these warnings are annoying but harmless.
> 2022-09-13 10:48:30.934108-0400 emacs[18589:5791720] SecTaskCopyDebugDescription: emacs[18589]/0#-1 LF=0
> Process 18589 stopped
> * thread #1, queue = 'com.apple.main-thread', stop reason =
> EXC_BAD_ACCESS (code=1, address=0x7ff8c11d6f70)
That's not so good. It means the address sanitizer couldn't catch
anything before Emacs crashed.
I'm afraid now it's going to get tedious, without some divine
inspiration.
> frame #0: 0x00000001006dc4e5 emacs`symbol_marked_p(s=0x00007ff8c11d6f70) at alloc.c:4020:14
> 4017 {
> 4018 return pdumper_object_p (s)
> 4019 ? pdumper_marked_p (s)
> -> 4020 : s->u.s.gcmarkbit;
> 4021 }
> 4022
> 4023 static void
> Target 0: (emacs) stopped.
Hm, it's a fake Lisp symbol this time. Last time it was a fake float.
Which fits the hypothesis of something writing "randomly" to the heap.
Or it could be uninitialized memory, maybe.
> (lldb) bt
> * thread #1, queue = 'com.apple.main-thread', stop reason =
> EXC_BAD_ACCESS (code=1, address=0x7ff8c11d6f70)
> * frame #0: 0x00000001006dc4e5 emacs`symbol_marked_p(s=0x00007ff8c11d6f70) at alloc.c:4020:14
> frame #1: 0x00000001006db869 emacs`process_mark_stack(base_sp=0) at alloc.c:6943:10
> frame #2: 0x00000001006d9a79 emacs`mark_object(obj=0x00007ff7bfee99d0) at alloc.c:7035:3
> frame #3: 0x000000010052bf20 emacs`mark_kboards at
> keyboard.c:13266:4
Last time there was also a mark_kboards on the stack. I wonder if
that tells us something.
> what do I do next?
Good question ;-).
Could you please check the following:
- Does it also crash when you run emacs on a terminal (-nw)? If not, it
could be a hint that the cuöprit is in the NS GUI code.
- Could you please see if it crashes consistently in different runs?
What I mean is that is crashes in the same function with the same
backtrace and the same pointer value of the symbol in frame#0? I
guess I would quit LLDB between between runs, for no good reason
:-), just to make sure it's reproducible that way.
- I think you mentioned that the crashes started not so long ago? Do
you perhaps know a commit which is still "good"? Or maybe a time,
like 4 weeks ago, or so? We would need a good commit for git bisect
anyway.
> Would you like to get on the phone to drive my fingers? ;-)
Hehe, that could only be helpful if I knew what I'm doing :-).
(If I'm trying the be too "helpful", please just tekk ne. I Know that
I'm sometimes doing that. No problem.)
next prev parent reply other threads:[~2022-09-14 5:46 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-12 14:37 bug#57751: 29.0.50; crash in GC Sam Steingold
2022-09-13 5:20 ` Gerd Möllmann
2022-09-13 14:51 ` Sam Steingold
2022-09-14 5:46 ` Gerd Möllmann [this message]
2022-09-14 18:36 ` Sam Steingold
2022-09-15 5:28 ` Gerd Möllmann
2022-09-15 8:42 ` Gerd Möllmann
2022-09-15 8:48 ` Gerd Möllmann
2022-09-15 10:01 ` Gerd Möllmann
2022-09-15 12:10 ` Eli Zaretskii
2022-09-15 15:12 ` Gerd Möllmann
2022-09-15 16:48 ` Sam Steingold
2022-09-15 22:25 ` Gregory Heytings
2022-09-15 22:41 ` Sam Steingold
2022-09-15 22:42 ` Sam Steingold
2022-09-15 23:17 ` Gregory Heytings
2022-09-16 5:40 ` Gerd Möllmann
2022-09-19 16:26 ` Sam Steingold
2022-09-20 4:32 ` Gerd Möllmann
2022-09-15 9:23 ` Eli Zaretskii
2022-09-15 9:37 ` Gerd Möllmann
2022-09-15 16:45 ` Sam Steingold
2022-09-15 16:35 ` Sam Steingold
2022-09-14 11:30 ` Gerd Möllmann
2022-09-14 11:32 ` Gerd Möllmann
2022-09-14 18:20 ` Sam Steingold
2022-09-15 4:49 ` Gerd Möllmann
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=m2r10ev78n.fsf@Mini.fritz.box \
--to=gerd.moellmann@gmail.com \
--cc=57751@debbugs.gnu.org \
--cc=sds@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 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).