Subject: Re: bug#45701: 28.0.50; [feature/native-comp] (33b8ce8) `M-x report-emacs-bug` error: "Wrong type argument: stringp, nil"

From: Justin Schell <[email-masked]>
Date: Mon, 8 Feb 2021 12:57:13 -0800

Also, here are backtraces from the first two times that the
`wrong_type_argument` breakpoint was hit during startup:
```
Thread 2 hit Breakpoint 2, wrong_type_argument (predicate=XIL(0xd9),
value=make_fixnum(35183774783506)) at data.c:143
143   xsignal2 (Qwrong_type_argument, predicate, value);
(gdb) bt
#0  wrong_type_argument (predicate=XIL(0xd9),
value=make_fixnum(35183774783506)) at data.c:143
#1  0x0000000100222b2e in dump_discard_mem (mem=0x145bcca3d,
size=5464967736) at pdumper.c:4650
#2  0x00007ffeefbfed20 in ?? ()
#3  0x0000000145bfd225 in ?? ()
#4  0x00007ffeefbfed10 in ?? ()
#5  0x000000010021f5a9 in HASH_VALUE (h=0x145bcca3d, idx=5464967736)
at ./lisp.h:2380
#6  0x0000000145bcca38 in ?? ()
#7  0x0000000145bcca3d in ?? ()
#8  0x00007ffeefbfed40 in ?? ()
#9  0x000000010021a271 in thaw_hash_tables () at pdumper.c:5671
Backtrace stopped: frame did not save the PC
(gdb) c
Continuing.

Thread 2 hit Breakpoint 2, wrong_type_argument (predicate=XIL(0x447),
value=XIL(0x145bcca38)) at data.c:143
143   xsignal2 (Qwrong_type_argument, predicate, value);
(gdb) bt
#0  wrong_type_argument (predicate=XIL(0x447), value=XIL(0x145bcca38))
at data.c:143
#1  0x0000000100222b2e in dump_discard_mem (mem=0x145b7e085,
size=5464645760) at pdumper.c:4650
#2  0xfffffffffffffffe in ?? ()
#3  0x0000000145bfd225 in ?? ()
#4  0x00007ffeefbfed10 in ?? ()
#5  0x000000010021f5a9 in HASH_VALUE (h=0x145b7e085, idx=5464645760)
at ./lisp.h:2380
#6  0x0000000145b7e080 in ?? ()
#7  0x0000000145b7e085 in ?? ()
#8  0x00007ffeefbfed40 in ?? ()
#9  0x000000010021a271 in thaw_hash_tables () at pdumper.c:5671
Backtrace stopped: frame did not save the PC
```

On Mon, Feb 8, 2021 at 12:49 PM Justin Schell <[email-masked]> wrote:
>
> > I think the idea would be ~ to:
> >
> > - compile with debug symbols
> >
> > - start gdb loading emacs
> >
> > - source .gdbinit
> >
> > - add a breakpoint in 'wrong_type_argument'
> >
> > - run Emacs and let the error happen
> >
> > - At this point gdb should take control and you should be able to type
> >   'bt' to obtain and report the backtrace
>
> Hi Andrea,
>
> So, I was able to build emacs with debug symbols and run via gdb as
> directed above, but unfortunately, gdb doesn't hit the breakpoint when
> I run `M-x report-emacs-bug`. gdb does break quite a few times (770
> times, to be exact) on `wrong_type_argument` during startup, though. I
> looked at the emacs source a bit to try to put a breakpoint somewhere
> that would be more fruitful, but I didn't really see where I would do
> so.
>
> I did a screen capture of my reproducing the issue on this thread.
> Perhaps you could take a look and would have an idea for what I might
> be doing wrong or what to try next. See
> https://github.com/schellj/emacs-native-comp-debug/blob/wrong-type-argument/emacs-native-comp-wrong-type-argument.mov
>
> Thanks,
> Justin