Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Packaged pplacer produces segmentation fault #121

Open
rpetit3 opened this issue Jun 29, 2022 · 4 comments
Open

Packaged pplacer produces segmentation fault #121

rpetit3 opened this issue Jun 29, 2022 · 4 comments

Comments

@rpetit3
Copy link

rpetit3 commented Jun 29, 2022

I'm running sepp, through busco and am currently experiencing the following with the included pplacer:

pplacer
Segmentation fault

If I install the latest version of pplacer from bioconda, I no longer get the segmentation fault.

Do you have any recommendations on how to fix this?

OS Details

PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

Update:

Works fine on another system

NAME="Red Hat Enterprise Linux Server"
VERSION="7.9 (Maipo)"
ID="rhel"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.9"
PRETTY_NAME=Storage
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:7.9:GA:server"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7"
REDHAT_BUGZILLA_PRODUCT_VERSION=7.9
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="7.9"
@RTH-tools
Copy link

Yes, please update pplacer to the latest version of binaries from either the pplacer homepage or from bioconda.

@smirarab
Copy link
Owner

Updating the bundled version will require extensive tests, which I am unable to perform at the moment. As a workaround, you can use the config file to ask SEPP to run a different pplacer. When you run run_sepp.py -h, you will get a statement that shows root_p=.... I that path, there is a file called main.config that can be used to make this adjustment.

@sjanssen2
Copy link
Contributor

Since we migrated our cluster nodes from Ubuntu 20.04 to Debian 12, I am experiencing the same segmentation fault. This is try for every call to pplacer, even without any arguments.

My system:

(base) cli x86_64 ~>(base) rs500-bcf-01 x86_64 ~>uname -a
Linux rs500-bcf-01 6.1.0-26-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.112-1 (2024-09-30) x86_64 GNU/Linux

(base) cli x86_64 ~>lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 12 (bookworm)
Release:	12
Codename:	bookworm

My pplacer binary:

d198d865beee5d0fd4bac4a88551d6f7  Git/smirarab/sepp/tools/bundled/Linux/pplacer-64

Reproducing the segmentation fault:

(base) cli x86_64 ~>ulimit -c unlimited
(base) cli x86_64 ~>Git/smirarab/sepp/tools/bundled/Linux/pplacer-64
Segmentation fault (core dumped)

Analysing the core dump:

(base) cli x86_64 ~>gdb Git/smirarab/sepp/tools/bundled/Linux/pplacer-64 core
GNU gdb (Debian 13.1-3) 13.1
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from Git/smirarab/sepp/tools/bundled/Linux/pplacer-64...
[New LWP 467154]
Core was generated by `Git/smirarab/sepp/tools/bundled/Linux/pplacer-64'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0xffffffffff600000 in ?? ()
(gdb) bt
#0  0xffffffffff600000 in ?? ()
#1  0x00000000006fe57d in gettimeofday ()
#2  0x00000000006c9093 in caml_sys_random_seed ()
#3  0x00000000006ce9f0 in caml_c_call ()
#4  0x0000000000ae71d0 in camlFilename__12 ()
#5  0x0000000000ae71b0 in camlFilename__10 ()
#6  0x0000000000000068 in ?? ()
#7  0x000000000056803a in camlFilename__entry ()
#8  0x0000000000ae71d0 in camlFilename__12 ()
#9  0x0000000000ae71c0 in camlFilename__11 ()
#10 0x0000000000ae71b0 in camlFilename__10 ()
#11 0x0000000000ae7040 in camlFilename__19 ()
#12 0x00007f5b69767300 in ?? ()
#13 0x0000000000ae7028 in camlFilename__18 ()
#14 0x00007f5b69767320 in ?? ()
#15 0x0000000000ae7008 in camlFilename__15 ()
#16 0x0000000000ae7240 in camlFilename__24 ()
#17 0x00007f5b69767408 in ?? ()
#18 0x00007f5b69767138 in ?? ()
#19 0x00000000004006d9 in caml_program ()
#20 0x0000000000673eeb in cblas_csyr2k ()
#21 0x00007ffc79f0a038 in ?? ()
#22 0x0000000000a1c7f0 in caml_globals_map ()
#23 0x0000000000a1c7f8 in caml_data_segments ()
#24 0x00007ffc79f0b39b in ?? ()
#25 0x00000000006be335 in caml_main ()
#26 0x00000000006be374 in main ()

I fear this is an issue with incompatible system calls of the ~12 year old binary :-/

@sjanssen2
Copy link
Contributor

My suggestion would be to replace the bundled binary of pplacer (which is version v1.1.alpha13-0-g1ec7786) with a slightly more the recent version https://github.com/matsen/pplacer/releases/tag/v1.1.alpha17 This is the "newest" pplacer release with binaries for Linux and OSX.

The binary from the v1.1.alpha17 release runs fine on my system, however it produces placements in a different format! Specifically, the field order of placements in the *.jplace files was rearranged from

["edge_num", "likelihood", "like_weight_ratio", "distal_length", "pendant_length"]

to

["distal_length", "edge_num", "like_weight_ratio", "likelihood", "pendant_length"]

This changes breaks https://github.com/smirarab/sepp/blob/master/tools/merge/seppJsonMerger.jar in the merging step of SEPP. I am trying to provide a PR to fix this soon.

The PR #137 is in preparation for this, to have a test for consistency of the full SEPP pipeline.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants