unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
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.)





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