Subject: bug#78110: 31.0.50; Segfault in XFindContext

From: Visuwesh <[email-masked]>
Date: Wed, 03 Sep 2025 22:15:19 +0530

Po Lu, any chance you could take a look at this now?  I still have the core file, and neither Emacs nor the linked libraries have been updated.  (I would like to reinstall the system at some point.)

On 7 June 2025 13:48:17 GMT+05:30, Eli Zaretskii <[email-masked]> wrote:
>Ping! Ping! Ping!  Po Lu, please respond.
>
>> Cc: [email-masked], [email-masked]
>> Date: Sat, 24 May 2025 11:54:11 +0300
>> From: Eli Zaretskii <[email-masked]>
>> 
>> Ping! Ping!
>> 
>> > Cc: [email-masked], [email-masked]
>> > Date: Sat, 10 May 2025 12:50:20 +0300
>> > From: Eli Zaretskii <[email-masked]>
>> > 
>> > Ping!  Po Lu, could you please chime in?
>> > 
>> > > Cc: [email-masked]
>> > > Date: Mon, 28 Apr 2025 15:50:25 +0300
>> > > From: Eli Zaretskii <[email-masked]>
>> > > 
>> > > > From: Visuwesh <[email-masked]>
>> > > > Date: Mon, 28 Apr 2025 16:30:08 +0530
>> > > > 
>> > > > I am not sure how I managed to trigger this segfault since I was trying
>> > > > to copy some text to the kill-ring so it shouldn't have triggered the
>> > > > popup menu but...here we are.  The vz/ispell-at-click command presents a
>> > > > popup menu of suggestions for the misspelt word:
>> > > > 
>> > > >     (defun vz/ispell-at-click (click)
>> > > >       "Check the spelling of the word at mouse click CLICK."
>> > > >       (interactive "@e")
>> > > >       (save-excursion
>> > > >         (mouse-set-point click)
>> > > >         (ispell-set-spellchecker-params) ; Initialize variables and dicts alists
>> > > >         (ispell-accept-buffer-local-defs)   ; use the correct dictionary.
>> > > >         (pcase-let* ((`(,word ,beg ,end) (ispell-get-word ispell-following-word))
>> > > >                      (poss (ispell--run-on-word word)))
>> > > >           (if (or (eq poss t) (stringp poss))
>> > > >               (message "%s is correct" (funcall ispell-format-word-function word))
>> > > >             (let ((corr (x-popup-menu
>> > > >                          click
>> > > >                          (list (concat "Correction for "
>> > > >                                        (funcall ispell-format-word-function word))
>> > > >                                (cons ""
>> > > >                                      (mapcar (lambda (x) (cons x x))
>> > > >                                              (nth 2 poss)))))))
>> > > >               (replace-region-contents beg end corr))))))
>> > > > 
>> > > > The build details in the bug report is the same as that for the
>> > > > segfaulted Emacs.  I generated the core file for the crashed Emacs so
>> > > > hopefully I can provide more value out of the backtrace this time
>> > > > around.  For posterity, I am using Xfce.
>> > > > 
>> > > > (gdb) bt
>> > > > #0  0x00007ffff78d9474 in XFindContext () at /lib/x86_64-linux-gnu/libX11.so.6
>> > > > #1  0x00007ffff7bb29da in _XmRCColorHook () at /lib/x86_64-linux-gnu/libXm.so.4
>> > > > #2  0x00007ffff7d645e3 in ??? () at /lib/x86_64-linux-gnu/libXt.so.6
>> > > > #3  0x00007ffff7d6508d in ??? () at /lib/x86_64-linux-gnu/libXt.so.6
>> > > > #4  0x00007ffff7d654a0 in _XtCreateWidget () at /lib/x86_64-linux-gnu/libXt.so.6
>> > > > #5  0x00007ffff7d6574a in XtCreateWidget () at /lib/x86_64-linux-gnu/libXt.so.6
>> > > > #6  0x00007ffff7af8e6b in ??? () at /lib/x86_64-linux-gnu/libXm.so.4
>> > > > #7  0x00007ffff7afbd32 in XmCreatePopupMenu () at /lib/x86_64-linux-gnu/libXm.so.4
>> > > > #8  0x00005555557e3077 in make_popup_menu (instance=<optimized out>) at lwlib-Xm.c:1521
>> > > 
>> > > Po Lu, any ideas?
>> > > 
>> > > 
>> > > 
>> > > 
>> > 
>> > 
>> > 
>> > 
>> 
>> 
>> 
>>