From owner-svn-ports-head@freebsd.org Tue Feb 16 22:20:18 2016 Return-Path: Delivered-To: svn-ports-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7D611AAA7D4; Tue, 16 Feb 2016 22:20:18 +0000 (UTC) (envelope-from olgeni@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3F896F3F; Tue, 16 Feb 2016 22:20:18 +0000 (UTC) (envelope-from olgeni@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u1GMKHsr065644; Tue, 16 Feb 2016 22:20:17 GMT (envelope-from olgeni@FreeBSD.org) Received: (from olgeni@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u1GMKHMX065642; Tue, 16 Feb 2016 22:20:17 GMT (envelope-from olgeni@FreeBSD.org) Message-Id: <201602162220.u1GMKHMX065642@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: olgeni set sender to olgeni@FreeBSD.org using -f From: Jimmy Olgeni Date: Tue, 16 Feb 2016 22:20:17 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r409020 - in head/net/rabbitmq: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Feb 2016 22:20:18 -0000 Author: olgeni Date: Tue Feb 16 22:20:16 2016 New Revision: 409020 URL: https://svnweb.freebsd.org/changeset/ports/409020 Log: Remove custom stderr formatting from net/rabbitmq. From upstream commit fecd0e5 in rabbitmq/rabbitmq-common: Opening several ports for single fd is considered undefined behaviour in erlang. It's safe to replace this whole function with 'io:format'. Because writing to standard_error with io:format is synchronous - after this call has returned data was definitely sent to the port. And `erlang:halt` guarantees that this data will be flushed afterwards. See also ba531a1 in erlang/otp: Instead of outputting a formatted message showing errors found, a core was (often) created. This commit should fix all issues related to core dumps with RabbitMQ on Erlang 18, which were most often observed when creating or joining clusters. MFH requested because a beam core dump would be most certainly interpreted as the symptom of something worse within the Erlang VM. PR: 204147 Submitted by: Alexey Lebedeff (follow up) MFH: 2016Q1 Added: head/net/rabbitmq/files/patch-src_rabbit__misc.erl (contents, props changed) Modified: head/net/rabbitmq/Makefile Modified: head/net/rabbitmq/Makefile ============================================================================== --- head/net/rabbitmq/Makefile Tue Feb 16 20:40:18 2016 (r409019) +++ head/net/rabbitmq/Makefile Tue Feb 16 22:20:16 2016 (r409020) @@ -3,7 +3,7 @@ PORTNAME= rabbitmq PORTVERSION= 3.5.7 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= net MASTER_SITES= http://www.rabbitmq.com/releases/rabbitmq-server/v${PORTVERSION}/ DISTNAME= ${PORTNAME}-server-${PORTVERSION} Added: head/net/rabbitmq/files/patch-src_rabbit__misc.erl ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/rabbitmq/files/patch-src_rabbit__misc.erl Tue Feb 16 22:20:16 2016 (r409020) @@ -0,0 +1,22 @@ +--- src/rabbit_misc.erl.orig 2015-12-15 10:23:52 UTC ++++ src/rabbit_misc.erl +@@ -652,18 +652,7 @@ format_many(List) -> + lists:flatten([io_lib:format(F ++ "~n", A) || {F, A} <- List]). + + format_stderr(Fmt, Args) -> +- case os:type() of +- {unix, _} -> +- Port = open_port({fd, 0, 2}, [out]), +- port_command(Port, io_lib:format(Fmt, Args)), +- port_close(Port); +- {win32, _} -> +- %% stderr on Windows is buffered and I can't figure out a +- %% way to trigger a fflush(stderr) in Erlang. So rather +- %% than risk losing output we write to stdout instead, +- %% which appears to be unbuffered. +- io:format(Fmt, Args) +- end, ++ io:format(standard_error, Fmt, Args), + ok. + + unfold(Fun, Init) ->