Summary
The Linux x86_64 AVX2 build of foldseek from https://mmseqs.com/foldseek/foldseek-linux-avx2.tar.gz (continuous master HEAD, BuildID 8a31a73a..., dated 2026-03-10, commit message "Set chain tm default paramter to 0") heap-corrupts and aborts inside the internal clust step of easy-multimercluster when given certain mixed-chain-count input sets:
[================================================================ munmap_chunk(): invalid pointer
Aborted (core dumped)
Error: Clustering died
Error: Multimercluster died
The same inputs cluster cleanly with the v10 tagged release (10-941cd33, Jan 2025), so this is a regression introduced somewhere in the master commits between Jan 2025 and March 2026.
Trigger
Any input set with 3 or more multimers that contains a 3-chain assembly mixed with non-3-chain assemblies. 2-input sets always work; 3+-sets with all-same chain counts work; 3+-sets with a 3-chain assembly mixed with 2-chain or 4-chain crash.
| Input set |
Chain counts |
Result |
| 1TIM + 8TIM |
2, 2 |
pass |
| 3BIK + 1TIM |
3, 2 |
pass (2-set) |
| 4HHB + 2HHB |
4, 4 |
pass |
| 3BIK + 1TIM + 8TIM |
3, 2, 2 |
CRASH |
| 3BIK + 4HHB + 2HHB |
3, 4, 4 |
CRASH |
| 4HHB + 2HHB + 1TIM |
4, 4, 2 |
pass |
| 4HHB + 1TIM + 8TIM |
4, 2, 2 |
pass |
| 3BIK + 3CMP + 3SE8 |
3, 3, 3 |
pass (homogeneous) |
| 3BIK (chain C stripped) + 1TIM + 8TIM |
2, 2, 2 |
pass |
| 3BIK (HETATMs stripped) + 1TIM + 8TIM |
3, 2, 2 |
crash |
Stripping HETATMs from 3BIK doesn't help; stripping its 3rd chain (making it 2-chain) does. So the trigger is the chain-count combination, not the file content.
Reproduction
mkdir -p /tmp/fs_repro/structures /tmp/fs_repro/fs_tmp
for pdb in 3BIK 1TIM 8TIM; do
curl -sS "https://files.rcsb.org/download/${pdb}.pdb" \
-o "/tmp/fs_repro/structures/${pdb}.pdb"
done
foldseek easy-multimercluster \
/tmp/fs_repro/structures \
/tmp/fs_repro/multimercluster \
/tmp/fs_repro/fs_tmp \
--multimer-tm-threshold 0.65 \
--chain-tm-threshold 0.001 \
--interface-lddt-threshold 0.5 \
--alignment-type 2 \
--tmscore-threshold 0.0 \
--lddt-threshold 0.0 \
--threads 2
End of stderr:
Add missing connections
[================================================================ munmap_chunk(): invalid pointer
Aborted (core dumped)
Error: Clustering died
Error: Multimercluster died
Bisection
- v10 (
10-941cd33, Jan 2025) — https://github.com/steineggerlab/foldseek/releases/download/10-941cd33/foldseek-linux-avx2.tar.gz — handles all the above input sets cleanly.
- master HEAD (BuildID
8a31a73a..., 2026-03-10) — https://mmseqs.com/foldseek/foldseek-linux-avx2.tar.gz — crashes as shown.
The regression was introduced somewhere in master between the v10 tag and 2026-03-10. The crash signature points at the clust "Add missing connections" phase.
Environment
- OS: Linux 5.15.0-176-generic, x86_64
- Inputs: vanilla RCSB PDB downloads, no preprocessing
- Reproduction is deterministic (fires on every invocation with the same inputs)
Summary
The Linux x86_64 AVX2 build of
foldseekfromhttps://mmseqs.com/foldseek/foldseek-linux-avx2.tar.gz(continuous master HEAD, BuildID8a31a73a..., dated 2026-03-10, commit message "Set chain tm default paramter to 0") heap-corrupts and aborts inside the internalcluststep ofeasy-multimerclusterwhen given certain mixed-chain-count input sets:The same inputs cluster cleanly with the v10 tagged release (
10-941cd33, Jan 2025), so this is a regression introduced somewhere in the master commits between Jan 2025 and March 2026.Trigger
Any input set with 3 or more multimers that contains a 3-chain assembly mixed with non-3-chain assemblies. 2-input sets always work; 3+-sets with all-same chain counts work; 3+-sets with a 3-chain assembly mixed with 2-chain or 4-chain crash.
Stripping HETATMs from 3BIK doesn't help; stripping its 3rd chain (making it 2-chain) does. So the trigger is the chain-count combination, not the file content.
Reproduction
End of stderr:
Bisection
10-941cd33, Jan 2025) —https://github.com/steineggerlab/foldseek/releases/download/10-941cd33/foldseek-linux-avx2.tar.gz— handles all the above input sets cleanly.8a31a73a..., 2026-03-10) —https://mmseqs.com/foldseek/foldseek-linux-avx2.tar.gz— crashes as shown.The regression was introduced somewhere in master between the v10 tag and 2026-03-10. The crash signature points at the
clust"Add missing connections" phase.Environment