Found the problem. Was accessing a boolean variable using intval. That
is a bug that has gone unnoticed on all platforms but thankfully Solaris
caught it.

Please try the attached patch.

-Nathan

On Wed, Dec 18, 2013 at 12:27:29PM +0100, Siegmar Gross wrote:
> Hi,
> 
> today I installed openmpi-1.7.4rc1 on Solaris 10 Sparc with Sun
> C 5.12. Unfortunately my problems with bus errors, which I reported
> December 4th for openmpi-1.7.4a1r29784 at us...@open-mpi.org, are
> not solved yet. Has somebody time to look into that matter or is
> Solaris support abandoned, so that I have to stay with openmpi-1.6.x
> in the future? Thank you very much for any help in advance.
> 
> 
> Kind regards
> 
> Siegmar
> 
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/devel
diff --git a/opal/mca/base/mca_base_var.c b/opal/mca/base/mca_base_var.c
index 7b55eb8..c043c06 100644
--- a/opal/mca/base/mca_base_var.c
+++ b/opal/mca/base/mca_base_var.c
@@ -1682,7 +1682,11 @@ static int var_value_string (mca_base_var_t *var, char 
**value_string)
 
         ret = (0 > ret) ? OPAL_ERR_OUT_OF_RESOURCE : OPAL_SUCCESS;
     } else {
-        ret = var->mbv_enumerator->string_from_value(var->mbv_enumerator, 
value->intval, &tmp);
+        if (MCA_BASE_VAR_TYPE_BOOL == var->mbv_type) {
+            ret = var->mbv_enumerator->string_from_value(var->mbv_enumerator, 
value->boolval, &tmp);
+        } else {
+            ret = var->mbv_enumerator->string_from_value(var->mbv_enumerator, 
value->intval, &tmp);
+        }
 
         *value_string = strdup (tmp);
         if (NULL == value_string) {

Attachment: pgpFNtma5UKPz.pgp
Description: PGP signature

Reply via email to