grimme-lab / enso

energetic sorting of conformer rotamer ensembles
https://xtb-docs.readthedocs.io/en/latest/enso_doc/enso.html
GNU Lesser General Public License v3.0
10 stars 8 forks source link

forrtl: severe (174): SIGSEGV, segmentation fault occurred #15

Open gabrieliacc opened 3 years ago

gabrieliacc commented 3 years ago

Hi all,

I run enso successfully using the example of cis-4-hexen-1-ol. However, i have the netxt error message when I run ANMR:

forrtl: severe (174): SIGSEGV, segmentation fault occurred Image PC Routine Line Source
anmr 00000000016BD8E4 Unknown Unknown Unknown anmr 000000000186A290 Unknown Unknown Unknown anmr 0000000000408263 Unknown Unknown Unknown anmr 000000000040205E Unknown Unknown Unknown anmr 000000000186AE60 Unknown Unknown Unknown anmr 0000000000401F47 Unknown Unknown Unknown

I checked that all the needed files are in the folder. Also, I tested to run previous versions and different workstations, but I always had the same error. Should I set the memory in order to increase the default ? If that the problem, how can i do that?

Thank you in advance

Gabriel Post-doctoral fellow at LNBio/CNPEM Campinas, SP, Brazil

gabrieliacc commented 3 years ago

I can correct the error using ulimit -s unlimited Thank you

fabothch commented 3 years ago

Thank you for pointing this out. I will update the documentation so that this is clear.

By the way: Since you are most probably also using xTB: ulimit -s unlimited should be used in general for xtb See: https://xtb-docs.readthedocs.io/en/latest/setup.html#setting-up-xtb

All the best,

Fabian

gabrieliacc commented 3 years ago

You are right, but I could run xtb without explicitly set "ulimit -s unlimited".

Best regards

Gabriel

awvwgk commented 3 years ago

xtb nowadays runs seldom into issues with stackoverflows since I removed most of the automatic arrays from the core implementation, yet stackoverflows happen from time to time also in xtb when you least expect them, setting ulimit -s unlimited mitigates this problem before it becomes one.

Compared to this anmr still relies heavily on automatic arrays which are placed on the stack rather than on the heap, requiring an adequately sized system stack to avoid running into stackoverflows.

gabrieliacc commented 3 years ago

Thank you Sebastian Ehlert for you very clear explanation.

Best regards

Gabriel

Vilsenhet commented 3 years ago

I'm having the exact same problem with running anmr. I have set ulimit -s unlimited successfully, and I carefully followed all of the instructions on the setting up xtb page, but I'm still getting the severe (174) segmentation fault error. I've successfully followed the usage example all the way up to the anmr command. I'm pretty new to all of this, so is there something I'm doing wrong? I've simply put the anmr statically compiled binary in my path, is there something else I need to do with it, like setting LD_LIBRARY_PATH or something? I'm running windows subsystem for linux, ubuntu distribution on a windows 10 machine. I appreciate any help, thanks!

fabothch commented 3 years ago

Hi,

can you run anmr -h and get the anmr help page printed to your terminal? If not please type ulimit -s unlimited in your terminal and re-run anmr -h. Does the output appear now? Best,

Fabian

Vilsenhet commented 3 years ago

Thanks for the speedy response Fabian. No, I've tried it, and I get the exact same forrtl: severe (174) segfault error. I've double and triple checked that stack size is unlimited by running "ulimit -s" to verify that the printed response is "unlimited". It doesn't seem to matter what arguments I pass to anmr, the segfault error originally reported by Gabriel always comes up.

I'm not sure if this helps at all (again, I'm pretty new to all of this and I'm just following google suggestions), but I backtraced the segfault using gdb and I get:

0x000000000186ae60 in libc_start_main (main=0x402030

, argc=1, argv=0x7ffffffedd58, init=0x186b2f0 <libc_csu_init>, fini=0x186b380 <__libc_csu_fini>, rtld_fini=0x0, stack_end=0x7ffffffedd48) at libc-start.c:285 285 libc-start.c: No such file or directory.

fabothch commented 3 years ago

I will have to check if I can find an error. On my machine setting ulimit -s unlimited removes all stackoverflows

Vilsenhet commented 3 years ago

Thanks, I appreciate your help. I was really excited to find this program. Accurately simulating NMR spectra would really help in my research. I've spent hours trying to figure out how to set up all of this to get it up and running. I'll be really disappointed if I can't overcome this final roadblock. Let me know if you come up with anything, or if you have any other tips or tricks for me to try.

fabothch commented 3 years ago

I recompiled the anmr binary anmr-new. You can test if this hopefully fixes your issue.

jouteurestaque commented 2 years ago

Hi I have also that error, and the only way to resolve, was to lower the amount of confs. Albeit some other calculations work fine with more conformers to analyze, even the same exact compound analyze with crest or crest_combi. I have to say I don't understand

jouteurestaque commented 2 years ago

Edit on that part. I think the problem was the file done with crenso somehow, with censo I don't get that error