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

From: Jim Myhrberg <[email-masked]>
Date: Wed, 10 Feb 2021 03:18:43 +0000

The TL;DR for the patch; It is essentially a horrible and hacky first
draft I threw together to set the LIBRARY_PATH environment variable to
point at the GCC directories that my build script copies into the
macOS "Emacs.app" bundle to make it fully self-contained. The
LIBRARY_PATH environment variable needs to be set to point at the
"embedded" GCC directories before any native compilation starts, which
is currently done through the horrible advice-add/remove stuff.

Justin, I've not had any reports of similar issues to yours, but I
have just managed to reproduce the error by breaking my Emacs.app
bundle in a very specific way. What folders do you have under
"Emacs.app/Contents/MacOS/lib/gcc" in your app bundle? There's
supposed to be a folder called "10". I reproduced the issue by
renaming my "10" folder so it no longer matches regexp "^[0-9]+$". If
you have something else, it's time to debug how that happened and
where my build script went wrong.

Either way this seems to fall pretty much into my area, so I've
created a GitHub issue to track improvements to the patch, and I'm
happy to continue discussions there:
https://github.com/jimeh/build-emacs-for-macos/issues/29

Andrea, I've actually been meaning to ask you for months if you might
be able suggest a better approach for the patch, and I'd greatly
appreciate any time you can spare :)

And finally, I'm sorry for all the headache which was most likely
caused by my hacky patch :(

On Tue, Feb 9, 2021 at 9:34 PM Justin Schell <[email-masked]> wrote:
>
> > > Thread 2 hit Breakpoint 2, wrong_type_argument (predicate=XIL(0x9),
> > > value=XIL(0x145813f50)) at data.c:143
> > > 143   xsignal2 (Qwrong_type_argument, predicate, value);
> > > (gdb) bt
> > > #0  wrong_type_argument (predicate=XIL(0x9), value=XIL(0x145813f50))
> > > at data.c:143
> > > #1  0x0000000100222b2e in dump_discard_mem (mem=0x14581345d,
> > > size=5461062744) at pdumper.c:4650
> > > #2  0xfffffffffffffffe in ?? ()
> > > #3  0x00000001463fd225 in ?? ()
> > > #4  0x00007ffeefbfed10 in ?? ()
> > > #5  0x000000010021f5a9 in HASH_VALUE (h=0x14581345d, idx=5461062744)
> > > at ./lisp.h:2380
> > > #6  0x0000000145813458 in ?? ()
> > > #7  0x000000014581345d 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.
> > > [New Thread 0x1c03 of process 49252]
> > > [New Thread 0x1d03 of process 49252]
> > > [New Thread 0x1e03 of process 49252]
> > > [New Thread 0x1f03 of process 49252]
> > > [New Thread 0x2003 of process 49252]
> > > [New Thread 0x252b of process 49252]
> > >
> > > Thread 2 hit Breakpoint 2, 0x00000001003cb6a0 in ?? ()
> > > (gdb) bt
> > > #0  0x00000001003cb6a0 in ?? ()
> > > #1  0x00000001001ba3cd in Ffind_file_name_handler (filename=XIL(0),
> > > operation=make_fixnum(18049580734087168))
> > >     at fileio.c:304
> > > #2  0x01007ffe00000002 in ?? ()
> > > #3  0x0000000000000000 in ?? ()
> > > [New Thread 0x2657 of process 49252]
> > >
> > > Lisp Backtrace:
> > > "native-compile-setup-environment-variables" (0xefbfa558)
> >
> > Okay this is odd, in feature/native-comp we don't have a function called
> > `native-compile-setup-environment-variables' so I guess this is coming
> > from somewhere else, look like the problem is there.
> >
> > Do you know where this function is coming from?
>
> Yeah, looks like it's patched in by build-emacs-for-macos:
> https://github.com/jimeh/build-emacs-for-macos/blob/master/patches/native-comp-env-setup.patch#L10
>
> Jim, if you're still following this thread, would you be able to take a look?
>
> Justin