Likely due to different compiler behaviour for UB.
std::string get_umi(...) {
...
int umi_start, umi_length;
std::string umi_pad = "";
umi_length = search_pattern[umi_index].second.length();
if (umi_index == -1) {
return ""; // protocol does not have UMI
}
...
}
When umi_index is negative, this is UB.
Will roll out a patch and tests soon