diff --git a/OTP-18.0.2.tar.gz b/OTP-18.0.2.tar.gz deleted file mode 100644 index a4784db..0000000 --- a/OTP-18.0.2.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b8c4af95376cd8a67b1f3cfb54ce4cbc7a548cac2293e9a0e865f2c058402a8e -size 33789428 diff --git a/OTP-18.0.3.tar.gz b/OTP-18.0.3.tar.gz new file mode 100644 index 0000000..1614f65 --- /dev/null +++ b/OTP-18.0.3.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e1680aded824ad5659224024e09a4ff040e97a5b8ace4bdc1537b2f514a5a21 +size 33788603 diff --git a/erlang.changes b/erlang.changes index d0ba65b..65fe353 100644 --- a/erlang.changes +++ b/erlang.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Wed Aug 26 17:23:03 UTC 2015 - kruber@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 - kruber@zib.de + +- add erts_fix_unlock_status_lock.patch to fix a rare deadlock in erts + ------------------------------------------------------------------- Fri Jul 24 15:38:54 UTC 2015 - seife+obs@b1-systems.com diff --git a/erlang.spec b/erlang.spec index 2750a23..a19bf10 100644 --- a/erlang.spec +++ b/erlang.spec @@ -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 @@ Patch0: otp-R16B-rpath.patch Patch4: erlang-not-install-misc.patch # PATCH-FIX-UPSTREAM crypto.patch - matwey.kornilov@gmail.com -- fix compilation with disabled EC in openssl Patch5: crypto.patch +# PATCH-FIX-UPSTREAM erts_fix_unlock_status_lock.patch - lukas.larsson@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 @@ A Graphics System used to write platform independent user interfaces. %patch0 -p1 -b .rpath %patch4 -p1 %patch5 -p1 +%patch6 -p1 cp %{S:9} . ./otp_build autoconf diff --git a/erts_fix_unlock_status_lock.patch b/erts_fix_unlock_status_lock.patch new file mode 100644 index 0000000..344960d --- /dev/null +++ b/erts_fix_unlock_status_lock.patch @@ -0,0 +1,25 @@ +From 02380778fd2a9d6af85865a89ef0747351cc0f88 Mon Sep 17 00:00:00 2001 +From: Lukas Larsson +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) {