BUStools / bustools

Tools for working with BUS files
https://bustools.github.io/
BSD 2-Clause "Simplified" License
92 stars 23 forks source link

bustools count crashes on Linux but not on Mac #47

Closed smoretti closed 4 years ago

smoretti commented 4 years ago

Hi

We run bustools on Linux and it crashes for some cases but it does not on Mac for those cases.

bustools count crashes on Linux with those input files on Ubuntu and Fedora, with bustools versions 0.39.4 and 0.39.3, with bustools binary you provide and with bustools compiled with gcc 6. All details below.

Do you know what could cause this? Best

COMMAND LINE: bustools count -o /tmp -g transcripts_to_genes_Homo_sapiens.txt -e matrix.ec -t transcriptsReformat.txt output.correct.sort.bus

INPUT FILES: https://bioinfo.unil.ch/pub/bustools/transcriptsReformat.txt https://bioinfo.unil.ch/pub/bustools/transcripts_to_genes_Homo_sapiens.txt https://bioinfo.unil.ch/pub/bustools/matrix.ec https://bioinfo.unil.ch/pub/bustools/output.correct.sort.bus

ERROR MESSAGE: Error in `./bustools/bustools': double free or corruption (out): 0x0000000003387050 ======= Backtrace: ========= /lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7f5d9f9dd7e5] /lib/x86_64-linux-gnu/libc.so.6(+0x8037a)[0x7f5d9f9e637a] /lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)[0x7f5d9f9ea53c] ./bustools/bustools(_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv+0x1e)[0x4d71de] ./bustools/bustools(_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv+0x47)[0x4d7667] ./bustools/bustools(_Z10parseGenesRKSsRKSt13unordered_mapISsiSt4hashISsESt8equal_toISsESaISt4pairISiEEERSt6vectorIiSaIiEERS9+0x72d)[0x46fb1d] ./bustools/bustools(_Z14bustools_countR12Bustools_opt+0x344)[0x455864] ./bustools/bustools(main+0x28ca)[0x44743a] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7f5d9f986830] ./bustools/bustools[0x447c81] ======= Memory map: ======== 00400000-0051d000 r-xp 00000000 08:11 8397949 bustools/bustools 0071d000-00725000 rw-p 0011d000 08:11 8397949 bustools/bustools 00725000-00739000 rw-p 00000000 00:00 0 01d5f000-03961000 rw-p 00000000 00:00 0 [heap] 7f5d98000000-7f5d98021000 rw-p 00000000 00:00 0 7f5d98021000-7f5d9c000000 ---p 00000000 00:00 0 7f5d9f463000-7f5d9f966000 rw-p 00000000 00:00 0 7f5d9f966000-7f5d9fb26000 r-xp 00000000 08:11 2883981 /lib/x86_64-linux-gnu/libc-2.23.so 7f5d9fb26000-7f5d9fd26000 ---p 001c0000 08:11 2883981 /lib/x86_64-linux-gnu/libc-2.23.so 7f5d9fd26000-7f5d9fd2a000 r--p 001c0000 08:11 2883981 /lib/x86_64-linux-gnu/libc-2.23.so 7f5d9fd2a000-7f5d9fd2c000 rw-p 001c4000 08:11 2883981 /lib/x86_64-linux-gnu/libc-2.23.so 7f5d9fd2c000-7f5d9fd30000 rw-p 00000000 00:00 0 7f5d9fd30000-7f5d9fd46000 r-xp 00000000 08:11 2888112 /lib/x86_64-linux-gnu/libgcc_s.so.1 7f5d9fd46000-7f5d9ff45000 ---p 00016000 08:11 2888112 /lib/x86_64-linux-gnu/libgcc_s.so.1 7f5d9ff45000-7f5d9ff46000 rw-p 00015000 08:11 2888112 /lib/x86_64-linux-gnu/libgcc_s.so.1 7f5d9ff46000-7f5da004e000 r-xp 00000000 08:11 2883984 /lib/x86_64-linux-gnu/libm-2.23.so 7f5da004e000-7f5da024d000 ---p 00108000 08:11 2883984 /lib/x86_64-linux-gnu/libm-2.23.so 7f5da024d000-7f5da024e000 r--p 00107000 08:11 2883984 /lib/x86_64-linux-gnu/libm-2.23.so 7f5da024e000-7f5da024f000 rw-p 00108000 08:11 2883984 /lib/x86_64-linux-gnu/libm-2.23.so 7f5da024f000-7f5da0256000 r-xp 00000000 08:11 2883827 /lib/x86_64-linux-gnu/librt-2.23.so 7f5da0256000-7f5da0455000 ---p 00007000 08:11 2883827 /lib/x86_64-linux-gnu/librt-2.23.so 7f5da0455000-7f5da0456000 r--p 00006000 08:11 2883827 /lib/x86_64-linux-gnu/librt-2.23.so 7f5da0456000-7f5da0457000 rw-p 00007000 08:11 2883827 /lib/x86_64-linux-gnu/librt-2.23.so 7f5da0457000-7f5da046f000 r-xp 00000000 08:11 2883968 /lib/x86_64-linux-gnu/libpthread-2.23.so 7f5da046f000-7f5da066e000 ---p 00018000 08:11 2883968 /lib/x86_64-linux-gnu/libpthread-2.23.so 7f5da066e000-7f5da066f000 r--p 00017000 08:11 2883968 /lib/x86_64-linux-gnu/libpthread-2.23.so 7f5da066f000-7f5da0670000 rw-p 00018000 08:11 2883968 /lib/x86_64-linux-gnu/libpthread-2.23.so 7f5da0670000-7f5da0674000 rw-p 00000000 00:00 0 7f5da0674000-7f5da069a000 r-xp 00000000 08:11 2883868 /lib/x86_64-linux-gnu/ld-2.23.so 7f5da086c000-7f5da0871000 rw-p 00000000 00:00 0 7f5da0898000-7f5da0899000 rw-p 00000000 00:00 0 7f5da0899000-7f5da089a000 r--p 00025000 08:11 2883868 /lib/x86_64-linux-gnu/ld-2.23.so 7f5da089a000-7f5da089b000 rw-p 00026000 08:11 2883868 /lib/x86_64-linux-gnu/ld-2.23.so 7f5da089b000-7f5da089c000 rw-p 00000000 00:00 0 7ffd6990c000-7ffd6992e000 rw-p 00000000 00:00 0 [stack] 7ffd699a4000-7ffd699a6000 r--p 00000000 00:00 0 [vvar] 7ffd699a6000-7ffd699a8000 r-xp 00000000 00:00 0 [vdso] ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall] Aborted (core dumped)

sbooeshaghi commented 4 years ago

Hey, I looked at this issue. I believe the problem is that the transcriptsReformat.txt contains more transcripts than are in the transcripts_to_genes mapping file. This is causing memory management errors that are handled differently between Mac and Ubuntu. Bustools should raise an error if it encounters this, we will make that change. When processing your data, make sure that the transcripts in the original FASTA file, which was used to make the index, are all in the transcripts-to-genes map. In addition, it is important that the transcripts.txt file remains unchanged after being output from the kallisto bus command. We have simplified this workflow into an easy to use wrapper for kallisto and bustools called kb. For tutorials on how to use kb please see the tutorial page here. If this solves your problem, please close this issue. Thanks!

SFonsecaCosta commented 4 years ago

Hey @sbooeshaghi , sorry for my delay in get back to you. First of all thank you for your time and help. Yes, this solve our problem ( @smoretti ), in the reality what happened was the transcripts_to_genes file missed the information about intergenic regions (we use a .fa file that contain genic and intergenic regions to generate the index and in the first run with bustools the transcript_to_gene did not contain the intergenic information but just the genic). Once again thanks!