MannLabs / alphadia

modular & open DIA search
https://alphadia.readthedocs.io
Apache License 2.0
40 stars 3 forks source link

Mono runtime error #260

Open rodvrees opened 1 month ago

rodvrees commented 1 month ago

Hi all,

I've been trying out AlphaDIA (pip installed, as per the directions, including pythonnet and mono) on both orbitrap and timsTOF diaPASEF data with public files from PXD028735. The searches on orbitrap .raw files have been running smoothly, however while running AlphaDIA on the diaPASEF data I repeatedly encounter Mono runtime errors.

Here's my log: log.txt

I've put the thread count at 1 here, but I've attempted the search multiple times with different thread counts and GPU enabled/not enabled, and on different devices, and they all result in the same error (timepoints at which the error appears differ).

Some environment details:

Here's the error:

    Native Crash Reporting

========================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application.

========================================= Native stacktrace:

    0x7f5088933c13 - /home/robbe/miniconda3/envs/alphadia/lib/libmonosgen-2.0.so.1 : 
    0x7f5088933fc9 - /home/robbe/miniconda3/envs/alphadia/lib/libmonosgen-2.0.so.1 : 
    0x7f50888c60bb - /home/robbe/miniconda3/envs/alphadia/lib/libmonosgen-2.0.so.1 : 
    0x7f5088835a5b - /home/robbe/miniconda3/envs/alphadia/lib/libmonosgen-2.0.so.1 : 
    0x7f515d038050 - /lib/x86_64-linux-gnu/libc.so.6 : 
    0x7f506d1f8028 - Unknown
    0x7f506d1da8c2 - Unknown
    0x7f50694743fa - Unknown
    0x7f5069423164 - Unknown
    0x7f50557b155d - Unknown
    0x7f50557b1d17 - Unknown
    0x7f50e3a9103c - /home/robbe/miniconda3/envs/alphadia/lib/python3.12/site-packages/numba/_dispatcher.cpython-312-x86_64-linux-gnu.so : 
    0x7f50e3a91382 - /home/robbe/miniconda3/envs/alphadia/lib/python3.12/site-packages/numba/_dispatcher.cpython-312-x86_64-linux-gnu.so : 
    0x55b425 - /home/robbe/miniconda3/envs/alphadia/bin/python : _PyObject_Call
    0x52b0a2 - /home/robbe/miniconda3/envs/alphadia/bin/python : _PyEval_EvalFrameDefault
    0x57633d - /home/robbe/miniconda3/envs/alphadia/bin/python : 
    0x575e80 - /home/robbe/miniconda3/envs/alphadia/bin/python : 
    0x65b344 - /home/robbe/miniconda3/envs/alphadia/bin/python : 
    0x619fb4 - /home/robbe/miniconda3/envs/alphadia/bin/python : 
    0x7f515d085134 - /lib/x86_64-linux-gnu/libc.so.6 : 
    0x7f515d1057dc - /lib/x86_64-linux-gnu/libc.so.6 : 

========================================= Telemetry Dumper:

Thread 0x7f4f59a6c6c0 may have been prematurely finalized Assertion at mono-threads.c:651, condition `info' not met, function:mono_thread_info_current, [1] 1216590 IOT instruction alphadia -o /home/robbe/alphadia/tims_Human -d --fasta -c -r ".[12].d$"

Let me know if you need any more information. Any help is appreciated as to how to fix this problem, thanks!

rodvrees commented 1 month ago

Hi, just to share that this error persists with version 1.7.1

GeorgWa commented 1 month ago

Hi, thank you for the update. Can you reproducibly trigger the error with a specific file/setting combination?

rodvrees commented 1 month ago

Yes, I can trigger the error repeatedly with the .d folder at ftp.pride.ebi.ac.uk/pride/data/archive/2022/02/PXD028735/LFQ_timsTOFPro_diaPASEF_Human_03.d.zip

Here's my config file (in txt file because GitHub won't let me attach yamls): AlphaDIAconfig.yaml.txt

Thanks!

GeorgWa commented 1 month ago

Thank you! How much memory does your machine have?

rodvrees commented 1 month ago

On this machine I have about 400gb available to me

GeorgWa commented 1 month ago

Okay... this should defined not be an issue 😀 will keep you updated!

GeorgWa commented 1 month ago

Hi, can you try running alphaDIA again with the following environment variables:

NUMBA_BOUNDSCHECK=1
NUMBA_DEVELOPER_MODE=1
NUMBA_FULL_TRACEBACKS=1

See https://numba.readthedocs.io/en/stable/reference/envvars.html This would be a great help!

rodvrees commented 1 month ago

Hi, I've ran it again with the env variables and get the following output (a few indexErrors pop up):

log.txt

And after this AlphaDIA has been hanging for multiple hours without throwing an error. Hope the extra information helps, let me know if you need anything else!

GeorgWa commented 1 month ago

It looks like errors get thrown but it doesn't exit. I was able to reproduce it and will fix it with the next release 👍

GeorgWa commented 1 month ago

Please check the fix released in 1.7.2

rodvrees commented 1 month ago

Hi Georg, I ran the same file-config combination again with 1.7.2 and the numba env variables. Out of bounds errors still appear, but at a different timepoint now. Here's the log: log.txt

GeorgWa commented 1 month ago

Thanks for the quick update, I will look into this!

As a general comment, with timsTOF data large search spaces don't work too well. Searching charge 1-5 and 2 missed cleavages (11mio precursors) will take a very long time and won't be too competetive.