--- a/io.c +++ b/io.c @@ -186,7 +186,16 @@ static void got_flist_entry_status(enum festatus status, const char *buf) int ndx = IVAL(buf, 0); struct file_list *flist = flist_for_ndx(ndx); - assert(flist != NULL); + if (flist == NULL) { + extern struct file_list *first_flist; + int start1 = first_flist ? first_flist->ndx_start : 0; + int start2 = first_flist ? first_flist->prev->ndx_start : 0; + int used = first_flist ? first_flist->prev->used : 0; + rprintf(FERROR, + "File index not found: %d (%d - %d)\n", + ndx, start1 - 1, start2 + used - 1); + exit_cleanup(RERR_PROTOCOL); + } if (remove_source_files) { active_filecnt--;