# HG changeset patch # User Aki Tuomi # Date 1499334033 -10800 # Node ID be6d20b5644f0932468a1e658892bb0519010169 # Parent d0c01cdc09c3327d458c1cf45a87ad8eb7427741 virtual: If virtual_uid is not assigned skip it We cannot lookup mails with uid 0, so if we see that mail has virtual uid 0, do not attempt to look it up from index, but skip it. Fixes Panic: file mail-index-map.c: line 549 (mail_index_map_lookup_seq_range): assertion failed: (first_uid > 0) diff -r d0c01cdc09c3 -r be6d20b5644f src/plugins/virtual/virtual-sync.c --- a/src/plugins/virtual/virtual-sync.c Wed Jul 05 15:20:32 2017 +0300 +++ b/src/plugins/virtual/virtual-sync.c Thu Jul 06 12:40:33 2017 +0300 @@ -566,6 +566,10 @@ for (; uid <= uids[i].seq2; uid++, src++) { i_assert(src < rec_count); i_assert(uidmap[src].real_uid == uid); + if (uidmap[src].virtual_uid == 0) { + /* has not been assigned yet */ + continue; + } if (mail_index_lookup_seq(ctx->sync_view, uidmap[src].virtual_uid, &vseq)) @@ -1039,6 +1043,10 @@ uidmap = array_idx(&bbox->uids, 0); for (; idx1 <= idx2; idx1++) { vuid = uidmap[idx1].virtual_uid; + if (vuid == 0) { + /* has not been even assigned yet */ + continue; + } if (!mail_index_lookup_seq(ctx->sync_view, vuid, &vseq)) { /* expunged by another session,