[Mauiusers] maui bug: MJobSelectMNL() - MNodeList gets blanked if preemption is needed

Toni L. Harbaugh-Blackford [Contr] harbaugh at abcc.ncifcrf.gov
Wed Feb 14 04:06:35 MST 2007

There is a bug in MSched.c of maui-3.2.6p19snap1164984590 which causes the
MNodeList variable to be emptied instead of being filled.

In MJobSelectMNL(), a local variable tmpMNL is created to hold the nodelist,
which is then supposed to be copied into the argument MNodeList later by a call
to MJobNLDistribute().

However, at line 1896 right before the nodelist is to be filled, rather than use
the location of the local variable tmpMNL, the location of the *real* nodelist
variable MNodeList is set the pointer.  This allows the MNodeList to be filled
in lines 1898-1961, but then it gets blanked by the call to MJobNLDistribute()
at line 1993 since tmpMNL is empty.

Here is a one line patch to fix the problem:

--- maui-3.2.6p19snap1164984590/src/moab/MSched.c_orig	2006-12-01 10:10:02.000000000 -0500
+++ maui-3.2.6p19snap1164984590/src/moab/MSched.c	2007-02-14 05:48:01.000000000 -0500
@@ -1893,7 +1893,7 @@

       nindex = TotalAvailINC;  /* HACK */

-      NodeList = (mnalloc_t *)MNodeList[0];
+      NodeList = (mnalloc_t *)tmpMNL[0];

       for (jindex = 0;PreempteeJobList[jindex] != NULL;jindex++)

Toni Harbaugh-Blackford                   harbaugh at abcc.ncifcrf.gov
System Administrator
Advanced Biomedical Computing Center (ABCC)
National Cancer Institute
Contractor - SAIC/Frederick

More information about the mauiusers mailing list