arangrhie / merfin

Evaluate variant calls and its combination with k-mer multiplicity
Apache License 2.0
63 stars 5 forks source link

Failed with 'Aborted'; backtrace (libbacktrace): #17

Open kunlingtianxia opened 1 year ago

kunlingtianxia commented 1 year ago

Hi, I got an error when running merfin (-polish) :

terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc

Failed with 'Aborted'; backtrace (libbacktrace):

Failed with 'Segmentation fault'; backtrace (libbacktrace): /var/spool/slurm/d/job4944107/slurm_script: line 8: 23698 Segmentation fault merfin -polish -threads 2 -sequence merge.filter.uniq.vcf -readmers union.meryl -peak 46.4 -prob lookup_table.txt -seqmers /public1/home/seq.fa.meryl -output merfin -memory 1000

Could someone help me?

brianwalenz commented 1 year ago

That looks like an 'out of memory' error. Note that the '-memory' option is in gigabytes, so you're telling it there is 1 TB of memory available for use. Post in the merfin output if you need more help.

Johnsonzcode commented 7 months ago

That looks like an 'out of memory' error. Note that the '-memory' option is in gigabytes, so you're telling it there is 1 TB of memory available for use. Post in the merfin output if you need more help.

Same error, I also tried with -memory 300. My server is a fat node with 1 Tb memory. And there is 700Gb memory left.

brianwalenz commented 7 months ago

We've occasionally seen corrupt meryl databases do this. If meryl greater-than 1000 database.meryl suffers the same fate, that's likely the problem. Test both the -readmers and -seqmers databases.

Johnsonzcode commented 7 months ago

We've occasionally seen corrupt meryl databases do this. If meryl greater-than 1000 database.meryl suffers the same fate, that's likely the problem. Test both the -readmers and -seqmers databases.

Thank you so much for your quick reply! I will test my meryl databases.

Johnsonzcode commented 7 months ago

We've occasionally seen corrupt meryl databases do this. If meryl greater-than 1000 database.meryl suffers the same fate, that's likely the problem. Test both the -readmers and -seqmers databases.

Thank you so much for your quick reply! I will test my meryl databases.

I tried new run with new meryl databases for -seqmers and -readmers and I can be sure there is no broken for meryl databases, but same error. And try this two databases with meryl greater-than 1000 database.meryl, same error.

First run:

merfin -polish \
-vcf "${MERGE_VCF_OUTPUT}" \
-threads "${THREADS}" \
-sequence "${INPUT_DIR}"/$REF \
-readmers "${INPUT_DIR}"/"hifi_k18_gt1.meryl" \
-prob "${LOOKUP_TABLE}" \
-peak $kcov \
-output "${MERFIN_OUTPUT}" \
-seqmers "${INPUT_DIR}"/asm_2.9.fa.meryl

Second run:

merfin -polish \
-vcf "${MERGE_VCF_OUTPUT}" \
-threads "${THREADS}" \
-sequence "${INPUT_DIR}"/$REF \
-readmers "${INPUT_DIR}"/"hifi_k18_gt1k.meryl" \
-prob "${LOOKUP_TABLE}" \
-peak $kcov \
-output "${MERFIN_OUTPUT}" \
-seqmers "${INPUT_DIR}"/asm_2.9_gt1k.fa.meryl

Same error:

Failed with 'Processing sequence ptg000432l for variants
Aborted'; backtrace (libbacktrace):

Failed with 'Segmentation fault'; backtrace (libbacktrace):
SV_fix_for_asm.sh: line 247: 429801 Segmentation fault      (core dumped) merfin -polish -vcf "${MERGE_VCF_OUTPUT}" -threads "${THREADS}" -sequence "${INPUT_DIR}"/$REF -readmers "${READMER_DB}" -prob "${LOOKUP_TABLE}" -peak $kcov -output "${MERFIN_OUTPUT}" -seqmers "${INPUT_DIR}"/asm_2.9_gt1k.fa.meryl
Johnsonzcode commented 7 months ago

The information generated by gdb merfin core.429801

Dwarf Error: wrong version in compilation unit header (is 5, should be 2, 3, or 4) [in module /storage-01/poultrylab1/mambaforge/lib/libstdc++.so.6]
Dwarf Error: wrong version in compilation unit header (is 5, should be 2, 3, or 4) [in module /storage-01/poultrylab1/mambaforge/lib/libgomp.so.1]
Dwarf Error: wrong version in compilation unit header (is 5, should be 2, 3, or 4) [in module /storage-01/poultrylab1/mambaforge/lib/libgcc_s.so.1]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `merfin -polish -vcf /storage-02/zhaoqiangsen/genome_asm/8.compare_with_referenc'.
Program terminated with signal 11, Segmentation fault.
#0  0x0000000000000000 in ?? ()
Missing separate debuginfos, use: debuginfo-install glibc-2.17-326.el7_9.x86_64
Johnsonzcode commented 7 months ago

The information generated by gdb merfin core.429801

Dwarf Error: wrong version in compilation unit header (is 5, should be 2, 3, or 4) [in module /storage-01/poultrylab1/mambaforge/lib/libstdc++.so.6]
Dwarf Error: wrong version in compilation unit header (is 5, should be 2, 3, or 4) [in module /storage-01/poultrylab1/mambaforge/lib/libgomp.so.1]
Dwarf Error: wrong version in compilation unit header (is 5, should be 2, 3, or 4) [in module /storage-01/poultrylab1/mambaforge/lib/libgcc_s.so.1]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `merfin -polish -vcf /storage-02/zhaoqiangsen/genome_asm/8.compare_with_referenc'.
Program terminated with signal 11, Segmentation fault.
#0  0x0000000000000000 in ?? ()
Missing separate debuginfos, use: debuginfo-install glibc-2.17-326.el7_9.x86_64

Maybe it is related with libthread