davidkretch / bootrlm

Bootstrapped robust linear models in R
0 stars 0 forks source link

Support parallel processing of bootstrap replicates #1

Open davidkretch opened 8 years ago

davidkretch commented 8 years ago

Support parallel processing of bootstrap replicates via RcppParallel.

davidkretch commented 8 years ago

Running in aaec19c5e1229284b5e8c636d5f5b931fc18ad68.

davidkretch commented 8 years ago

parallel branch memory errors (from testing on AWS c4.8xlarge instance):

stdout and stderr:

> library(bootrlm)
> data(stackloss)
> bootrlm_fit <- bootrlm(stack.loss ~ ., stackloss, r = 1000, method = "MM")
Error: C stack usage  220374063172 is too close to the limit
Execution halted
Error: C stack usage  220369864772 is too close to the limit
Execution halted
Error: C stack usage  220378261572 is too close to the limit
Execution halted
Execution halted
Execution halted
Error: C stack usage  220507289668 is too close to the limit
Execution halted
Execution halted
Error: C stack usage  220469504068 is too close to the limit
Error: C stack usage  220469504068 is too close to the limit
Execution halted
Error: C stack usage  221396432964 is too close to the limit
Error: C stack usage  221434218564 is too close to the limit

console:

*** Error in `/usr/lib64/R/bin/exec/R': double free or corruption (!prev): 0x00000000017c5fd0 ***
*** Error in `/usr/lib64/R/bin/exec/R': double free or corruption (!prev): 0x00000000017c5fd0 ***
*** Error in `/usr/lib64/R/bin/exec/R': double free or corruption (!prev): 0x00000000017c5fd0 ***
======= Backtrace: =========
======= Backtrace: =========
======= Backtrace: =========
/lib64/libc.so.6(+0x7c791*** Error in `/usr/lib64/R/bin/exec/R': double free or corruption (!prev): 0x00000000017c5fd0 ***
/lib64/libc.so.6(fclose+0x155)[0x7fcc76d4dff5]
/usr/lib64/R/lib/libR.so(+0x1ff249)[0x7fcc776d6249]
/lib64/libc.so.6(fclose+0x155)[0x7fcc76d4dff5]
/usr/lib64/R/lib/libR.so(+0xfde4c)[0x7fcc775d4e4c]
/usr/lib64/R/lib/libR.so(+0x1ff249)[0x7fcc776d6249]
/usr/lib64/R/lib/libR.so(+0xfcca2)[0x7fcc775d3ca2]
/usr/lib64/R/lib/libR.so(+0xfde4c)[0x7fcc775d4e4c]
/usr/lib64/R/lib/libR.so(Rf_errorcall+0x437)[0x7fcc775d4977]
/usr/lib64/R/lib/libR.so(+0xfcca2)[0x7fcc775d3ca2]
/usr/lib64/R/lib/libR.so(R_SignalCStackOverflow+0xac)[0x7fcc775d4a3c]
/usr/lib64/R/lib/libR.so(Rf_errorcall+0x437)[0x7fcc775d4977]
/usr/lib64/R/lib/libR.so(+0xfe415)[0x7fcc775d5415]
/usr/lib64/R/lib/libR.so(R_SignalCStackOverflow+0xac)[0x7fcc775d4a3c]
/home/ec2-user/R/x86_64-redhat-linux-gnu-library/3.2/bootrlm/libs/bootrlm.so(_ZN7bootrlm12LQSEstimatorclERKNS_4DataEPdS4_S4_S4_+0x34d)[0x7fcc6967d30d]
/usr/lib64/R/lib/libR.so(+0xfe415)[0x7fcc775d5415]
/home/ec2-user/R/x86_64-redhat-linux-gnu-library/3.2/bootrlm/libs/bootrlm.so(_ZN7bootrlm11MMEstimatorclERKNS_4DataEPdS4_S4_S4_+0x25a)[0x7fcc6967e21a]
/home/ec2-user/R/x86_64-redhat-linux-gnu-library/3.2/bootrlm/libs/bootrlm.so(_ZN7bootrlm12LQSEstimatorclERKNS_4DataEPdS4_S4_S4_+0x34d)[0x7fcc6967d30d]
/home/ec2-user/R/x86_64-redhat-linux-gnu-library/3.2/RcppParallel/lib/libtbb.so.2(+0x238d2)[0x/home/ec2-user/R/x86_64-redhat-linux-gnu-library/3.2/bootrlm/libs/bootrlm.so(_ZN7bootrlm11MMEstimatorclERKNS_4DataEPdS4_S4_S4_+0x25a)[0x7fcc6967e21a]
/home/ec2-user/R/x86_64-redhat-linux-gnu-library/3.2/RcppParallel/lib/libtbb.so.2(+0x1df66)[0x7fcc69ee7f66]
/home/ec2-user/R/x86_64-redhat-linux-gnu-library/3.2/bootrlm/libs/bootrlm.so(+0xfefd)[0x7fcc69674efd]
/home/ec2-user/R/x86_64-redhat-linux-gnu-library/3.2/RcppParallel/lib/libtbb.so.2(+0x1d64b)[0x7fcc69ee764b]
/home/ec2-user/R/x86_64-redhat-linux-gnu-library/3.2/RcppParallel/lib/libtbb.so.2(+0x238d2)[0x7fcc69eed8d2/home/ec2-user/R/x86_64-redhat-linux-gnu-library/3.2/RcppParallel/lib/libtbb.so.2(+0x19497)[0x7fcc69ee3497]
/home/ec2-user/R/x86_64-redhat-linux-gnu-library/3.2/RcppParallel/lib/libtbb.so.2(+0x196b9)[0x7fcc69ee36b9]
/home/ec2-user/R/x86_64-redhat-linux-gnu-library/3.2/RcppParallel/lib/libtbb.so.2(+0x1df66)[0x7fcc69ee7f66]
/lib64/libpthread.so.0(+0x7dc5)[0x7fcc770acdc5]
/home/ec2-user/R/x86_64-redhat-linux-gnu-library/3.2/RcppParallel/lib/libtbb.so.2(+0x19497)[0x7fcc69ee3497]
/lib64/libc.so.6(clone+0x6d)[0x7fcc76dd9bdd]
======= Memory map: ========
/lib64/libc.so.6(clone+0x6d)[0x7fcc76dd9bdd]
======= Memory map: ========
/lib64/libc.so.6(+0x7c791)[0x7fcc76d5f791]
/lib64/libc.so.6(fclose+0x155)[0x7fcc76d4dff5]
/usr/lib64/R/lib/libR.so(+0x1ff249)[0x7fcc776d6249]
/usr/lib64/R/lib/libR.so(+0xfde4c)[0x7fcc775d4e4c]
/usr/lib64/R/lib/libR.so(+0xfc922)[0x7fcc775d3922]
/usr/lib64/R/lib/libR.so(Rf_errorcall+0x437)[0x7fcc775d4977]
/usr/lib64/R/lib/libR.so(R_SignalCStackOverflow+0xac)[0x7fcc775d4a3c]
/usr/lib64/R/lib/libR.so(+0xfe415)[0x7fcc775d5415]
/home/ec2-user/R/x86_64-redhat-linux-gnu-library/3.2/bootrlm/libs/bootrlm.so(_ZN7bootrlm12LQSEstimatorclERKNS_4DataEPdS4_S4_S4_+0x34d)[0x7fcc6967d30d]
/home/ec2-user/R/x86_64-redhat-linux-gnu-library/3.2/bootrlm/libs/bootrlm.so(_ZN7bootrlm11MMEstimatorclERKNS_4DataEPdS4_S4_S4_+0x25a)[0x7fcc6967e21a]
/home/ec2-user/R/x86_64-redhat-linux-gnu-library/3.2/bootrlm/libs/bootrlm.so(_ZN7bootrlm4Boot16ProcessReplicateclEmm+0x9de)[0x7fcc69676c7e]
/home/ec2-user/R/x86_64-redhat-linux-gnu-library/3.2/bootrlm/libs/bootrlm.so(+0xfefd)[0x7fcc69674efd]
/home/ec2-user/R/x86_64-redhat-linux-gnu-library/3.2/RcppParallel/lib/libtbb.so.2(+0x238d2)[0x7fcc69eed8d2]
/home/ec2-user/R/x86_64-redhat-linux-gnu-library/3.2/RcppParallel/lib/libtbb.so.2(+0x1df66)[0x7fcc69ee7f66]
/home/ec2-user/R/x86_64-redhat-linux-gnu-library/3.2/RcppParallel/lib/libtbb.so.2(+0x1d64b)[0x7fcc69ee764b]
/home/ec2-user/R/x86_64-redhat-linux-gnu-library/3.2/RcppParallel/lib/libtbb.so.2(+0x19497)[0x7fcc69ee3497]
/home/ec2-user/R/x86_64-redhat-linux-gnu-library/3.2/RcppParallel/lib/libtbb.so.2(+0x196b9)[0x7fcc69ee36b9]
/lib64/libpthread.so.0(+0x7dc5)[0x7fcc770acdc5]
/lib64/libc.so.6(clone+0x6d)[0x7fcc76dd9bdd]
======= Memory map: ========
00400000-00401000 r-xp 00000000 ca:01 420764                             /usr/lib64/R/bin/exec/R
00600000-00601000 rw-p 00000000 ca:01 420764                             /usr/lib64/R/bin/exec/R
017be000-036fa000 rw-p 00000000 00:00 0                                  [heap]
7fcbf4000000-7fcbf4021000 rw-p 00000000 00:00 0
7fcbf4021000-7fcbf8000000 ---p 00000000 00:00 0
7fcbfc000000-7fcbfc021000 rw-p 00000000 00:00 0
7fcbfc021000-7fcc00000000 ---p 00000000 00:00 0
7fcc00000000-7fcc00021000 rw-p 00000000 00:00 0
7fcc00021000-7fcc04000000 ---p 00000000 00:00 0
7fcc04000000-7fcc04021000 rw-p 00000000 00:00 0
7fcc04021000-7fcc08000000 ---p 00000000 00:00 0
7fcc08000000-7fcc08021000 rw-p 00000000 00:00 0
7fcc08021000-7fcc0c000000 ---p 00000000 00:00 0
7fcc0c000000-7fcc0c021000 rw-p 00000000 00:00 0
7fcc0c021000-7fcc10000000 ---p 00000000 00:00 0
7fcc10000000-7fcc10021000 rw-p 00000000 00:00 0
7fcc10021000-7fcc14000000 ---p 00000000 00:00 0
7fcc14000000-7fcc14021000 rw-p 00000000 00:00 0
7fcc14021000-7f00400000-00401000 r-xp 00000000 ca:01 420764                             /usr/lib64/R/bin/exec/R
00600000-00601000 rw-p 00000000 ca:01 420764                             /usr/lib64/R/bin/exec/R
017be000-036fa000 rw-p 00000000 00:00 0                                  [heap]
7fcbf4000000-7fcbf4021000 rw-p 00000000 00:00 0
7fcbf4021000-7fcbf8000000 ---p 00000000 00:00 0
7fcbfc000000-7fcbfc021000 rw-p 00000000 00:00 0
7fcbfc021000-7fcc00000000 ---p 00000000 00:00 0
7fcc00000000-7fcc00021000 rw-p 00000000 00:00 0
7fcc00021000-7fcc04000000 ---p 00000000 00:00 0
7fcc04000000-7fcc04021000 rw-p 00000000 00:00 0
7fcc04021000-7fcc08000000 ---p 00000000 00:00 0
7fcc08000000-7fcc08021000 rw-p 00000000 00:00 0
7fcc08021000-7fcc0c000000 ---p 00000000 00:00 0
7fcc0c000000-7fcc0c021000 rw-p 00000000 00:00 0
7fcc0c021000-7fcc10000000 ---p 00000000 00:00 0
7fcc10000000-7fcc10021000 rw-p 00000000 00:00 0
7fcc10021000-7fcc14000000 ---p 00000000 00:00 0
7fcc14000000-7fcc14021000 rw-p 00000000 00:00 0
7fcc14021000-7f*** Error in `/usr/lib64/R/bin/exec/R': double free or corruption (!prev): 0x00000000017c5fd0 ***
cc18000000 ---p 00000000 00:00 0
7fcc18000000-7fcc18021000 rw-p 00000000 00:00 0
7fcc18021000-7fcc1c000000 ---p 00000000 00:00 0
7fcc1c000000-7fcc1c021000 rw-p 00000000 00:00 0
7fcc1c021000-7fcc20000000 ---p 00000000 00:00 0
7fcc23bff000-7fcc23c00000 ---p 00000000 00:00 0
7fcc23c00000-7fcc24000000 rw-p 00000000 00:00 0                          [stack:4933]
7fcc24000000-7fcc24021000 rw-p 00000000 00:00 0
7fcc24021000-7fcc28000000 ---p 00000000 00:00 0
7fcc280f1000-7fcc283f1000 rw-p 00000000 00:00 0
7fcc283f1000-7fcc283f2000 ---p 00000000 00:00 0
7fcc283f2000-7fcc287f2000 rw-p 00000000 00:00 0                          [stack:4932]
7fcc287f2000-7fcc287f3000 ---p 00000000 00:00 0
7fcc287f3000-7fcc28bf3000 rw-p 00000000 00:00 0                          [stack:4931]
7fcc28bf3000-7fcc28bf4000 ---p 00000000 00:00 0
7fcc28bf4000-7fcc28ff4000 rw-p 00000000 00:00 0                          [stack:4930]
7fcc28ff4000-7fcc28ff5000 ---p 00000000 00:00 0
7fcc28ff5000-7fcc293f5000 rw-p 00000000 00:00 0           00400000-00401000 r-xp 00000000 ca:01 420764                             /usr/lib64/R/bin/exec/R
00600000-00601000 rw-p 00000000 ca:01 420764                             /usr/lib64/R/bin/exec/R
017be000-036fa000 rw-p 00000000 00:00 0                                  [heap]
7fcbf4000000-7fcbf4021000 rw-p 00000000 00:00 0
7fcbf4021000-7fcbf8000000 ---p 00000000 00:00 0
7fcbfc000000-7fcbfc021000 rw-p 00000000 00:00 0
7fcbfc021000-7fcc00000000 ---p 00000000 00:00 0
7fcc00000000-7fcc00021000 rw-p 00000000 00:00 0
7fcc00021000-7fcc04000000 ---p 00000000 00:00 0
7fcc04000000-7fcc04021000 rw-p 00000000 00:00 0
7fcc04021000-7fcc08000000 ---p 00000000 00:00 0
7fcc08000000-7fcc08021000 rw-p 00000000 00:00 0
7fcc08021000-7fcc0c000000 ---p 00000000 00:00 0
7fcc0c000000-7fcc0c021000 rw-p 00000000 00:00 0
7fcc0c021000-7fcc10000000 ---p 00000000 00:00 0
7fcc10000000-7fcc10021000 rw-p 00000000 00:00 0
7fcc10021000-7fcc14000000 ---p 00000000 00:00 0
7fcc14000000-7fcc14021000 rw-p 00000000 00:00 0
7fcc14021000-7f               [stack:4929]
7fcc293f5000-7fcc293f6000 ---p 00000000 00:00 0
7fcc293f6000-7fcc297f6000 rw-p 00000000 00:00 0                          [stack:4926]
7fcc297f6000-7fcc297f7000 ---p 00000000 00:00 0
7fcc297f7000-7fcc29bf7000 rw-p 00000000 00:00 0                          [stack:4927]
7fcc29bf7000-7fcc29bf8000 ---p 00000000 00:00 0
7fcc29bf8000-7fcc29ff8000 rw-p 00000000 00:00 0                          [stack:4924]
7fcc29ff8000-7fcc29ff9000 ---p 00000000 00:00 0
7fcc29ff9000-7fcc2a3f9000 rw-p 00000000 00:00 0                          [stack:4925]
7fcc2a3f9000-7fcc2a3fa000 ---p 00000000 00:00 0
7fcc2a3fa000-7fcc2a7fa000 rw-p 00000000 00:00 0                          [stack:4928]
7fcc2a7fa000-7fcc2a7fb000 ---p 00000000 00:00 0
7fcc2a7fb000-7fcc2abfb000 rw-p 00000000 00:00 0                          [stack:4922]
7fcc2abfb000-7fcc2abfc000 ---p 00000000 00:00 0
7fcc2abfc000-7fcc2affc000 rw-p 00000000 00:00 0                          [stack:4923]
7fcc2affc000-7fcc2affd000 ---p 00000000 00:00 0
7f/lib64/libc.so.6(+0x7c791)[0x7fcc76d5f791]
Aborted
davidkretch commented 8 years ago

Valgrind output (from R -d "valgrind --tool=memcheck --leak-check=full" -f test.R > test.log 2>&1)

==3036== 
==3036== HEAP SUMMARY:
==3036==     in use at exit: 38,217,608 bytes in 17,638 blocks
==3036==   total heap usage: 1,453,781 allocs, 1,436,143 frees, 582,930,191 bytes allocated
==3036== 
==3036== 27 bytes in 1 blocks are possibly lost in loss record 24 of 1,913
==3036==    at 0x4C290D5: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==3036==    by 0x97B5368: std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) (in /usr/lib64/libstdc++.so.6.0.19)
==3036==    by 0x97B6AC0: char* std::string::_S_construct<char const*>(char const*, char const*, std::allocator<char> const&, std::forward_iterator_tag) (in /usr/lib64/libstdc++.so.6.0.19)
==3036==    by 0x97B6ED7: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (in /usr/lib64/libstdc++.so.6.0.19)
==3036==    by 0x164B9D95: bootrlm::MMEstimator::MMEstimator(bootrlm::Data const&, double) (estimator.cpp:169)
==3036==    by 0x164B67A3: bootrlm_cpp(arma::Col<double>, arma::Mat<double>, arma::Mat<unsigned int>, int, Rcpp::Vector<19, Rcpp::PreserveStorage>) (bootrlm.cpp:22)
==3036==    by 0x164AF6C6: bootrlm_bootrlm_cpp (RcppExports.cpp:20)
==3036==    by 0x4F0CB37: ??? (in /usr/lib64/R/lib/libR.so)
==3036==    by 0x4F4BF0A: Rf_eval (in /usr/lib64/R/lib/libR.so)
==3036==    by 0x4F4E08F: ??? (in /usr/lib64/R/lib/libR.so)
==3036==    by 0x4F4BD12: Rf_eval (in /usr/lib64/R/lib/libR.so)
==3036==    by 0x4F4D09E: Rf_applyClosure (in /usr/lib64/R/lib/libR.so)
==3036== 
==3036== 28 bytes in 1 blocks are possibly lost in loss record 26 of 1,913
==3036==    at 0x4C290D5: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==3036==    by 0x97B5368: std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) (in /usr/lib64/libstdc++.so.6.0.19)
==3036==    by 0x97B6AC0: char* std::string::_S_construct<char const*>(char const*, char const*, std::allocator<char> const&, std::forward_iterator_tag) (in /usr/lib64/libstdc++.so.6.0.19)
==3036==    by 0x97B6ED7: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (in /usr/lib64/libstdc++.so.6.0.19)
==3036==    by 0x164B981A: bootrlm::LQSEstimator::LQSEstimator(bootrlm::Data const&, double, double) (estimator.cpp:17)
==3036==    by 0x164B9E18: bootrlm::MMEstimator::MMEstimator(bootrlm::Data const&, double) (estimator.cpp:171)
==3036==    by 0x164B67A3: bootrlm_cpp(arma::Col<double>, arma::Mat<double>, arma::Mat<unsigned int>, int, Rcpp::Vector<19, Rcpp::PreserveStorage>) (bootrlm.cpp:22)
==3036==    by 0x164AF6C6: bootrlm_bootrlm_cpp (RcppExports.cpp:20)
==3036==    by 0x4F0CB37: ??? (in /usr/lib64/R/lib/libR.so)
==3036==    by 0x4F4BF0A: Rf_eval (in /usr/lib64/R/lib/libR.so)
==3036==    by 0x4F4E08F: ??? (in /usr/lib64/R/lib/libR.so)
==3036==    by 0x4F4BD12: Rf_eval (in /usr/lib64/R/lib/libR.so)
==3036== 
==3036== 592 bytes in 1 blocks are possibly lost in loss record 137 of 1,913
==3036==    at 0x4C2A944: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==3036==    by 0x4011DE4: _dl_allocate_tls (in /lib64/ld-2.17.so)
==3036==    by 0x560E960: pthread_create@@GLIBC_2.2.5 (in /lib64/libpthread-2.17.so)
==3036==    by 0x15C462D8: launch (thread_monitor.h:221)
==3036==    by 0x15C462D8: wake_or_launch (private_server.cpp:303)
==3036==    by 0x15C462D8: tbb::internal::rml::private_server::wake_some(int) (private_server.cpp:398)
==3036==    by 0x15C4E989: tbb::internal::generic_scheduler::local_spawn(tbb::task&, tbb::task*&) (scheduler.cpp:637)
==3036==    by 0x164B1BF3: spawn (task.h:946)
==3036==    by 0x164B1BF3: offer_work (parallel_for.h:106)
==3036==    by 0x164B1BF3: execute<tbb::interface7::internal::start_for<tbb::blocked_range<long unsigned int>, RcppParallel::(anonymous namespace)::TBBWorker, const tbb::auto_partitioner>, tbb::blocked_range<long unsigned int> > (partitioner.h:244)
==3036==    by 0x164B1BF3: tbb::interface7::internal::start_for<tbb::blocked_range<unsigned long>, RcppParallel::(anonymous namespace)::TBBWorker, tbb::auto_partitioner const>::execute() (parallel_for.h:127)
==3036==    by 0x15C508D1: tbb::internal::custom_scheduler<tbb::internal::IntelSchedulerTraits>::local_wait_for_all(tbb::task&, tbb::task*) (custom_scheduler.h:474)
==3036==    by 0x15C4EB6F: tbb::internal::generic_scheduler::local_spawn_root_and_wait(tbb::task&, tbb::task*&) (scheduler.cpp:659)
==3036==    by 0x164B2A42: spawn_root_and_wait (task.h:721)
==3036==    by 0x164B2A42: run (parallel_for.h:90)
==3036==    by 0x164B2A42: parallel_for<tbb::blocked_range<long unsigned int>, RcppParallel::(anonymous namespace)::TBBWorker> (parallel_for.h:186)
==3036==    by 0x164B2A42: tbbParallelFor (TBB.h:63)
==3036==    by 0x164B2A42: parallelFor (RcppParallel.h:34)
==3036==    by 0x164B2A42: bootrlm::Boot::Boot(bootrlm::Data const&, bootrlm::Estimator*, arma::Mat<unsigned int> const&) (boot.cpp:19)
==3036==    by 0x164B67E6: bootrlm_cpp(arma::Col<double>, arma::Mat<double>, arma::Mat<unsigned int>, int, Rcpp::Vector<19, Rcpp::PreserveStorage>) (bootrlm.cpp:25)
==3036==    by 0x164AF6C6: bootrlm_bootrlm_cpp (RcppExports.cpp:20)
==3036==    by 0x4F0CB37: ??? (in /usr/lib64/R/lib/libR.so)
==3036== 
==3036== 792 bytes in 3 blocks are possibly lost in loss record 160 of 1,913
==3036==    at 0x4C2977A: operator new[](unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==3036==    by 0x15C4C9E4: initialize (task_stream.h:92)
==3036==    by 0x15C4C9E4: tbb::internal::arena::arena(tbb::internal::market&, unsigned int) (arena.cpp:169)
==3036==    by 0x15C4CD5D: tbb::internal::arena::allocate_arena(tbb::internal::market&, unsigned int) (arena.cpp:198)
==3036==    by 0x15C4A262: tbb::internal::market::create_arena(unsigned int, unsigned long) (market.cpp:159)
==3036==    by 0x15C49AB9: tbb::internal::governor::init_scheduler(unsigned int, unsigned long, bool) (governor.cpp:163)
==3036==    by 0x15C49C7D: tbb::task_scheduler_init::initialize(int, unsigned long) (governor.cpp:304)
==3036==    by 0x160A0DC9: task_scheduler_init (task_scheduler_init.h:118)
==3036==    by 0x160A0DC9: setThreadOptions (options.cpp:24)
==3036==    by 0x4F0CB37: ??? (in /usr/lib64/R/lib/libR.so)
==3036==    by 0x4F4BF0A: Rf_eval (in /usr/lib64/R/lib/libR.so)
==3036==    by 0x4F4F2F1: ??? (in /usr/lib64/R/lib/libR.so)
==3036==    by 0x4F4BDDB: Rf_eval (in /usr/lib64/R/lib/libR.so)
==3036==    by 0x4F4E08F: ??? (in /usr/lib64/R/lib/libR.so)
==3036== 
==3036== LEAK SUMMARY:
==3036==    definitely lost: 0 bytes in 0 blocks
==3036==    indirectly lost: 0 bytes in 0 blocks
==3036==      possibly lost: 1,439 bytes in 6 blocks
==3036==    still reachable: 38,216,169 bytes in 17,632 blocks
==3036==         suppressed: 0 bytes in 0 blocks
==3036== Reachable blocks (those to which a pointer was found) are not shown.
==3036== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==3036== 
==3036== For counts of detected and suppressed errors, rerun with: -v
==3036== ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 1 from 1)