This is part of the excellent error handing in ParMetis (sarcasm intended), 
you would have found it rather quickly in the debugger. (ParMetis code follows)

idx_t BSearch(idx_t n, idx_t *array, idx_t key)
{
  idx_t a=0, b=n, c;

  while (b-a > 8) {
    c = (a+b)>>1;
    if (array[c] > key)
      b = c;
    else
      a = c;
  }

  for (c=a; c<b; c++) {
    if (array[c] == key)
      return c;
  }

  errexit("Key %"PRIDX" not found!\n", key);

  return 0;
}

  So either it is a bug in ParMetis or ParMetis is being passed a "ill-formed" 
graph and not detecting the "ill-formed" graph cleanly.

   What to do? Well we can't spend out lives debugging other peoples libraries 
so ..... I am not sure what to do next? Validate that Parmetis is getting 
reasonable input?

   Barry


On Apr 9, 2012, at 10:19 PM, Mohammad Mirzadeh wrote:

> -on_error_attach_debugger does not start the debugger. I traced it upto the 
> following call:  MatPartitioningApply(). It runs fine up until that function 
> call and then gives the error.
> 
> Also, to make things even look more weird, I got the following once I was 
> running it:
> 
> Key 10176 not found!
> INTERNAL ERROR: Invalid error class (66) encountered while returning from
> PMPI_Waitall.  Please file a bug report.
> 
> Do you happen to know what that could mean? The funny thing is, it only 
> happened once! 
> 
> On Mon, Apr 9, 2012 at 7:57 PM, Jed Brown <jedbrown at mcs.anl.gov> wrote:
> On Mon, Apr 9, 2012 at 21:56, Mohammad Mirzadeh <mirzadeh at gmail.com> wrote:
> :( that's all I see. Do you mean running with -on_error_attach_debugger? 
> 
> Sure, or directly in a debugger. Does execution make it to main? Something is 
> either not catching errors or is improperly calling exit() or similar.
> 

Reply via email to