From: Florian Weimer <fweimer@redhat.com>
To: Paul Eggert <eggert@cs.ucla.edu>, Andreas Schwab <schwab@suse.de>
Cc: Adhemerval Zanella <adhemerval.zanella@linaro.org>,
GNU C Library <libc-alpha@sourceware.org>
Subject: Re: glibc 2.24 -- Release blockers
Date: Fri, 15 Jul 2016 11:32:00 -0000 [thread overview]
Message-ID: <c915916e-f4ec-6847-0894-608f00be29b6@redhat.com> (raw)
In-Reply-To: <5788B707.4050609@cs.ucla.edu>
On 07/15/2016 12:12 PM, Paul Eggert wrote:
> On 07/15/2016 10:35 AM, Florian Weimer wrote:
>>> I expect such an approach is too much to expect to fold into Emacs 25,
>>> which is close to release. We could try something along those lines for
>>> the next major Emacs release, but that won't be for a while.
>>
>> In this case, I suggest *not* to revert the __malloc_initialize_hook
>> removal because if we put it back in, Emacs will not use its internal
>> malloc, and we get no additional test coverage compared to we had
>> before the removal.
>
> By "test coverage" do you mean some testing by a buildbot that builds
> and runs Emacs with bleeding-edge glibc? If so, we shouldn't need to
> remove __malloc_initialize_hook to test this; all that should be needed
> is './configure emacs_cv_var_doug_lea_malloc=no', which causes Emacs
> 'configure' to pretend that __malloc_initialize_hook does not exist.
I meant testing by Emacs developers and users who use pre-release builds.
The build barely exercises all the libraries Emacs linked into the
process image.
> How about the following more-conservative approach instead?
>
> 1. Restore __malloc_initialize_hook in glibc.
>
> 2. Try to get Emacs 25 to work even when configured with './configure
> emacs_cv_var_doug_lea_malloc=no'. I'm hoping that something like the
> patch I proposed in
> <https://sourceware.org/ml/libc-alpha/2016-07/msg00458.html> is enough
> to do this, and will be accepted by the Emacs maintainers this close to
> a release.
>
> 3. If (2) is too ambitious for Emacs 25, get it to work with Emacs 26.
> This should be quite doable, as essentially the same thing is already
> working with Cygwin.
>
> 4. Once a stable version of Emacs is published with either (2) or (3),
> then remove __malloc_initialize_hook from glibc.
What worries me is that your proposal still ignores the deprecation of
__malloc_initialize_hook. Deprecation means “stop using this
interface”. Yet you advocate to keep using it indefinitely, relying on
glibc pulling trigger at some unspecified point in the future, rather
than a new Emacs release (which would be much more predictable). I
don't see how this ensures progress towards a solution.
We already thought we were at step 4.
If Emacs does not actually exercises the gmalloc code before it is
force-activated by a glibc change, we won't know which other bugs are
lurking there. For example, gmalloc does not interpose
malloc_usable_size or __libc_memalign, which could cause issues for the
libraries it links to. Or the allocator behavior may trigger
performance issues with some of the graphics libraries.
Florian
next prev parent reply other threads:[~2016-07-15 11:17 UTC|newest]
Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-07 19:51 Adhemerval Zanella
2016-07-07 20:22 ` Zack Weinberg
2016-07-07 20:39 ` Adhemerval Zanella
2016-07-08 7:20 ` Torvald Riegel
2016-07-08 16:35 ` Adhemerval Zanella
2016-07-08 20:48 ` Adhemerval Zanella
2016-07-13 12:31 ` Andreas Schwab
2016-07-13 12:41 ` Florian Weimer
2016-07-13 13:04 ` Andreas Schwab
2016-07-13 17:09 ` Florian Weimer
2016-07-13 17:16 ` Jeff Law
2016-07-13 17:18 ` Florian Weimer
2016-07-13 17:23 ` Dan Horák
2016-07-14 10:47 ` Sinny Kumari
2016-07-14 11:38 ` Florian Weimer
2016-07-14 12:23 ` Sinny Kumari
2016-07-14 13:19 ` Richard Earnshaw (lists)
2016-07-14 13:55 ` Florian Weimer
2016-07-15 11:07 ` Paul Eggert
2016-07-14 8:29 ` Andreas Schwab
2016-07-14 8:33 ` Torvald Riegel
2016-07-14 8:38 ` Andreas Schwab
2016-07-14 8:41 ` Torvald Riegel
2016-07-14 8:50 ` Andreas Schwab
2016-07-14 8:54 ` Florian Weimer
2016-07-14 8:59 ` Andreas Schwab
2016-07-14 9:17 ` Torvald Riegel
2016-07-14 9:53 ` Andreas Schwab
2016-07-14 9:59 ` Torvald Riegel
2016-07-14 10:10 ` Andreas Schwab
2016-07-14 10:40 ` Torvald Riegel
2016-07-14 10:45 ` Andreas Schwab
2016-07-14 10:50 ` Torvald Riegel
2016-07-14 10:58 ` Andreas Schwab
2016-07-14 11:00 ` Torvald Riegel
2016-07-14 9:09 ` Torvald Riegel
2016-07-14 9:30 ` Andreas Schwab
2016-07-14 9:54 ` Torvald Riegel
2016-07-14 10:06 ` Torvald Riegel
2016-07-14 8:57 ` Torvald Riegel
2016-07-14 9:08 ` Andreas Schwab
2016-07-14 9:15 ` Torvald Riegel
2016-07-14 9:57 ` Florian Weimer
2016-07-14 11:03 ` Paul Eggert
2016-07-14 11:30 ` Florian Weimer
2016-07-15 1:41 ` Paul Eggert
2016-07-15 11:00 ` Florian Weimer
2016-07-15 11:37 ` Dmitry V. Levin
2016-07-15 11:51 ` Florian Weimer
2016-07-15 12:23 ` Dmitry V. Levin
2016-07-15 12:33 ` Florian Weimer
2016-07-15 12:55 ` Dmitry V. Levin
2016-07-15 13:24 ` Paul Eggert
2016-07-15 14:29 ` Sinny Kumari
2016-07-15 14:33 ` Sinny Kumari
2016-07-15 16:00 ` Florian Weimer
2016-07-15 21:20 ` Paul Eggert
2016-07-16 0:21 ` Zack Weinberg
2016-07-19 17:14 ` Paul Eggert
2016-07-15 20:01 ` Paul Eggert
2016-07-18 7:35 ` Sinny Kumari
2016-07-19 16:13 ` Paul Eggert
2016-07-20 7:33 ` Sinny Kumari
2016-07-20 8:35 ` Paul Eggert
2016-07-21 11:21 ` Sinny Kumari
2016-07-21 11:33 ` Paul Eggert
2016-08-07 11:19 ` Aurelien Jarno
2016-08-07 12:19 ` Andreas Schwab
2016-08-07 21:47 ` Aurelien Jarno
2016-08-07 19:35 ` Paul Eggert
2016-08-07 21:48 ` Aurelien Jarno
2016-07-21 11:22 ` Paul Eggert
2016-07-15 11:44 ` Dmitry V. Levin
2016-07-15 11:47 ` Florian Weimer
2016-07-14 13:14 ` Andreas Schwab
2016-07-14 13:22 ` Paul Eggert
2016-07-14 13:53 ` Florian Weimer
2016-07-15 0:46 ` Paul Eggert
2016-07-15 8:47 ` Florian Weimer
2016-07-15 10:52 ` Paul Eggert
2016-07-15 11:32 ` Florian Weimer [this message]
2016-07-15 14:20 ` Paul Eggert
2016-07-15 16:30 ` Torvald Riegel
2016-07-15 18:41 ` Paul Eggert
2016-07-15 18:43 ` Torvald Riegel
2016-07-15 19:57 ` Paul Eggert
2016-07-14 14:26 ` Andreas Schwab
2016-07-14 23:23 ` Paul Eggert
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c915916e-f4ec-6847-0894-608f00be29b6@redhat.com \
--to=fweimer@redhat.com \
--cc=adhemerval.zanella@linaro.org \
--cc=eggert@cs.ucla.edu \
--cc=libc-alpha@sourceware.org \
--cc=schwab@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).