bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#52376: 28.0.90; libdir is missing from native-comp-eln-load-path wit


From: Andrea Corallo
Subject: bug#52376: 28.0.90; libdir is missing from native-comp-eln-load-path with GTK3 build
Date: Fri, 10 Dec 2021 09:45:20 +0000
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Bhavin Gandhi <bhavin7392@gmail.com> writes:

> On Fri, 10 Dec 2021 at 01:44, Andrea Corallo <akrl@sdf.org> wrote:
>> >> I suggest to set a breakpoint at pdumper.c:5321 and print 'fndata' to
>> >> see where we do expect to find the installed eln we don't find.
>> >
>> > It did not reach that breakpoint, and Emacs just started as usual. Seems
>> > like the RELOC_NATIVE_COMP_UNIT case is not getting matched.
>>
>> Actually this is very bizarre.  A native compiled Emacs that has been
>> dumped has to go through there to startup so either:
>>
>> 1- we are debugging temacs and non emacs
>> 2- emacs was compiled with native compilation
>> 3- the breakpoint is not working as expected, maybe because it's an
>> optimized build.
>>
>> I guess most likely we are looking at case 3 here.  Could you try in
>> this case building pdumper.c (or all Emacs) with -O0 -g3?
>
> Emacs was indeed compiled with -O0 -g3, but to rule out that possibility,
> I compiled it again with these two flags. And still it is showing same
> behaviour, it goes ahead without stopping at the breakpoint.

Okay, that's very bizarre tho.

>> Just to be 100% sure, one mine src/pdumper.c. from emacs28 line 5321 is:
>>
>>            if (file_access_p (fndata, F_OK))
>
> In my case that line is at pdumper.c:5319

Maybe that was the reason?

> When I test the same breakpoint with the Lucid build I get the
> following, it is able to find the correct paths here.
>
> --8<---------------cut here---------------start------------->8---
> $ gdb  --args /usr/bin/emacs-28.0.90-lucid -Q
> Reading symbols from /usr/bin/emacs-28.0.90-lucid...
> Reading symbols from
> /usr/lib/debug/usr/bin/emacs-28.0.90-lucid-28.0.90-1.fc35.x86_64.debug...
> (gdb) break pdumper.c:5319
> Breakpoint 3 at 0x692487: file ../../src/pdumper.c, line 5319.
> (gdb) run
> Starting program: /usr/bin/emacs-28.0.90-lucid -Q
>
> Breakpoint 3, dump_do_dump_relocation (dump_base=140737265905664,
> reloc=...) at ../../src/pdumper.c:5319
> 5319            if (file_access_p (fndata, F_OK))
> (gdb) p *comp_u
> $3 = {
>   header = {
>     size = 4611686018830053383
>   },
>   file = XIL(0x7ffff3295623),
>   optimize_qualities = XIL(0x7ffff3295593),
>   lambda_gc_guard_h = XIL(0xe4d5f5),
>   lambda_c_name_idx_h = XIL(0x7ffff3292625),
>   data_fdoc_v = XIL(0),
>   data_vec = XIL(0x7ffff328dc4d),
>   data_impure_vec = XIL(0x7ffff2beb415),
>   data_imp_relocs = 0x0,
>   loaded_once = false,
>   load_ongoing = false,
>   handle = 0x0
> }
> (gdb) p comp_u->file
> $4 = XIL(0x7ffff3295623)
> (gdb) pr
> ("../lib64/emacs/28.0.90/native-lisp/28.0.90-be2fc0ab/preloaded/window-0d1b8b93-41a00537.eln"
> . "../native-lisp/28.0.90-be2fc0ab/preloaded/window-0d1b8b93-41a00537.eln")
> (gdb) p cu_file1
> $5 = XIL(0x7ffff3295654)
> (gdb) pr
> "../lib64/emacs/28.0.90/native-lisp/28.0.90-be2fc0ab/preloaded/window-0d1b8b93-41a00537.eln"
> (gdb) p cu_file2
> $6 = XIL(0x7ffff3295634)
> (gdb) pr
> "../native-lisp/28.0.90-be2fc0ab/preloaded/window-0d1b8b93-41a00537.eln"
>  --8<---------------cut here---------------end--------------->8---

Good, as mentioned could you 'fndata' now?

Thanks!

  Andrea





reply via email to

[Prev in Thread] Current Thread [Next in Thread]