GNU bug report logs - #78473
30.1; feature/igc: multiple crashes with pgtk_handle_selection_*

Previous Next

Package: emacs;

Reported by: Oliver Reiter <oliver.reiter <at> snapdragon.cc>

Date: Sat, 17 May 2025 20:44:02 UTC

Severity: normal

Found in version 30.1

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Full log


View this message in rfc822 format

From: Pip Cet <pipcet <at> protonmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: Po Lu <luangruo <at> yahoo.com>, Paul Eggert <eggert <at> cs.ucla.edu>, oliver.reiter <at> snapdragon.cc, 78473 <at> debbugs.gnu.org
Subject: bug#78473: 30.1; feature/igc: multiple crashes with pgtk_handle_selection_*
Date: Tue, 20 May 2025 16:20:51 +0000
"Eli Zaretskii" <eliz <at> gnu.org> writes:

>> Date: Sun, 18 May 2025 11:20:00 +0000
>> From: Pip Cet <pipcet <at> protonmail.com>
>> Cc: 78473 <at> debbugs.gnu.org, oliver.reiter <at> snapdragon.cc
>>
>> "Eli Zaretskii" <eliz <at> gnu.org> writes:
>>
>> >> This pointer has been truncated to 32 bits; it should be 0x555555dee7e0.
>> >> That's consistent with the gcc bug above (and
>> >> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119085, which has been
>> >> correctly marked as a duplicate).
>> >
>> > Is there any way we could change our code to avoid bumping into this
>> > problem?
>>
>> I thought we had, to be honest.  Let's confirm this is 117423 first,
>> then we can figure out how to work around that.
>
> OK.

Thanks for confirming this, Oliver.  I've added Paul Eggert and Po Lu to
CC.

>> > One way is to force the use of -fno-tree-sra (for the affected
>> > versions of GCC, if we can identify them), but is there maybe a less
>> > blunt instrument?
>>
>> That'd be great, but I don't know how to do it.
>
> If worse comes to worst, we could use "#pragma GCC optimize" around
> the affected code, I guess?

Would that be feasible here?

>> >> > Configured using:
>> >> >  'configure 'CFLAGS=-g3 -ggdb -O3 -mtune=native -march=native
>> >> >  -fomit-frame-pointer' CPPFLAGS=-I/home/reitero/.local/lib/mps
>> >>
>> >> Using -fomit-frame-pointer will result in the compiler putting
>> >> references to GC-able objects in %rbp; since MPS usually uses setjmp to
>> >> spill the registers to the stack, and setjmp "scrambles" %rbp for
>> >> security reasons, that will result in references which are invisible to
>> >> MPS, which will cause other crashes.
>> >
>> > But configure.ac on the branch forces -fno-omit-frame-pointer.  Is
>> > that not working for some reason?
>>
>> Both options are passed to GCC, and -fomit-frame-pointer wins because
>> it's last.
>
> Then I guess we should filter out -fomit-frame-pointer from CFLAGS in
> configure?

An error message might be appropriate here, to avoid further confusion
about CFLAGS not taking effect.

Pip





This bug report was last modified 23 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.