fejfighter / emacs

Mirror of GNU Emacs
http://www.gnu.org/software/emacs/
GNU General Public License v3.0
32 stars 2 forks source link

[feature/newgc] Build fails #4

Open kamoii opened 2 years ago

kamoii commented 2 years ago

Thanks for working on feature/newgc! When I try to build it to test it, it fails. You may be already aware of this, but I'm creating an issue just in case.

configure flags:

./configure --prefix=$HOME/emacs.newgc.$(date +'%Y%m%d') --with-modules

compile error log:

Loading /home/.../emacs/lisp/files.el (source)...
Loading /home/.../emacs/lisp/emacs-lisp/macroexp.el (source)...
Loading /home/.../emacs/lisp/emacs-lisp/pcase.el (source)...
Loading /home/.../emacs/lisp/emacs-lisp/macroexp.el (source)...
Loading /home/.../emacs/lisp/cus-face.el (source)...
Eager macro-expansion failure: (void-variable x301)
Eager macro-expansion failure: (void-variable x301)
Eager macro-expansion failure: (void-variable x301)
Eager macro-expansion failure: (void-variable x301)
Eager macro-expansion failure: (void-variable x301)
Eager macro-expansion failure: (void-variable x301)
Eager macro-expansion failure: (void-variable x301)
Eager macro-expansion failure: (void-variable x301)
Eager macro-expansion failure: (void-variable x301)
Eager macro-expansion failure: (void-variable x301)
Loading /home/.../emacs/lisp/faces.el (source)...
Eager macro-expansion failure: (void-variable x301)
Eager macro-expansion failure: (void-variable x301)
Eager macro-expansion failure: (void-variable x301)
Eager macro-expansion failure: (void-variable x301)

... same error for about 5000lines

Eager macro-expansion failure: (void-variable x301)
Eager macro-expansion failure: (void-variable x301)
Eager macro-expansion failure: (invalid-function pcase--expand)
Eager macro-expansion failure: (invalid-function pcase--expand)
Invalid function: pcase--expand
make[1]: *** [Makefile:908: bootstrap-emacs.pdmp] Error 255
make[1]: Leaving directory '/home/.../emacs/src'
make: *** [Makefile:456: src] Error 2
fejfighter commented 2 years ago

Thanks for the interest.

Yeah I'm definitely aware, I have green treating GitHub as a backup service when I make some progress, which is unfortunately very slow at times.

What is interesting is that is a very different trace to what I have ever seen.

I've not noticed linker issues during development, and certainly none of the other messages inside the lisp compilation phase.

Is that the full configure command line? What is your environment? I'm on fedora 35 with whatever the latest gcc is there.

If there's nothing obvious. I might ask you to take a trace using rr though I'm not sure of the portability there.

kamoii commented 2 years ago

@fejfighter Thanks for your reply.

Is that the full configure command line?

Yes.

What is your environment? I'm on fedora 35 with whatever the latest gcc is there.

Arch Linux with gcc version 11.1.0

$ uname -rvo
5.15.5-arch1-1 #1 SMP PREEMPT Thu, 25 Nov 2021 22:09:33 +0000 GNU/Linux
$ gcc --version
gcc (GCC) 11.1.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

If there's nothing obvious. I might ask you to take a trace using rr though I'm not sure of the portability there.

I'll look into it when I have time.

fejfighter commented 2 years ago

Ok thanks,

I have a newer gcc (11.2.1) and an older kernel (5.14.16) so nothing that different .

I had a quick look this morning

rr record ./src/temacs --batch  -l loadup --temacs=pbootstrap 
rr pack 

then archive the directory it lists and that should be enough for me to inspect.

No rush to do so, as I am not sure when I will get much time to dig into it

fejfighter commented 2 years ago

@kamoii I think I have managed to get the same result, I have some temp work-arounds in place to always complete a major gc for now as minor-gc does not scan correctly, and results in the error you are getting

kamoii commented 2 years ago

@fejfighter Thanks for that!

I've been doing a bit of research on my end with gdb, recording with rr today. I'm new to low-level debugging, but I'll report back if I find anything.

image

fejfighter commented 2 years ago

make sure you source ./src/.gdbinit

It sets a few variables (including allowing emacs to handle sigsegv itself) and prints out variables better (you can pp Lisp_Object and get a representation of what the object is pointing to

edit: if your really struggling and want to get a little better at gdb cli https://www.youtube.com/watch?v=PorfLSr3DDI and https://www.youtube.com/watch?v=-n9Fkq1e6sg are greate

even better: http://notes.secretsauce.net/notes/2017/02/24_interfacing-rr-to-gdb-in-gnu-emacs.html

On Fri, Dec 10, 2021 at 11:09 PM kamoii @.***> wrote:

@fejfighter https://github.com/fejfighter Thanks for that!

I've been doing a bit of research on my end with gdb, recording with rr today. I'm new to low-level debugging, but I'll report back if I find anything.

[image: image] https://user-images.githubusercontent.com/52167401/145572017-50aaa680-b4e1-499a-be74-60da92e9d4c2.png

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/fejfighter/emacs/issues/4#issuecomment-990919231, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAE4EAJKI527RUX6ABJGGR3UQHUXJANCNFSM5JOSGPUA .

kamoii commented 2 years ago

@fejfighter Thank you very much! I'll take a look.