Subject: Re: bug#12911: 24.3.50; let users decide where (& perhaps whether) `emacs_backtrace.txt'files are written

From: Eli Zaretskii <[email-masked]>
Date: Tue, 20 Nov 2012 21:41:34 +0200

> Date: Tue, 20 Nov 2012 20:15:10 +0100
> From: Dani Moncayo <[email-masked]>
> Cc: Drew Adams <[email-masked]>, [email-masked], [email-masked], 
> 	[email-masked]
> 
> > Dani, where can I find the binary which fits this:
> 
> (I've caught this by chance - I was not in the "to" or the "cc")

??? Of course you were in "To", take another look.

> You can get the binary from
> https://www.dropbox.com/sh/7jr3vbv9tm1zod0/jPuvfrJAe8

Thanks.

> > Or maybe you (Dani) can run addr2line on that binary and tell what you
> > get from Drew's backtraces.
> 
> I'm never done that, but I've tried it:
>    addr2line -e emacs.exe < bt-in.txt > bt-out.txt
> 
> where the "emacs.exe" is the one from the build used by Drew. I'm
> attaching both files.

Thanks.

Drew, you really should report these, and try cooperating in the
resolution of these problems.  There are at least 2 crashes here that
I never saw.

> c:\emacs\trunk\src/w32fns.c:7717
> c:\emacs\trunk\src/w32fns.c:7749
> c:\emacs\trunk\src/emacs.c:345
> c:\emacs\trunk\src/alloc.c:6440
> c:\emacs\trunk\src/xdisp.c:13540

This is assertion violation in redisplay_internal, here:

      eassert (EQ (XFRAME (selected_frame)->selected_window,
                   selected_window));

This crash is probably of the kind you reported in the past, related
to the selected-frame/selected-window issues.

> c:\emacs\trunk\src/w32fns.c:7717
> c:\emacs\trunk\src/w32fns.c:7749
> c:\emacs\trunk\src/emacs.c:345
> c:\emacs\trunk\src/alloc.c:6440
> c:\emacs\trunk\src/fileio.c:5380

This is a crash in auto-save, which I never saw before:

  for (do_handled_files = 0; do_handled_files < 2; do_handled_files++)
    for (tail = Vbuffer_alist; CONSP (tail); tail = XCDR (tail))
      {
        buf = XCDR (XCAR (tail));
        b = XBUFFER (buf);    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

> c:\emacs\trunk\src/w32fns.c:7717
> c:\emacs\trunk\src/w32fns.c:7749
> c:\emacs\trunk\src/emacs.c:345
> c:\emacs\trunk\src/alloc.c:6440
> c:\emacs\trunk\src/dispnew.c:1257

Another assertion violation in redisplay:

static bool
row_equal_p (struct glyph_row *a, struct glyph_row *b, bool mouse_face_p)
{
  eassert (verify_row_hash (a));
  eassert (verify_row_hash (b));  <<<<<<<<<<<<<<<<<<<<<<<<<<<<<

> c:\emacs\trunk\src/w32fns.c:7717
> c:\emacs\trunk\src/w32fns.c:7749
> c:\emacs\trunk\src/emacs.c:345
> c:\emacs\trunk\src/alloc.c:6440
> c:\emacs\trunk\src/fontset.c:1999

This crash is in fontset-info:

              /* Then store opened font names to cdr of each elements.  */
              for (i = 0; ! NILP (realized[k][i]); i++)
                {
                  if (c <= MAX_5_BYTE_CHAR)
                    val = FONTSET_REF (realized[k][i], c);
                  else
                    val = FONTSET_FALLBACK (realized[k][i]);
                  if (! CONSP (val) || ! VECTORP (XCDR (val)))
                    continue;
                  /* VAL: (int . [[FACE-ID FONT-DEF FONT-OBJECT int] ... ])  */
                  val = XCDR (val);
                  for (j = 0; j < ASIZE (val); j++)
                    {
                      elt = AREF (val, j);
                      if (FONT_OBJECT_P (RFONT_DEF_OBJECT (elt)))  <<<<<<<<<

I don't think I've ever heard about such crashes.