HEADSUP: /etc/malloc.conf format change
Ruslan Ermilov
ru at FreeBSD.org
Wed Apr 25 16:39:51 UTC 2012
On Tue, Apr 17, 2012 at 12:34:20PM -0700, Jason Evans wrote:
> As a result of the recent jemalloc update, the format for
> /etc/malloc.conf has changed. If your system has an old-style
> /etc/malloc.conf, you will want to delete it prior to
> installworld, and optionally re-create it using the new format
> after rebooting. See malloc.conf(5) for details (specifically
> the TUNING section and the "opt.*" entries in the MALLCTL
> NAMESPACE section).
>
> The MALLOC_OPTIONS environment variable and the _malloc_options
> global do not pose the same headache, because their new
> counterparts are named MALLOC_CONF and malloc_conf,
> respectively.
So you removed _malloc_options that was part of the documented
programming API, while some software made use of it.
While removing part of the documented API was definitely a bad
idea, you didn't provide any mean to detect this change
programmatically, neither through a macro test, nor by bumping
__FreeBSD_version. The only way now is to try and see if it
compiles, which is far from perfect.
The way how _malloc_options is handled for binary compatibility,
by simply ignoring its value, is (ahem) questionable.
Why do I care? The developers of the nginx web server have
been notified today that it could not be built on FreeBSD
10.0-CURRENT anymore, due to this change, when compiled with
"nginx malloc debugging". It's activated by the DEBUG option
of the www/nginx-devel port, if you care to try it out.
Please explore the possibility to add backwards compatiblity for
the documented API, or at the very least provide a mean to
detect this otherwise disruptive and hard to detect change
for a programmer.
Cheers,
--
Ruslan Ermilov
ru at FreeBSD.org
FreeBSD committer
More information about the freebsd-current
mailing list