GNU bug report logs - #56369
29.0.50; abort-redisplay: Crash after 'recenter'

Previous Next

Package: emacs;

Reported by: Florian Rommel <mail <at> florommel.de>

Date: Sun, 3 Jul 2022 15:56:02 UTC

Severity: normal

Tags: patch

Found in version 29.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 56369 in the body.
You can then email your comments to 56369 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#56369; Package emacs. (Sun, 03 Jul 2022 15:56:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Florian Rommel <mail <at> florommel.de>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sun, 03 Jul 2022 15:56:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Florian Rommel <mail <at> florommel.de>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.0.50; abort-redisplay: Crash after 'recenter'
Date: Sun, 03 Jul 2022 17:55:50 +0200
[Message part 1 (text/plain, inline)]
Tags: patch

I get a crash caused by a failed free() [see attached backtrace] when
running vterm [1] which calls 'recenter' from a loaded module.
With gdb, in 'safe_free' I see that the address of the to-be-freed
arguments array (allocated in 'module_funcall') is off by one word.

I don't know the details of the specpdl stack but I assume that there
is a missing 'ubind_to' in 'recenter' before an early return.  When I
add it (see the attached patch) the problem is gone.

[1] https://github.com/akermu/emacs-libvterm

[backtrace.txt (text/plain, attachment)]
[0001-abort-redisplay-Add-missing-unbind_to-in-recenter.patch (text/x-patch, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#56369; Package emacs. (Sun, 03 Jul 2022 16:09:01 GMT) Full text and rfc822 format available.

Message #8 received at 56369 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Florian Rommel <mail <at> florommel.de>
Cc: 56369 <at> debbugs.gnu.org
Subject: Re: bug#56369: 29.0.50; abort-redisplay: Crash after 'recenter'
Date: Sun, 03 Jul 2022 19:08:13 +0300
> From: Florian Rommel <mail <at> florommel.de>
> Date: Sun, 03 Jul 2022 17:55:50 +0200
> 
> I get a crash caused by a failed free() [see attached backtrace] when
> running vterm [1] which calls 'recenter' from a loaded module.
> With gdb, in 'safe_free' I see that the address of the to-be-freed
> arguments array (allocated in 'module_funcall') is off by one word.
> 
> I don't know the details of the specpdl stack but I assume that there
> is a missing 'ubind_to' in 'recenter' before an early return.  When I
> add it (see the attached patch) the problem is gone.

Thanks, installed.




Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Sun, 03 Jul 2022 16:12:02 GMT) Full text and rfc822 format available.

Notification sent to Florian Rommel <mail <at> florommel.de>:
bug acknowledged by developer. (Sun, 03 Jul 2022 16:12:02 GMT) Full text and rfc822 format available.

Message #13 received at 56369-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: 56369-done <at> debbugs.gnu.org
Subject: Re: bug#56369: 29.0.50; abort-redisplay: Crash after 'recenter'
Date: Sun, 03 Jul 2022 19:11:09 +0300
Closing.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 01 Aug 2022 11:24:08 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 18 days ago.

Previous Next


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