emacs-devel
[Top][All Lists]
Advanced

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

Re: [scratch/igc] 985247b6bee crash on Linux, KDE, Wayland


From: Eval EXEC
Subject: Re: [scratch/igc] 985247b6bee crash on Linux, KDE, Wayland
Date: Fri, 06 Sep 2024 21:14:16 +0800

Pip Cet <pipcet@protonmail.com> writes:

> "Eval EXEC" <execvy@gmail.com> writes:
>
>> Pip Cet <pipcet@protonmail.com> writes:
>>
>>> "Eval EXEC" <execvy@gmail.com> writes:
>>>
>>>>> Thanks, and sorry you're seeing so many crashes.  It's stable here, so
>>>>> we're going to need your help debugging this :-)
>>>>
>>>> Thanks for the update. No problem. I'm really happy to debug with you all.
>>>> 全世界 Emacs  用户联合起来, Make Emacs Great Again!
>>>
>>> That's great :-)
>>>
>>>>> Did you use any special options or patches when building mps (link time
>>>>> optimization or -O3, in particular)?
>>>>
>>>> No special options or patches
>>>
>>>>> This is the cons cell itself (the IGC header is what "cons" points to).
>>>>>
>>>>> Please also run
>>>>>
>>>>> (gdb) x/64gx 0x7f08addd0600
>>>> It's
>>>> (gdb) x/64gx 0x7f08addd0600
>>>> 0x7f08addd0600: 0x00007f08addd063b      0x00000003df45210d
>>>> 0x7f08addd0610: 0x0000000000000000      0x00007f08addd0653
>>>> 0x7f08addd0620: 0x00000003df45240d      0x0000000000012638
>>>
>>> We need to look up a few builtin symbols: 0x12638 is the first one,
>>> corresponding to symbol index 1345.
>>>
>>>> 0x7f08addd0630: 0x00007f08addd066b      0x00000003df44f80d
>>>> 0x7f08addd0640: 0x0000000000000000      0x00007f08addd0683
>>>> 0x7f08addd0650: 0x00000003df45220d      0x000000000000a5d0
>>>
>>> 0xa5d0 is the next one, and that's index 758.
>>>
>>>> 0x7f08addd0660: 0x00007f08addd069b      0x00000003df45250d
>>>> 0x7f08addd0670: 0x0000000000000038      0x00007f08addd06b3
>>>
>>> 0x38 is t.
>>>
>>>> 0x7f08addd0680: 0x00000003df44f90d      0x000000000000a5d0
>>>> 0x7f08addd0690: 0x00007f08addd06cb      0x00000003df45230d
>>>> 0x7f08addd06a0: 0x00007f08addd06e3      0x0000000000000000
>>>> 0x7f08addd06b0: 0x00000003df45260d      0x00007f0889546b70
>>>> 0x7f08addd06c0: 0x00007f08936d87d3      0x00000003df44fa0d
>>>> 0x7f08addd06d0: 0x00007f08936ceb33      0x0000000000000000
>>>> 0x7f08addd06e0: 0x00000003df44e70d      0x0000000000001538
>>>
>>> 0x1538 is the last one, and that's index 97.
>>>
>>> In gdb, can you run
>>>
>>> (gdb) print defsym_name[97]
>>> (gdb) print defsym_name[758]
>>> (gdb) print defsym_name[1345]
>>>
>>> to see which symbol corresponds to each index?
>>>
>>> Thanks!
>>>
>>> Pip
>> It's
>> (gdb) print defsym_name[97]
>> $9 = <optimized out>
>> (gdb) print defsym_name[758]
>> $10 = <optimized out>
>> (gdb) print defsym_name[1345]
>> $11 = <optimized out>
>
> Can you try what Eli suggested?
>
> (gdb) p 0xa5d0
> (gdb) xsymbol
> (gdb) p 0x1538
> (gdb) xsymbol
> (gdb) p 0x12638
> (gdb) xsymbol

(gdb) p 0xa5d0
$3 = 42448
(gdb) xsymbol
$4 = (struct Lisp_Symbol *) 0xd264b0 <lispsym+42448>
"font-lock-face"
(gdb) p 0x1538
$5 = 5432
(gdb) xsymbol
$6 = (struct Lisp_Symbol *) 0xd1d418 <lispsym+5432>
":foreground"
(gdb) p 0x12638
$7 = 75320
(gdb) xsymbol
$8 = (struct Lisp_Symbol *) 0xd2e518 <lispsym+75320>
"rear-nonsticky"


> If that also fails, can you find the globals.h that was generated when
> Emacs was built and find out which iQ... is 97, 758, and 1345?

It's
```
emacs on  scratch/igc via ❄️   impure (nix-shell)
❯ fd -I -H globals.h
src/globals.h
emacs on  scratch/igc via ❄️   impure (nix-shell)
❯ grep -C 1 "97\|758\|1345" -w src/globals.h
DEFINE_LISP_SYMBOL (QCfontset)
#define iQCforeground 97
DEFINE_LISP_SYMBOL (QCforeground)
--
DEFINE_LISP_SYMBOL (Qfont_extra_type)
#define iQfont_lock_face 758
DEFINE_LISP_SYMBOL (Qfont_lock_face)
--
DEFINE_LISP_SYMBOL (Qreally_fast)
#define iQrear_nonsticky 1345
DEFINE_LISP_SYMBOL (Qrear_nonsticky)
--
# define QCfontset builtin_lisp_symbol (96)
# define QCforeground builtin_lisp_symbol (97)
# define QCformat builtin_lisp_symbol (98)
--
# define Qfont_extra_type builtin_lisp_symbol (757)
# define Qfont_lock_face builtin_lisp_symbol (758)
# define Qfont_name builtin_lisp_symbol (759)
--
# define Qreally_fast builtin_lisp_symbol (1344)
# define Qrear_nonsticky builtin_lisp_symbol (1345)
# define Qrecord builtin_lisp_symbol (1346)
```




reply via email to

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