Sun Aug 27 12:12:25 2017 UTC ()
5.0.1:

This bugfix release fixes several issues, most of which are obscure enough that typical applications are not impacted.

Bug fixes:
Update decay->nunpurged before purging, in order to avoid potential update races and subsequent incorrect purging volume.
Only abort on dlsym(3) error if the failure impacts an enabled feature (lazy locking and/or background threads). This mitigates an initialization failure bug for which we still do not have a clear reproduction test case.
Modify tsd management so that it neither crashes nor leaks if a thread's only allocation activity is to call free() after TLS destructors have been executed. This behavior was observed when operating with GNU libc, and is unlikely to be an issue with other libc implementations.
Mask signals during background thread creation. This prevents signals from being inadvertently delivered to background threads.
Avoid inactivity checks within background threads, in order to prevent recursive mutex acquisition.
Fix extent_grow_retained() to use the specified hooks when the arena.<i>.extent_hooks mallctl is used to override the default hooks.
Add missing reentrancy support for custom extent hooks which allocate.
Post-fork(2), re-initialize the list of tcaches associated with each arena to contain no tcaches except the forking thread's.
Add missing post-fork(2) mutex reinitialization for extent_grow_mtx. This fixes potential deadlocks after fork(2).
Enforce minimum autoconf version (currently 2.68), since 2.63 is known to generate corrupt configure scripts.
Ensure that the configured page size (--with-lg-page) is no larger than the configured huge page size (--with-lg-hugepage).


(adam)
diff -r1.9 -r1.10 pkgsrc/devel/jemalloc/Makefile
diff -r1.6 -r1.7 pkgsrc/devel/jemalloc/distinfo
diff -r1.1 -r1.2 pkgsrc/devel/jemalloc/patches/patch-src_pages.c

cvs diff -r1.9 -r1.10 pkgsrc/devel/jemalloc/Makefile (expand / switch to unified diff)

--- pkgsrc/devel/jemalloc/Makefile 2017/05/17 16:36:46 1.9
+++ pkgsrc/devel/jemalloc/Makefile 2017/08/27 12:12:25 1.10
@@ -1,35 +1,31 @@ @@ -1,35 +1,31 @@
1# $NetBSD: Makefile,v 1.9 2017/05/17 16:36:46 gson Exp $ 1# $NetBSD: Makefile,v 1.10 2017/08/27 12:12:25 adam Exp $
2 2
3DISTNAME= jemalloc-4.5.0 3DISTNAME= jemalloc-5.0.1
4PKGREVISION= 1 
5CATEGORIES= devel 4CATEGORIES= devel
6MASTER_SITES= ${MASTER_SITE_GITHUB:=jemalloc/} 5MASTER_SITES= ${MASTER_SITE_GITHUB:=jemalloc/}
7GITHUB_PROJECT= jemalloc 6GITHUB_RELEASE= ${PKGVERSION_NOREV}
8GITHUB_RELEASE= ${DISTNAME:S/jemalloc-//} 
9EXTRACT_SUFX= .tar.bz2 7EXTRACT_SUFX= .tar.bz2
10 8
11MAINTAINER= gson@NetBSD.org 9MAINTAINER= gson@NetBSD.org
12HOMEPAGE= http://www.canonware.com/jemalloc/ 10HOMEPAGE= http://jemalloc.net/
13COMMENT= General purpose malloc(3) implementation 11COMMENT= General purpose malloc(3) implementation
14LICENSE= 2-clause-bsd 12LICENSE= 2-clause-bsd
15 13
16BUILD_DEPENDS+= libxslt-[0-9]*:../../textproc/libxslt 14BUILD_DEPENDS+= libxslt-[0-9]*:../../textproc/libxslt
17BUILD_DEPENDS+= docbook-xsl-[0-9]*:../../textproc/docbook-xsl 15BUILD_DEPENDS+= docbook-xsl-[0-9]*:../../textproc/docbook-xsl
18 16
19USE_TOOLS+= autoconf automake aclocal gmake 
20USE_LANGUAGES= c 17USE_LANGUAGES= c
 18USE_TOOLS+= autoconf automake aclocal gmake perl:run
21GNU_CONFIGURE= yes 19GNU_CONFIGURE= yes
22CONFIGURE_ARGS+= --enable-cc-silence 20CONFIGURE_ARGS+= --enable-cc-silence
23CONFIGURE_ARGS+= --enable-xmalloc 21CONFIGURE_ARGS+= --enable-xmalloc
24CONFIGURE_ARGS+= --with-xslroot=${PREFIX}/share/xsl/docbook/ 22CONFIGURE_ARGS+= --with-xslroot=${PREFIX}/share/xsl/docbook/
 23PKGCONFIG_OVERRIDE= jemalloc.pc.in
25 24
26USE_TOOLS+= perl:run 
27REPLACE_PERL= bin/jeprof.in 25REPLACE_PERL= bin/jeprof.in
28 26
29PKGCONFIG_OVERRIDE= jemalloc.pc.in 
30 
31BUILD_TARGET= all dist 27BUILD_TARGET= all dist
32TEST_TARGET= check 28TEST_TARGET= check
33TEST_ENV= LD_LIBRARY_PATH=${WRKSRC}/lib 29TEST_ENV= LD_LIBRARY_PATH=${WRKSRC}/lib
34 30
35.include "../../mk/bsd.pkg.mk" 31.include "../../mk/bsd.pkg.mk"

cvs diff -r1.6 -r1.7 pkgsrc/devel/jemalloc/distinfo (expand / switch to unified diff)

--- pkgsrc/devel/jemalloc/distinfo 2017/05/17 16:36:46 1.6
+++ pkgsrc/devel/jemalloc/distinfo 2017/08/27 12:12:25 1.7
@@ -1,8 +1,8 @@ @@ -1,8 +1,8 @@
1$NetBSD: distinfo,v 1.6 2017/05/17 16:36:46 gson Exp $ 1$NetBSD: distinfo,v 1.7 2017/08/27 12:12:25 adam Exp $
2 2
3SHA1 (jemalloc-4.5.0.tar.bz2) = e7714d070c623bff9acf682e9d52c930e491acd8 3SHA1 (jemalloc-5.0.1.tar.bz2) = 5c2c74b8bf773df6e813f0709f55d40a8256104d
4RMD160 (jemalloc-4.5.0.tar.bz2) = 6acd6c0163d257c7f9941e1b01cf3c5202ca12a4 4RMD160 (jemalloc-5.0.1.tar.bz2) = f3e6fdbd4b5a00fde7de6a2d77c716a085b09943
5SHA512 (jemalloc-4.5.0.tar.bz2) = 76953363fe1007952232220afa1a91da4c1c33c02369b5ad239d8dd1d0792141197c15e8489a8f4cd301b08494e65cadd8ecd34d025cb0285700dd78d7248821 5SHA512 (jemalloc-5.0.1.tar.bz2) = 8cb5957a5724eb2bbad120cf0028ea8b2b14b4a416c1751b7c967351a7fd51135058ea0d3c4dc1d127c86f3aa7e9fd5ef101857110aabfdb7789427791c432c3
6Size (jemalloc-4.5.0.tar.bz2) = 449992 bytes 6Size (jemalloc-5.0.1.tar.bz2) = 499300 bytes
7SHA1 (patch-Makefile.in) = 62e04375dec9aab678fed5bc32559deb942e799f 7SHA1 (patch-Makefile.in) = 62e04375dec9aab678fed5bc32559deb942e799f
8SHA1 (patch-src_pages.c) = 269ea1da44585caf3635b4b66b85db9e56124f08 8SHA1 (patch-src_pages.c) = 7c9eea2409b283c5dd80e52349c4dda26ae5befa

cvs diff -r1.1 -r1.2 pkgsrc/devel/jemalloc/patches/patch-src_pages.c (expand / switch to unified diff)

--- pkgsrc/devel/jemalloc/patches/patch-src_pages.c 2017/05/17 16:36:46 1.1
+++ pkgsrc/devel/jemalloc/patches/patch-src_pages.c 2017/08/27 12:12:25 1.2
@@ -1,17 +1,17 @@ @@ -1,17 +1,17 @@
1$NetBSD: patch-src_pages.c,v 1.1 2017/05/17 16:36:46 gson Exp $ 1$NetBSD: patch-src_pages.c,v 1.2 2017/08/27 12:12:25 adam Exp $
2 2
3Set os_overcommits to true on NetBSD since NetBSD does overcommit. 3Set os_overcommits to true on NetBSD since NetBSD does overcommit.
4This also has the benefit of not triggering the issue reported in 4This also has the benefit of not triggering the issue reported in
5https://github.com/jemalloc/jemalloc/issues/837 . 5https://github.com/jemalloc/jemalloc/issues/837 .
6 6
7--- src/pages.c.orig 2017-03-01 03:10:36.000000000 +0000 7--- src/pages.c.orig 2017-07-02 00:44:25.000000000 +0000
8+++ src/pages.c 8+++ src/pages.c
9@@ -296,6 +296,8 @@ pages_boot(void) 9@@ -414,6 +414,8 @@ pages_boot(void) {
10 if (os_overcommits) 
11 mmap_flags |= MAP_NORESERVE; 10 mmap_flags |= MAP_NORESERVE;
 11 }
12 # endif 12 # endif
13+#elif defined __NetBSD__ 13+#elif defined __NetBSD__
14+ os_overcommits = true; 14+ os_overcommits = true;
15 #else 15 #else
16 os_overcommits = false; 16 os_overcommits = false;
17 #endif 17 #endif