Date: Sat, 27 Feb 2016 13:05:31 +0000 (UTC) From: Jimmy Olgeni <olgeni@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-branches@freebsd.org Subject: svn commit: r409663 - in branches/2016Q1/net/rabbitmq: . files Message-ID: <201602271305.u1RD5VpY093226@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: olgeni Date: Sat Feb 27 13:05:31 2016 New Revision: 409663 URL: https://svnweb.freebsd.org/changeset/ports/409663 Log: MFH: r409020 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) Approved by: ports-secteam (miwi) Added: branches/2016Q1/net/rabbitmq/files/patch-src_rabbit__misc.erl - copied unchanged from r409020, head/net/rabbitmq/files/patch-src_rabbit__misc.erl Modified: branches/2016Q1/net/rabbitmq/Makefile Directory Properties: branches/2016Q1/ (props changed) Modified: branches/2016Q1/net/rabbitmq/Makefile ============================================================================== --- branches/2016Q1/net/rabbitmq/Makefile Sat Feb 27 13:03:48 2016 (r409662) +++ branches/2016Q1/net/rabbitmq/Makefile Sat Feb 27 13:05:31 2016 (r409663) @@ -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} Copied: branches/2016Q1/net/rabbitmq/files/patch-src_rabbit__misc.erl (from r409020, head/net/rabbitmq/files/patch-src_rabbit__misc.erl) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ branches/2016Q1/net/rabbitmq/files/patch-src_rabbit__misc.erl Sat Feb 27 13:05:31 2016 (r409663, copy of r409020, head/net/rabbitmq/files/patch-src_rabbit__misc.erl) @@ -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) ->
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201602271305.u1RD5VpY093226>