-
Notifications
You must be signed in to change notification settings - Fork 244
Description
mmseqs search of a pair of sequences against Colabfold env database fails on Mac ARM with 64 GB of memory with a "prefilter died" message and a Mac crash report showing it crashed in C++ Sequence::~Sequence() destructor in Mac free_list_checksum_botch() and malloc_zone_error() which is associated in other bug reports with "Incorrect checksum for freed object: probably modified after being freed." (apache/arrow#40652).
The crash does not seem to be due to too little memory since the crash also happens using mmseqs option --split-memory-limit 32G on this computer with 64 GB. The crash happens with mmseqs release 18 and release 17.
../mmseqs-r18/bin/mmseqs search msas/prof_res ../colabfold_databases/colabfold_envdb_202108_db msas/res_env msas/tmp3 --num-iterations 3 --db-load-mode 0 -a -e 0.1 --max-seqs 10000 --prefilter-mode 0 --k-score 'seq:96,prof:80' >& mmseqs2.out &
Final stack frames from Mac crash dump:
{"imageOffset":37768,"symbol":"__pthread_kill","symbolLocation":8,"imageIndex":1},
{"imageOffset":26764,"symbol":"pthread_kill","symbolLocation":296,"imageIndex":2},
{"imageOffset":494140,"symbol":"abort","symbolLocation":124,"imageIndex":3},
{"imageOffset":57716,"symbol":"malloc_vreport","symbolLocation":892,"imageIndex":4},
{"imageOffset":235860,"symbol":"malloc_zone_error","symbolLocation":100,"imageIndex":4},
{"imageOffset":114292,"symbol":"free_list_checksum_botch","symbolLocation":40,"imageIndex":4},
{"imageOffset":29176,"symbol":"small_free_list_remove_ptr_no_clear","symbolLocation":964,"imageIndex":4},
{"imageOffset":18076,"symbol":"free_small","symbolLocation":632,"imageIndex":4},
{"imageOffset":1369764,"symbol":"Sequence::~Sequence()","symbolLocation":180,"imageIndex":0},
I've attached the full mmseqs log output and the input mmseqs db files ### (prof_res) and the full Mac crash dump. Colabfold env database is the standard colabfold_envdb_202108.tar.gz (https://wwwuser.gwdg.de/~compbiol/colabfold/colabfold_envdb_202108.tar.gz). The mac is running macOS 15.6.1 model Mac Studio M2 Ultra. I did not see this on Linux, Ubuntu 24.04 with 64 GB of memory, although possibly its malloc implementation does not do the malloc free list checksum detection. My guess would be the memory corruption is on all platforms but some are more tolerant.