NetBSD Problem Report #51631

From www@NetBSD.org  Wed Nov 16 21:24:44 2016
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (verified OK))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 2AAC17A2EC
	for <gnats-bugs@gnats.NetBSD.org>; Wed, 16 Nov 2016 21:24:44 +0000 (UTC)
Message-Id: <20161116212442.7F2477A2EF@mollari.NetBSD.org>
Date: Wed, 16 Nov 2016 21:24:42 +0000 (UTC)
From: jonthn+pkgsrc@pinacea.com
Reply-To: jonthn+pkgsrc@pinacea.com
To: gnats-bugs@NetBSD.org
Subject: Update devel/jemalloc to 4.3.1
X-Send-Pr-Version: www-1.0

>Number:         51631
>Category:       pkg
>Synopsis:       Update devel/jemalloc to 4.3.1
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    gson
>State:          closed
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Wed Nov 16 21:25:00 +0000 2016
>Closed-Date:    Tue Dec 13 21:54:07 +0000 2016
>Last-Modified:  Thu Dec 15 09:15:00 +0000 2016
>Originator:     Jonathan Buschmann
>Release:        
>Organization:
>Environment:
>Description:
jemalloc is broken on macOS Sierran and it's fixed in 4.3.0
The patch attached update to 4.3.1

Changelog :


4.3.1

Bug fixes:

    Fix a severe virtual memory leak. This regression was first released in 4.3.0. (@interwq, @jasone)
    Refactor atomic and prng APIs to restore support for 32-bit platforms that use pre-C11 toolchains, e.g. FreeBSD's mips. (@jasone)



4.3.0

This is the first release that passes the test suite for multiple Windows configurations, thanks in large part to @glandium setting up continuous integration via AppVeyor (and Travis CI for Linux and OS X).

New features:

    Add "J" (JSON) support to malloc_stats_print(). (@jasone)
    Add Cray compiler support. (@ronawho)

Optimizations:

    Add/use adaptive spinning for bootstrapping and radix tree node initialization. (@jasone)

Bug fixes:

    Fix large allocation to search starting in the optimal size class heap, which can substantially reduce virtual memory churn and fragmentation. This regression was first released in 4.0.0. (@mjp41, @jasone)
    Fix stats.arenas..nthreads accounting. (@interwq)
    Fix and simplify decay-based purging. (@jasone)
    Make DSS (sbrk(2)-related) operations lockless, which resolves potential deadlocks during thread exit. (@jasone)
    Fix over-sized allocation of radix tree leaf nodes. (@mjp41, @ogaun, @jasone)
    Fix over-sized allocation of arena_t (plus associated stats) data structures. (@jasone, @interwq)
    Fix EXTRA_CFLAGS to not affect configuration. (@jasone)
    Fix a Valgrind integration bug. (@ronawho)
    Disallow 0x5a junk filling when running in Valgrind. (@jasone)
    Fix a file descriptor leak on Linux. This regression was first released in 4.2.0. (@vsarunas, @jasone)
    Fix static linking of jemalloc with glibc. (@djwatson)
    Use syscall(2) rather than {open,read,close}(2) during boot on Linux. This works around other libraries' system call wrappers performing reentrant allocation. (@kspinka, @Whissi, @jasone)
    Fix OS X default zone replacement to work with OS X 10.12. (@glandium, @jasone)
    Fix cached memory management to avoid needless commit/decommit operations during purging, which resolves permanent virtual memory map fragmentation issues on Windows. (@mjp41, @jasone)
    Fix TSD fetches to avoid (recursive) allocation. This is relevant to non-TLS and Windows configurations. (@jasone)
    Fix malloc_conf overriding to work on Windows. (@jasone)
    Forcibly disable lazy-lock on Windows (was forcibly enabled). (@jasone)


>How-To-Repeat:

>Fix:
diff --git i/devel/jemalloc/Makefile w/devel/jemalloc/Makefile
index 30fb22b..ce4a765 100644
--- i/devel/jemalloc/Makefile
+++ w/devel/jemalloc/Makefile
@@ -1,7 +1,6 @@
 # $NetBSD: Makefile,v 1.4 2016/07/09 06:38:08 wiz Exp $

-DISTNAME=	jemalloc-4.2.1
-PKGREVISION=	1
+DISTNAME=	jemalloc-4.3.1
 CATEGORIES=	devel
 MASTER_SITES=	${MASTER_SITE_GITHUB:=jemalloc/}
 GITHUB_PROJECT=	jemalloc
diff --git i/devel/jemalloc/distinfo w/devel/jemalloc/distinfo
index 1d2450f..cbc77bc 100644
--- i/devel/jemalloc/distinfo
+++ w/devel/jemalloc/distinfo
@@ -1,7 +1,7 @@
 $NetBSD: distinfo,v 1.2 2016/07/02 11:00:42 wiz Exp $

-SHA1 (jemalloc-4.2.1.tar.bz2) = 2b5c5841c099751c29caef8053e6fa3b99689188
-RMD160 (jemalloc-4.2.1.tar.bz2) = fdd50de876c8e78e14e4c75e54b3ed05b6fba1c0
-SHA512 (jemalloc-4.2.1.tar.bz2) = a0bbf2150371bf31b386c668bc636a56e82145a8a81586d0898cdeed707bf1b694e777ea2afba521584998a60663bb4734e8a83697a337ea13e6ade4de737c18
-Size (jemalloc-4.2.1.tar.bz2) = 431132 bytes
-SHA1 (patch-Makefile.in) = 44329c739b691f977bd672acc337a07e4fa7f4c5
+SHA1 (jemalloc-4.3.1.tar.bz2) = 711dac85ad245ba1503336ed8752e0483998d8a8
+RMD160 (jemalloc-4.3.1.tar.bz2) = 620f1934d98e6dd5feed540b90dd39f08369e1e0
+SHA512 (jemalloc-4.3.1.tar.bz2) = 47170f1c5a3956ed469402c4e6adc158e0a1eb46a54f467b6813c1d3bdf690954fec8c6088042f74cc5ea09781a3abf5675a35a35ac10523ed13d6761320f11c
+Size (jemalloc-4.3.1.tar.bz2) = 438118 bytes
+SHA1 (patch-Makefile.in) = 62e04375dec9aab678fed5bc32559deb942e799f
diff --git i/devel/jemalloc/patches/patch-Makefile.in w/devel/jemalloc/patches/patch-Makefile.in
index 8c8ac48..350bbd9 100644
--- i/devel/jemalloc/patches/patch-Makefile.in
+++ w/devel/jemalloc/patches/patch-Makefile.in
@@ -2,16 +2,16 @@ $NetBSD: patch-Makefile.in,v 1.1 2016/02/18 15:51:59 gson Exp $

 Fix permissions of installed static libraries.

---- Makefile.in.orig	2015-10-24 14:56:52.000000000 +0000
-+++ Makefile.in
-@@ -304,8 +304,8 @@ endif
+--- Makefile.in.orig	2016-11-16 22:15:43.000000000 +0100
++++ Makefile.in	2016-11-16 22:17:04.000000000 +0100
+@@ -348,8 +348,8 @@
  install_lib_static: $(STATIC_LIBS)
- 	install -d $(LIBDIR)
+ 	$(INSTALL) -d $(LIBDIR)
  	@for l in $(STATIC_LIBS); do \
--	echo "install -m 755 $$l $(LIBDIR)"; \
--	install -m 755 $$l $(LIBDIR); \
-+	echo "install -m 644 $$l $(LIBDIR)"; \
-+	install -m 644 $$l $(LIBDIR); \
+-	echo "$(INSTALL) -m 755 $$l $(LIBDIR)"; \
+-	$(INSTALL) -m 755 $$l $(LIBDIR); \
++	echo "$(INSTALL) -m 644 $$l $(LIBDIR)"; \
++	$(INSTALL) -m 644 $$l $(LIBDIR); \
  done

  install_lib_pc: $(PC)

>Release-Note:

>Audit-Trail:

Responsible-Changed-From-To: pkg-manager->gson
Responsible-Changed-By: maya@NetBSD.org
Responsible-Changed-When: Fri, 18 Nov 2016 10:52:56 +0000
Responsible-Changed-Why:
over to maintainer


State-Changed-From-To: open->closed
State-Changed-By: maya@NetBSD.org
State-Changed-When: Tue, 13 Dec 2016 21:54:07 +0000
State-Changed-Why:
committed, thanks. sorry for the delay.


From: "Maya Rashish" <maya@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/51631 CVS commit: pkgsrc/devel/jemalloc
Date: Tue, 13 Dec 2016 21:52:22 +0000

 Module Name:	pkgsrc
 Committed By:	maya
 Date:		Tue Dec 13 21:52:22 UTC 2016

 Modified Files:
 	pkgsrc/devel/jemalloc: Makefile distinfo
 	pkgsrc/devel/jemalloc/patches: patch-Makefile.in

 Log Message:
 jemalloc: update to 4.3.1

 from Jonathan Buschmann in PR pkg/51631
 ok gson

 Changelog :

 4.3.1

 Bug fixes:

     Fix a severe virtual memory leak. This regression was first released in 4.3.0. (@interwq, @jasone)
     Refactor atomic and prng APIs to restore support for 32-bit platforms that use pre-C11 toolchains, e.g. FreeBSD's mips. (@jasone)

 4.3.0

 This is the first release that passes the test suite for multiple Windows configurations, thanks in large part to @glandium setting up continuous integration via AppVeyor (and Travis CI for Linux and OS X).

 New features:

     Add "J" (JSON) support to malloc_stats_print(). (@jasone)
     Add Cray compiler support. (@ronawho)

 Optimizations:

     Add/use adaptive spinning for bootstrapping and radix tree node initialization. (@jasone)

 Bug fixes:

     Fix large allocation to search starting in the optimal size class heap, which can substantially reduce virtual memory churn and fragmentation. This regression was first released in 4.0.0. (@mjp41, @jasone)
     Fix stats.arenas..nthreads accounting. (@interwq)
     Fix and simplify decay-based purging. (@jasone)
     Make DSS (sbrk(2)-related) operations lockless, which resolves potential deadlocks during thread exit. (@jasone)
     Fix over-sized allocation of radix tree leaf nodes. (@mjp41, @ogaun, @jasone)
     Fix over-sized allocation of arena_t (plus associated stats) data structures. (@jasone, @interwq)
     Fix EXTRA_CFLAGS to not affect configuration. (@jasone)
     Fix a Valgrind integration bug. (@ronawho)
     Disallow 0x5a junk filling when running in Valgrind. (@jasone)
     Fix a file descriptor leak on Linux. This regression was first released in 4.2.0. (@vsarunas, @jasone)
     Fix static linking of jemalloc with glibc. (@djwatson)
     Use syscall(2) rather than {open,read,close}(2) during boot on Linux. This works around other libraries' system call wrappers performing reentrant allocation. (@kspinka, @Whissi, @jasone)
     Fix OS X default zone replacement to work with OS X 10.12. (@glandium, @jasone)
     Fix cached memory management to avoid needless commit/decommit operations during purging, which resolves permanent virtual memory map fragmentation issues on Windows. (@mjp41, @jasone)
     Fix TSD fetches to avoid (recursive) allocation. This is relevant to non-TLS and Windows configurations. (@jasone)
     Fix malloc_conf overriding to work on Windows. (@jasone)
     Forcibly disable lazy-lock on Windows (was forcibly enabled). (@jasone)


 To generate a diff of this commit:
 cvs rdiff -u -r1.4 -r1.5 pkgsrc/devel/jemalloc/Makefile
 cvs rdiff -u -r1.2 -r1.3 pkgsrc/devel/jemalloc/distinfo
 cvs rdiff -u -r1.1 -r1.2 pkgsrc/devel/jemalloc/patches/patch-Makefile.in

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Maya Rashish" <maya@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/51631 CVS commit: pkgsrc/devel/jemalloc
Date: Thu, 15 Dec 2016 09:12:41 +0000

 Module Name:	pkgsrc
 Committed By:	maya
 Date:		Thu Dec 15 09:12:41 UTC 2016

 Modified Files:
 	pkgsrc/devel/jemalloc: Makefile distinfo

 Log Message:
 jemalloc: update to 4.4.0

 New features:

     Add configure support for *-*-linux-android. (@cferris1000, @jasone)
     Add the --disable-syscall configure option, for use on systems that place security-motivated limitations on syscall(2). (@jasone)
     Add support for Debian GNU/kFreeBSD. (@thesam)

 Optimizations:

     Add extent serial numbers and use them where appropriate as a sort key that is higher priority than address, so that the allocation policy prefers older extents. This tends to improve locality (decrease fragmentation) when memory grows downward. (@jasone)
     Refactor madvise(2) configuration so that MADV_FREE is detected and utilized on Linux 4.5 and newer. (@jasone)
     Mark partially purged arena chunks as non-huge-page. This improves interaction with Linux's transparent huge page functionality. (@jasone)

 Bug fixes:

     Fix size class computations for edge conditions involving extremely large allocations. This regression was first released in 4.0.0. (@jasone, @ingvarha)
     Remove overly restrictive assertions related to the cactive statistic. This regression was first released in 4.1.0. (@jasone)
     Implement a more reliable detection scheme for os_unfair_lock on macOS. (@jszakmeister)

 From Jonathan Buschmann in PR pkg/51631


 To generate a diff of this commit:
 cvs rdiff -u -r1.5 -r1.6 pkgsrc/devel/jemalloc/Makefile
 cvs rdiff -u -r1.3 -r1.4 pkgsrc/devel/jemalloc/distinfo

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2014 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.