Hello community,

here is the log from the commit of package openmpi2 for openSUSE:Factory 
checked in at 2017-07-21 22:50:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openmpi2 (Old)
 and      /work/SRC/openSUSE:Factory/.openmpi2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openmpi2"

Fri Jul 21 22:50:02 2017 rev:2 rq:511600 version:2.1.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/openmpi2/openmpi2-testsuite.changes      
2017-07-19 11:20:18.314620791 +0200
+++ /work/SRC/openSUSE:Factory/.openmpi2.new/openmpi2-testsuite.changes 
2017-07-21 22:50:04.143059287 +0200
@@ -1,0 +2,18 @@
+Wed Jul 19 15:18:49 UTC 2017 - [email protected]
+
+- Fix module file name
+
+-------------------------------------------------------------------
+Wed Jul 12 08:02:32 UTC 2017 - [email protected]
+
+- Add pml-ob1-do-not-access-fragment-after-calling-btl-rget.patch and
+  btl-vader-work-around-ob1-pending-fragment-bug.patch
+  to fix upstream bug https://github.com/open-mpi/ompi/issues/3821
+  which causes openmpi2 to fail the IMB test suite
+
+-------------------------------------------------------------------
+Tue Jul 11 09:44:34 UTC 2017 - [email protected]
+
+- Do not require openucx libs for suse_version < 1320
+
+-------------------------------------------------------------------
openmpi2.changes: same change

New:
----
  btl-vader-work-around-ob1-pending-fragment-bug.patch
  pml-ob1-do-not-access-fragment-after-calling-btl-rget.patch

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

Other differences:
------------------
++++++ openmpi2-testsuite.spec ++++++
--- /var/tmp/diff_new_pack.aFIicu/_old  2017-07-21 22:50:05.970801462 +0200
+++ /var/tmp/diff_new_pack.aFIicu/_new  2017-07-21 22:50:05.970801462 +0200
@@ -46,9 +46,11 @@
 %define modulefile_path /usr/share/modules
 %define modulefile_subdir gnu-openmpi2
 
+%if 0%{?suse_version} >= 1320
 %ifnarch s390 armv7hl %{ix86}
 %define with_ucx 1
 %endif
+%endif
 
 #############################################################################
 #
@@ -66,6 +68,8 @@
 Source0:        openmpi-%{version}.tar.bz2
 Source1:        baselibs.conf
 Source2:        openmpi2-rpmlintrc
+Patch0:         pml-ob1-do-not-access-fragment-after-calling-btl-rget.patch
+Patch1:         btl-vader-work-around-ob1-pending-fragment-bug.patch
 Provides:       mpi
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  Modules
@@ -237,6 +241,8 @@
 #############################################################################
 %prep
 %setup -q -n openmpi-%{version}
+%patch0
+%patch1
 
 #############################################################################
 #
@@ -301,7 +307,7 @@
 # First, the modulefile
 
 mkdir -p "%{buildroot}/%{modulefile_path}/%{modulefile_subdir}"
-cat <<EOF 
>"%{buildroot}/%{modulefile_path}/%{modulefile_subdir}/%{modulefile_name}"
+cat <<EOF >"%{buildroot}/%{modulefile_path}/%{modulefile_subdir}/%{version}"
 #%Module
 
 # NOTE: This is an automatically-generated file!  (generated by the

++++++ openmpi2.spec ++++++
--- /var/tmp/diff_new_pack.aFIicu/_old  2017-07-21 22:50:05.998797512 +0200
+++ /var/tmp/diff_new_pack.aFIicu/_new  2017-07-21 22:50:06.002796948 +0200
@@ -46,9 +46,11 @@
 %define modulefile_path /usr/share/modules
 %define modulefile_subdir gnu-openmpi2
 
+%if 0%{?suse_version} >= 1320
 %ifnarch s390 armv7hl %{ix86}
 %define with_ucx 1
 %endif
+%endif
 
 #############################################################################
 #
@@ -66,6 +68,8 @@
 Source0:        openmpi-%{version}.tar.bz2
 Source1:        baselibs.conf
 Source2:        openmpi2-rpmlintrc
+Patch0:         pml-ob1-do-not-access-fragment-after-calling-btl-rget.patch
+Patch1:         btl-vader-work-around-ob1-pending-fragment-bug.patch
 Provides:       mpi
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  Modules
@@ -237,6 +241,8 @@
 #############################################################################
 %prep
 %setup -q -n openmpi-%{version}
+%patch0
+%patch1
 
 #############################################################################
 #
@@ -301,7 +307,7 @@
 # First, the modulefile
 
 mkdir -p "%{buildroot}/%{modulefile_path}/%{modulefile_subdir}"
-cat <<EOF 
>"%{buildroot}/%{modulefile_path}/%{modulefile_subdir}/%{modulefile_name}"
+cat <<EOF >"%{buildroot}/%{modulefile_path}/%{modulefile_subdir}/%{version}"
 #%Module
 
 # NOTE: This is an automatically-generated file!  (generated by the

++++++ btl-vader-work-around-ob1-pending-fragment-bug.patch ++++++
diff --git opal/mca/btl/vader/btl_vader_send.c 
opal/mca/btl/vader/btl_vader_send.c
index 08bfa5a623..ba3be9f491 100644
--- opal/mca/btl/vader/btl_vader_send.c
+++ opal/mca/btl/vader/btl_vader_send.c
@@ -49,6 +49,10 @@ int mca_btl_vader_send (struct mca_btl_base_module_t *btl,
         return 1;
     }
 
+    /* in order to work around a long standing ob1 bug (see #3845) we have to 
always
+     * make the callback. once this is fixed in ob1 we can restore the code 
below. */
+    frag->base.des_flags |= MCA_BTL_DES_SEND_ALWAYS_CALLBACK;
+
     /* header (+ optional inline data) */
     frag->hdr->len = total_size;
     /* type of message, pt-2-pt, one-sided, etc */
@@ -69,6 +73,9 @@ int mca_btl_vader_send (struct mca_btl_base_module_t *btl,
         return OPAL_SUCCESS;
     }
 
+    return OPAL_SUCCESS;
+
+#if 0
     if ((frag->hdr->flags & MCA_BTL_VADER_FLAG_SINGLE_COPY) ||
         !(frag->base.des_flags & MCA_BTL_DES_FLAGS_BTL_OWNERSHIP)) {
         frag->base.des_flags |= MCA_BTL_DES_SEND_ALWAYS_CALLBACK;
@@ -79,4 +86,5 @@ int mca_btl_vader_send (struct mca_btl_base_module_t *btl,
     /* data is gone (from the pml's perspective). frag callback/release will
        happen later */
     return 1;
+#endif
 }
++++++ pml-ob1-do-not-access-fragment-after-calling-btl-rget.patch ++++++
diff --git ompi/mca/pml/ob1/pml_ob1_recvreq.c ompi/mca/pml/ob1/pml_ob1_recvreq.c
index f4cfb67736..e8b98e62bc 100644
--- ompi/mca/pml/ob1/pml_ob1_recvreq.c
+++ ompi/mca/pml/ob1/pml_ob1_recvreq.c
@@ -755,13 +755,14 @@ void mca_pml_ob1_recv_request_progress_rget( 
mca_pml_ob1_recv_request_t* recvreq
             frag->rdma_length = bytes_remaining;
         }
 
+        prev_sent = frag->rdma_length;
+
         /* NTH: TODO -- handle error conditions gracefully */
         rc = mca_pml_ob1_recv_request_get_frag(frag);
         if (OMPI_SUCCESS != rc) {
             break;
         }
 
-        prev_sent = frag->rdma_length;
         bytes_remaining -= prev_sent;
         offset += prev_sent;
     }

Reply via email to