zhilizheng / SBayesRC

GNU General Public License v3.0
25 stars 4 forks source link

Segmentation Fault with GCTB when merging ldm files #11

Closed alexisregelson closed 1 year ago

alexisregelson commented 1 year ago

Hello, I just started using the GCTB software but am running into an issue when I try to merge sparse ldm files from a single chromsome into one ldm file. I get the following error: /var/spool/slurmd.cn1605/job55094972/slurm_script: line 13: 82612 Segmentation fault

Here's the basics of the code I ran gctb --mldm chr1.mldmlist --make-sparse-ldm --out chr1 --thread 16

Thank you, Alexis

zhilizheng commented 1 year ago

Hi @alexisregelson ,

Thanks for the reports. Could you give me the full log by (send me the out.log)

gctb --mldm chr1.mldmlist --make-sparse-ldm --out chr1 --thread 16 &> out.log

Besides, your system information, run those command and share me the sendzz.txt.

echo "=====ld version" &>> sendzz.txt
ldd --version &>>  sendzz.txt

echo "===== Linux" &>> sendzz.txt
cat /etc/*release* &>> sendzz.txt

echo "=====Kernel" &>> sendzz.txt
uname -rpo &>> sendzz.txt

echo "=====CPU info" &>> sendzz.txt
cat /proc/cpuinfo | head -n 50 &>> sendzz.txt

echo "=====lscpu" &>> sendzz.txt
lscpu &>> sendzz.txt`

I will test on exactly the same enviroment.

Regards, Zhili

alexisregelson commented 1 year ago

Hello,

Thank you for taking a look. Attached are the logs file and the system file.

Best, Alexis

On Fri, Aug 25, 2023 at 2:02 PM Zhili @.***> wrote:

Hi @alexisregelson https://github.com/alexisregelson ,

Thanks for the reports. Could you give me the full log by (send me the out.log) gctb --mldm chr1.mldmlist --make-sparse-ldm --out chr1 --thread 16 &> out.log

Besides, your system information, run those command and share me the sendzz.txt. `echo "=====R configure" &> sendzz.txt Rscript -e "sessionInfo()" &>> sendzz.txt

echo "=====ld version" &>> sendzz.txt ldd --version &>> sendzz.txt

echo "===== Linux" &>> sendzz.txt cat /etc/release &>> sendzz.txt

echo "=====Kernel" &>> sendzz.txt uname -rpo &>> sendzz.txt

echo "=====CPU info" &>> sendzz.txt cat /proc/cpuinfo | head -n 50 &>> sendzz.txt

echo "=====lscpu" &>> sendzz.txt lscpu &>> sendzz.txt`

I will test on exactly the same enviroment.

Regards, Zhili

— Reply to this email directly, view it on GitHub https://github.com/zhilizheng/SBayesRC/issues/11#issuecomment-1693744169, or unsubscribe https://github.com/notifications/unsubscribe-auth/BA3RUKZBPPYUE5OMTJKF7JDXXDSEXANCNFSM6AAAAAA33P4I4Q . You are receiving this because you were mentioned.Message ID: @.***>

=====ld version ldd (GNU libc) 2.17 Copyright (C) 2012 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Written by Roland McGrath and Ulrich Drepper. ===== Linux CentOS Linux release 7.9.2009 (Core) Derived from Red Hat Enterprise Linux 7.9 (Source) cat: /etc/lsb-release.d: Is a directory NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7"

CentOS Linux release 7.9.2009 (Core) CentOS Linux release 7.9.2009 (Core) cpe:/o:centos:centos:7 =====Kernel 3.10.0-1160.71.1.el7.x86_64 x86_64 GNU/Linux =====CPU info processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 62 model name : Intel(R) Xeon(R) CPU E5-2630 v2 @ 2.60GHz stepping : 4 microcode : 0x42e cpu MHz : 1217.163 cache size : 15360 KB physical id : 0 siblings : 12 core id : 0 cpu cores : 6 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts md_clear spec_ctrl intel_stibp flush_l1d bogomips : 5199.94 clflush size : 64 cache_alignment : 64 address sizes : 46 bits physical, 48 bits virtual power management:

processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 62 model name : Intel(R) Xeon(R) CPU E5-2630 v2 @ 2.60GHz stepping : 4 microcode : 0x42e cpu MHz : 2901.513 cache size : 15360 KB physical id : 1 siblings : 12 core id : 0 cpu cores : 6 apicid : 32 initial apicid : 32 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts md_clear spec_ctrl intel_stibp flush_l1d bogomips : 5205.75 clflush size : 64 cache_alignment : 64 address sizes : 46 bits physical, 48 bits virtual =====lscpu

zhilizheng commented 1 year ago

Hi @alexisregelson ,

Thanks for your information. I missed the out.log, I could not find it here. Could you add this information, this is crucial for me to go through what are the inputs.

From here: gctb --mldm chr1.mldmlist --make-sparse-ldm --out chr1 --thread 16 &> out.log

Thanks.

Regards, Zhili

alexisregelson commented 1 year ago

Hello,

The only out.log I have is the one I attached above - Merge_GCTB_Female_chr1_082323.log. I ran it has a slurm job and no other output was produced.

Best, Alexis

On Mon, Aug 28, 2023 at 5:56 PM Zhili @.***> wrote:

Hi @alexisregelson https://github.com/alexisregelson ,

Thanks for your information. I missed the out.log, I could not find it here. Could you add this information, this is crucial for me to go through what are the inputs.

From here: gctb --mldm chr1.mldmlist --make-sparse-ldm --out chr1 --thread 16 &> out.log

Thanks.

Regards, Zhili

— Reply to this email directly, view it on GitHub https://github.com/zhilizheng/SBayesRC/issues/11#issuecomment-1696482269, or unsubscribe https://github.com/notifications/unsubscribe-auth/BA3RUK3MC43RXDMBDLTJBMLXXUHZJANCNFSM6AAAAAA33P4I4Q . You are receiving this because you were mentioned.Message ID: @.***>

zhilizheng commented 1 year ago

Hi @alexisregelson ,

I'm on vacation last week and just come back. Sorry, I didn't get the log file in the github issue pages (Merge_GCTB_Female_chr1_082323.log, you mentioned). Could you paste the text again?

Regards, Zhili

alexisregelson commented 1 year ago

Hi Zhili,

I tried using SBayesRC a different way running the following and get this error:

Please verify that both the operating system and the processor support Intel(R) X87, CMOV, MMX, FXSAVE, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2 and POPCNT instructions.

!/bin/bash

SBATCH --mail-user=EDITED_BY_ZHILI_TO_KEEP_YOUR_PRIVACY

SBATCH --nodes=1

SBATCH --ntasks=16

SBATCH --mem=90G

SBATCH --output=/data/h_vmac/smithan6/Sex_PRS_Res/Slurm/logs/SBayesRC_GLOBALRES_Females.log

SBATCH --mail-type=ALL

SBATCH --job-name=SBayesRC_GLOBALRES_Females

SBATCH --time=50:00:00

SBATCH --account=h_vmac

############################################## ma_file="GLOBALRES.females_2sets.ma"
ld_folder="ukbEUR_Imputed" annot="annot_baseline2.2.txt" out_prefix="GLOBALRES_females_2sets" threads=16

##############################################

export OMP_NUM_THREADS=$threads # Revise the threads

Rscript -e "SBayesRC::impute(mafile='$ma_file', LDdir='$ld_folder', \ output='${out_prefix}_imp.ma', log2file=TRUE)"

Rscript -e "SBayesRC::sbayesrc(mafile='${out_prefix}_imp.ma', LDdir='$ld_folder', \ outPrefix='${out_prefix}_sbrc', annot='$annot', log2file=TRUE)"

zhilizheng commented 1 year ago

Hi @alexisregelson,

Thanks for the information.

This is because the node you run the code, is very old...

I guess you install by this:

  1. Install the library on the head node, it's a machine new, so your R compiled the library in a new instruction set (while we can't control your R compiler)
  2. You submitted the job, and the job run on a very old machine (it doesn't support the SSE4_2 even, or it's another CPU architecture, e.g. ARM)

Easiest way to solve: I think you can set threads=4 (also change the --ntasks), in case to be scheduled to the same node. If not, ask the system admin, which queue have the same node type as the head node.

You can also try: install the R library directly on the old machine, but this is usually sub-optimal.

Regards, Zhili

alexisregelson commented 1 year ago

I worked with our system admin and was able to run smoothly, thank you!

Is there documentation for the various output files that are created by SBayesRC?

Best, Alexis

zhilizheng commented 1 year ago

Hi @alexisregelson,

Thanks for the feedback. The documents are almost in place. However, some files are not so important, so I didn't create it. Notify me if there is anything unclear via issue report (so other users can also view it).

I will close the issue for now.

Regards, Zhili