Hello community,

here is the log from the commit of package moarvm for openSUSE:Factory checked 
in at 2020-01-07 23:52:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/moarvm (Old)
 and      /work/SRC/openSUSE:Factory/.moarvm.new.6675 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "moarvm"

Tue Jan  7 23:52:20 2020 rev:23 rq:761268 version:2020.01

Changes:
--------
--- /work/SRC/openSUSE:Factory/moarvm/moarvm.changes    2019-12-02 
11:38:18.178460197 +0100
+++ /work/SRC/openSUSE:Factory/.moarvm.new.6675/moarvm.changes  2020-01-07 
23:52:48.908014544 +0100
@@ -1,0 +2,24 @@
+Mon Jan  6 19:44:55 CET 2020 - [email protected]
+
+- Add moarvm-fix-segfaults-in-openssl.diff fixing segfaulty regression
+  noticed too late for the release.
+
+-------------------------------------------------------------------
+Sun Jan  5 10:58:58 CET 2020 - [email protected]
+
+- update to version 2020.01
+
++ Fix relocatability of modules using NativeCall
++ Fix segfault caused by deopt all in NativeCall callback
++ Fix segfaults caused by JITed takehandlerresult returning NULL
++ Fix frame walker segfaults caused by deopt of a caller on a different thread
++ Fix memory corruption after cancelling signal
++ Allow getting absolute epoch startup time of VM in vmeventsubscribe
++ Add support for '−' (U+2212) minus for nqp::radix(_I)
++ Clean up MVM_io_resolve_host_name and make it more portable
++ Move to C99, compile with -Wall -Wextra and fix preexisting compiler warnings
++ Jit ordbaseat
+
+- Remove MoarVM-buildroot-fix.diff as the issue has been fixed upstream
+
+-------------------------------------------------------------------

Old:
----
  MoarVM-2019.11.tar.gz
  MoarVM-buildroot-fix.diff

New:
----
  MoarVM-2020.01.tar.gz
  moarvm-fix-segfaults-in-openssl.diff

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ moarvm.spec ++++++
--- /var/tmp/diff_new_pack.5rR2SD/_old  2020-01-07 23:52:50.136015182 +0100
+++ /var/tmp/diff_new_pack.5rR2SD/_new  2020-01-07 23:52:50.140015184 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package moarvm
 #
-# Copyright (c) 2019 SUSE LLC
+# Copyright (c) 2020 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,7 +16,7 @@
 #
 
 
-%global mvrel 2019.11
+%global mvrel 2020.01
 Name:           moarvm
 Version:        %mvrel
 Release:        2.1
@@ -27,7 +27,7 @@
 Source:         http://moarvm.org/releases/MoarVM-%{mvrel}.tar.gz
 # PATCH-FIX-OPENSUSE boo#1100677
 Patch0:         reproducible.patch
-Patch1:         MoarVM-buildroot-fix.diff
+Patch1:         moarvm-fix-segfaults-in-openssl.diff
 BuildRequires:  perl(ExtUtils::Command)
 
 %description

++++++ MoarVM-2019.11.tar.gz -> MoarVM-2020.01.tar.gz ++++++
++++ 6664 lines of diff (skipped)

++++++ moarvm-fix-segfaults-in-openssl.diff ++++++
commit 105d09d62d80a62f40b0db2146eec1a09bfdfb37
Author: Stefan Seifert <[email protected]>
Date:   Mon Jan 6 17:00:23 2020 +0100

    Fix NativeCall libraries losing state during repossession
    
    Repossession of objects calls their gc_free. For NativeCall sites this
    will lead to unloading the library. Doing so causes trouble as the
    module may alreay have run some initialization call as is the case for
    IO::Socket::Async::SSL. Even though we later load the library again, we
    will run into issues.
    Better to keep libraries loaded in the very theoretical case of some
    program only referencing a native call for a while than to run into
    segfaults. So remove the call to MVM_nativecall_free_lib until we have a
    proper solution.

diff --git a/src/6model/reprs/NativeCall.c b/src/6model/reprs/NativeCall.c
index 398e7da56..0eef99b11 100644
--- a/src/6model/reprs/NativeCall.c
+++ b/src/6model/reprs/NativeCall.c
@@ -143,8 +143,11 @@ static void gc_cleanup(MVMThreadContext *tc, MVMSTable 
*st, void *data) {
     MVMNativeCallBody *body = (MVMNativeCallBody *)data;
     if (body->lib_name)
         MVM_free(body->lib_name);
+/* FIXME don't free the library unconditionally, as the handle will be shared 
among NativeCall sites
+ * Also if we're called by repossession, we would use any initialized state of 
the library
     if (body->lib_handle)
         MVM_nativecall_free_lib(body->lib_handle);
+*/
     if (body->arg_types)
         MVM_free(body->arg_types);
     if (body->arg_info)

Reply via email to