Hello community, here is the log from the commit of package erlang for openSUSE:Factory checked in at 2015-08-28 08:26:50 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/erlang (Old) and /work/SRC/openSUSE:Factory/.erlang.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "erlang" Changes: -------- --- /work/SRC/openSUSE:Factory/erlang/erlang.changes 2015-08-01 11:37:40.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.erlang.new/erlang.changes 2015-08-28 08:27:07.000000000 +0200 @@ -1,0 +2,14 @@ +Wed Aug 26 17:23:03 UTC 2015 - kru...@zib.de + +- update to 18.0.3: + * erts: Fixed a binary memory leak when printing to shell using + the tty driver (i.e. not -oldshell). + * erts: Fix a bug where the standard error port sometimes + crashes with eagain as the reason. + +------------------------------------------------------------------- +Thu Aug 13 14:11:34 UTC 2015 - kru...@zib.de + +- add erts_fix_unlock_status_lock.patch to fix a rare deadlock in erts + +------------------------------------------------------------------- Old: ---- OTP-18.0.2.tar.gz New: ---- OTP-18.0.3.tar.gz erts_fix_unlock_status_lock.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ erlang.spec ++++++ --- /var/tmp/diff_new_pack.z3tWsP/_old 2015-08-28 08:27:08.000000000 +0200 +++ /var/tmp/diff_new_pack.z3tWsP/_new 2015-08-28 08:27:08.000000000 +0200 @@ -21,7 +21,7 @@ %endif Name: erlang -Version: 18.0.2 +Version: 18.0.3 Release: 0 Summary: General-purpose programming language and runtime environment License: Apache-2.0 @@ -41,6 +41,8 @@ Patch4: erlang-not-install-misc.patch # PATCH-FIX-UPSTREAM crypto.patch - matwey.korni...@gmail.com -- fix compilation with disabled EC in openssl Patch5: crypto.patch +# PATCH-FIX-UPSTREAM erts_fix_unlock_status_lock.patch - lukas.lars...@erlang-solutions.com -- erts: Make sure to unlock status lock when setting process prio +Patch6: erts_fix_unlock_status_lock.patch BuildRequires: autoconf BuildRequires: gcc-c++ BuildRequires: ncurses-devel @@ -295,6 +297,7 @@ %patch0 -p1 -b .rpath %patch4 -p1 %patch5 -p1 +%patch6 -p1 cp %{S:9} . ./otp_build autoconf ++++++ OTP-18.0.2.tar.gz -> OTP-18.0.3.tar.gz ++++++ /work/SRC/openSUSE:Factory/erlang/OTP-18.0.2.tar.gz /work/SRC/openSUSE:Factory/.erlang.new/OTP-18.0.3.tar.gz differ: char 18, line 1 ++++++ erts_fix_unlock_status_lock.patch ++++++ >From 02380778fd2a9d6af85865a89ef0747351cc0f88 Mon Sep 17 00:00:00 2001 From: Lukas Larsson <lukas.lars...@erlang-solutions.com> Date: Thu, 13 Aug 2015 14:52:20 +0200 Subject: [PATCH] erts: Make sure to unlock status lock when setting process prio --- erts/emulator/beam/erl_process.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c index 7b3d12c..98f01bb 100644 --- a/erts/emulator/beam/erl_process.c +++ b/erts/emulator/beam/erl_process.c @@ -9177,6 +9177,10 @@ erts_set_process_priority(Process *p, Eterm value) a = erts_smp_atomic32_cmpxchg_mb(&p->state, n, e); } while (a != e); + + if (slocked) + erts_smp_proc_unlock(p, ERTS_PROC_LOCK_STATUS); + } switch (oprio) {