zhanxw / rvtests

Rare variant test software for next generation sequencing data
129 stars 41 forks source link

segmentation fault using SKAT with large data set #86

Open rjbohlender opened 5 years ago

rjbohlender commented 5 years ago

I'm attaching a backtrace from gdb:

(gdb) where

0 0x00002aaaab9e91f7 in raise () from /lib64/libc.so.6

1 0x00002aaaab9ea8e8 in abort () from /lib64/libc.so.6

2 0x00002aaaaaf7c1d5 in __gnu_cxx::__verbose_terminate_handler () at ../../../../libstdc++-v3/libsupc++/vterminate.cc:95

3 0x00002aaaaaf79fa6 in cxxabiv1::terminate (handler=) at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:47

4 0x00002aaaaaf79ff1 in std::terminate () at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:57

5 0x00002aaaaaf7a234 in cxxabiv1::cxa_throw (obj=, tinfo=0x91cab0 _ZTISt9bad_alloc@@GLIBCXX_3.4, dest=0x405f50 _ZNSt9bad_allocD1Ev@plt)

at ../../../../libstdc++-v3/libsupc++/eh_throw.cc:93

6 0x000000000043b9d7 in Eigen::internal::throw_std_bad_alloc() ()

7 0x000000000043cc4b in Eigen::PlainObjectBase<Eigen::Matrix<float, -1, -1, 0, -1, -1> >::resize(long, long) ()

8 0x0000000000487913 in Skat::SkatImpl::Fit(Vector&, Vector&, Matrix&, Matrix&, Vector&) ()

9 0x000000000042a1e1 in SkatTest::fit(DataConsolidator*) ()

10 0x000000000040dc78 in main ()

And here is the error output:

terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc /home/rjbohlender/.lsbatch/1562786112.758563: line 8: 225656 Aborted (core dumped) ~/local/rvtests/executable/rvtest --inVcf /rsrch3/scratch/epi/rjbohlender/projects/benchmark/data/data/split/split_vcf/vcf.ac.bgz --pheno ./data/data/1000k_samples/1_1.0.pheno --out run/rvtest/3 --covar ./data/data/1000k_samples/1_1.0.rvtest.cov --covar-name y1,y2,y3,y4,y5,y6,y7,y8,y9,y10 --kernel skat --noweb --numThread 1 --pheno-name phe --geneFile ~/local/anno/resources/refFlat_hg19.txt.gz

The issue arises when running SKAT on a sample of 1,000,000, roughly half cases and half controls. No other method I've tried has this problem, including SKAT-O. There is no problem with a smaller set of 100,000 cases and controls.

zhanxw commented 4 years ago

This error message showed your memory is exhausted. Can you run it using a large memory machine?