[Symphony] Symphony crashes in the preprocessor

Bill Basden wdblists at gmail.com
Mon Jun 21 18:18:30 EDT 2010


Hi Everyone,

I've been getting some crashes due to segfaults in Symphony that are
related to the pre-processor.

The routine prep_basic (Master/master_prep_base.c) will call
prep_improve_variable again if any rows have been deleted in case the
column sizes have changed.  The strange thing is that in this call the
row index (row_ind) is always passed as -1.

   /* if we have deleted some rows, the column sizes might have changed,
      so try to improve those variables one more time */
   if (stats->rows_deleted > 0){
      for (col_ind = 0; col_ind < n; col_ind++){
	 if (cols[col_ind].var_type != 'F' && cols[col_ind].col_size == 0){
	    termcode = prep_improve_variable(P, col_ind, -1, 0,
					     dive_level, TRUE, FALSE,
					     FALSE,
					     0.0,0.0, MAT_COL_ORDERED);
	    if (PREP_QUIT(termcode)){
	       return termcode;
	    }
	 }
      }
   }	

It looks to me that the prep_improve_variable function will always use
that -1 as an index into mip->sense, mip->rhs or rows and  crash.  Am
I missing something?


Thanks,
Bill





More information about the Symphony mailing list