GNU bug report logs - #58975
29.0.50; noverlay fails to build with --enable-checking=structs

Previous Next

Package: emacs;

Reported by: "Basil L. Contovounesios" <contovob <at> tcd.ie>

Date: Thu, 3 Nov 2022 00:18:02 UTC

Severity: normal

Tags: patch

Found in version 29.0.50

Fixed in version 29.1

Done: "Basil L. Contovounesios" <contovob <at> tcd.ie>

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 58975 in the body.
You can then email your comments to 58975 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 matt <at> rfc20.org, monnier <at> iro.umontreal.ca, bug-gnu-emacs <at> gnu.org:
bug#58975; Package emacs. (Thu, 03 Nov 2022 00:18:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Basil L. Contovounesios" <contovob <at> tcd.ie>:
New bug report received and forwarded. Copy sent to matt <at> rfc20.org, monnier <at> iro.umontreal.ca, bug-gnu-emacs <at> gnu.org. (Thu, 03 Nov 2022 00:18:02 GMT) Full text and rfc822 format available.

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

From: "Basil L. Contovounesios" <contovob <at> tcd.ie>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.0.50; noverlay fails to build with --enable-checking=structs
Date: Thu, 03 Nov 2022 02:17:16 +0200
[Message part 1 (text/plain, inline)]
Tags: patch

With HEAD as commit 05f5d978ae of 2022-11-02
"Initialize child signal handling before posix_spawn too.":

  $ git clean -fdx && ./autogen.sh all \
      && ./configure --enable-checking=structs && make

The last step fails with:

--8<---------------cut here---------------start------------->8---
  CC       pdumper.o
pdumper.c: In function ‘dump_interval_node’:
pdumper.c:2141:3: error: #error "interval_node changed. See CHECK_STRUCTS comment in config.h."
 2141 | # error "interval_node changed. See CHECK_STRUCTS comment in config.h."
      |   ^~~~~
pdumper.c: In function ‘dump_overlay’:
pdumper.c:2183:3: error: #error "Lisp_Overlay changed. See CHECK_STRUCTS comment in config.h."
 2183 | # error "Lisp_Overlay changed. See CHECK_STRUCTS comment in config.h."
      |   ^~~~~
pdumper.c: In function ‘dump_buffer’:
pdumper.c:2752:3: error: #error "buffer changed. See CHECK_STRUCTS comment in config.h."
 2752 | # error "buffer changed. See CHECK_STRUCTS comment in config.h."
      |   ^~~~~
--8<---------------cut here---------------end--------------->8---

Is this the right fix?

[0001-Port-interval-trees-to-enable-checking-structs.patch (text/x-diff, attachment)]
[Message part 3 (text/plain, inline)]
BTW, every time itree_create is called via add_buffer_overlay, it in
turn calls itree_init, which calls itree_iterator_create, which xmallocs
a new itree_iterator, interval_stack, and itree_nodes.  Is this memory
leak going to rust my computer?  Should I open a ticket for this?

Thanks,

-- 
Basil

In GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo
 version 1.16.0, Xaw3d scroll bars) of 2022-10-31 built on tia
Repository revision: ea388b7f3ab995423aa90980f7c530884ea1c5a4
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101004
System Description: Debian GNU/Linux bookworm/sid

Configured using:
 'configure 'CFLAGS=-Og -ggdb3' -C --prefix=/home/blc/.local
 --enable-checking=structs --with-file-notification=yes
 --with-x-toolkit=lucid --with-x'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY
INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS WEBP X11 XAW3D XDBE XIM XINPUT2 XPM LUCID ZLIB

Important settings:
  value of $LANG: en_IE.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#58975; Package emacs. (Thu, 03 Nov 2022 01:56:02 GMT) Full text and rfc822 format available.

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

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: "Basil L. Contovounesios" <contovob <at> tcd.ie>
Cc: Matt Armstrong <matt <at> rfc20.org>, 58975 <at> debbugs.gnu.org
Subject: Re: bug#58975: 29.0.50; noverlay fails to build with
 --enable-checking=structs
Date: Wed, 02 Nov 2022 21:55:07 -0400
> Is this the right fix?

The patch looks good, thanks.

> BTW, every time itree_create is called via add_buffer_overlay, it in
> turn calls itree_init,

Oh, that's not right.  `itree_init` should be called once only, from
`emacs.c`, like things like `init_lread`.

> which calls itree_iterator_create, which xmallocs a new
> itree_iterator, interval_stack, and itree_nodes.  Is this memory leak
> going to rust my computer?

No, Emacs is pure C and ELisp, so it doesn't suffer from Rust.


        Stefan





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#58975; Package emacs. (Thu, 03 Nov 2022 12:28:02 GMT) Full text and rfc822 format available.

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

From: "Basil L. Contovounesios" <contovob <at> tcd.ie>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: Matt Armstrong <matt <at> rfc20.org>, 58975 <at> debbugs.gnu.org
Subject: Re: bug#58975: 29.0.50; noverlay fails to build with
 --enable-checking=structs
Date: Thu, 03 Nov 2022 14:26:50 +0200
[Message part 1 (text/plain, inline)]
Stefan Monnier [2022-11-02 21:55 -0400] wrote:

>> Is this the right fix?
>
> The patch looks good, thanks.
>
>> BTW, every time itree_create is called via add_buffer_overlay, it in
>> turn calls itree_init,
>
> Oh, that's not right.  `itree_init` should be called once only, from
> `emacs.c`, like things like `init_lread`.

Like this?

[0001-Port-interval-trees-to-enable-checking-structs.patch (text/x-diff, attachment)]
[Message part 3 (text/plain, inline)]
>> which calls itree_iterator_create, which xmallocs a new
>> itree_iterator, interval_stack, and itree_nodes.  Is this memory leak
>> going to rust my computer?
>
> No, Emacs is pure C and ELisp,

But not pure enough to avoid side-effects such as headaches.

> so it doesn't suffer from Rust.

Not in this lifetime anyway ;).

Thanks,

-- 
Basil

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#58975; Package emacs. (Thu, 03 Nov 2022 14:26:02 GMT) Full text and rfc822 format available.

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

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: "Basil L. Contovounesios" <contovob <at> tcd.ie>
Cc: Matt Armstrong <matt <at> rfc20.org>, 58975 <at> debbugs.gnu.org
Subject: Re: bug#58975: 29.0.50; noverlay fails to build with
 --enable-checking=structs
Date: Thu, 03 Nov 2022 10:24:44 -0400
>> Oh, that's not right.  `itree_init` should be called once only, from
>> `emacs.c`, like things like `init_lread`.
>
> Like this?

Yup, thanks,


        Stefan





bug marked as fixed in version 29.1, send any further explanations to 58975 <at> debbugs.gnu.org and "Basil L. Contovounesios" <contovob <at> tcd.ie> Request was from "Basil L. Contovounesios" <contovob <at> tcd.ie> to control <at> debbugs.gnu.org. (Thu, 03 Nov 2022 14:58:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#58975; Package emacs. (Thu, 03 Nov 2022 14:58:03 GMT) Full text and rfc822 format available.

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

From: "Basil L. Contovounesios" <contovob <at> tcd.ie>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: Matt Armstrong <matt <at> rfc20.org>, 58975-done <at> debbugs.gnu.org
Subject: Re: bug#58975: 29.0.50; noverlay fails to build with
 --enable-checking=structs
Date: Thu, 03 Nov 2022 16:57:18 +0200
close 58975 29.1
quit

Stefan Monnier [2022-11-03 10:24 -0400] wrote:

>>> Oh, that's not right.  `itree_init` should be called once only, from
>>> `emacs.c`, like things like `init_lread`.
>>
>> Like this?
>
> Yup, thanks,

Thanks, pushed, closing.

Port interval trees to --enable-checking=structs
a66280162f 2022-11-03 16:49:05 +0200
https://git.sv.gnu.org/cgit/emacs.git/commit/?id=a66280162f

-- 
Basil




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 02 Dec 2022 12:24:14 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 169 days ago.

Previous Next


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