amkozlov / raxml-ng

RAxML Next Generation: faster, easier-to-use and more flexible
GNU Affero General Public License v3.0
374 stars 62 forks source link

BL opt converged to a worse likelihood score #183

Open fluttercork opened 1 month ago

fluttercork commented 1 month ago
          @fluttercork thanks for reporting, but this is completely different error.

Which installation method have you used? We saw similar errors before on macOS/M2 due to (presumably) weird compilation issues. Can you reproduce the error with the pre-compiled binary?

https://github.com/amkozlov/raxml-ng/releases/download/1.2.2/raxml-ng_v1.2.2_macos.zip

Originally posted by @amkozlov in https://github.com/amkozlov/raxml-ng/issues/170#issuecomment-2124533293

fluttercork commented 1 month ago

Thanks. I've created a new issue for it. And the error is coming from the pre-compiled binary.


Here is the original error message:

libc++abi: terminating due to uncaught exception of type std::runtime_error: ERROR in SPR round (LIBPLL-2240): BL opt converged to a worse likelihood score by -59510.203966771397972 units

And the call on an Apple M2 (8 cores, 24 GB RAM) macOS 14.5:

raxml-ng --msa strepsirrhini_batchNG.phylip --msa-format PHYLIP --data-type DNA --prefix strepsirrhini --redo --seed 4384 --model strepsirrhini_genePartitions.txt --all --bs-trees 1000 --tree rand{10},pars{10} --outgroup Tupaia_belangeri --threads auto{4} --workers auto{4}

amkozlov commented 1 month ago

OK I see, could you please upload strepsirrhini_batchNG.phylip?

fluttercork commented 1 month ago

Here it is, together with the partition file. strepsirrhini_batchNG.phylip.txt strepsirrhini_genePartitions.txt

amkozlov commented 1 month ago

Thank you, could you please also upload full raxml-ng execution log?

fluttercork commented 1 month ago

Thanks for looking into this. Here it is. strepsirrhini.raxml.log.txt

amkozlov commented 1 month ago

I don't have easy access to M2, but I just tested on M1 and it runs without errors.

Could you please post the result of:

which raxml-ng | xargs md5
fluttercork commented 1 month ago

It's

MD5 (/Users/xxx/bin/raxml-ng) = a1d48b44edbfa7d172c23d5b3f766500

amkozlov commented 1 month ago

Thanks, this looks good.

So it does indeed look like the problem is specific to the M2 hardware, which is quite surprising tbh, and makes it challenging to debug.

As a quick workaround, you can try the following:

fluttercork commented 1 month ago

I tried the --blopt option first and it died with a different error:

Assertion failed: (new_loglikelihood - loglikelihood > new_loglikelihood * BETTER_LL_TRESHOLD), function pllmod_opt_optimize_branch_lengths_local_multi, file pll_optimize.c, line 1903.

Here's the log file: strepsirrhini.raxml.log.txt

Will now try running raxml-ng in Rosetta ...

fluttercork commented 1 month ago

A quick update: running it in Rosetta worked. Thanks for the workaround!