Hi, I encountered a segfault, memory not mapped error when using adjbox in robustbase. In trying to recreate the issue I found that the error occurs only for large sample size. Here is the code. > require(robustbase) Loading required package: robustbase > x <- rnorm(10) > y <- rep(1, 10) > adjbox(x ~ y) ## gives a plot > x <- rnorm(10000) > y <- rep(1, 10000) > adjbox(x ~ y) ## gives a plot > x <- rnorm(100000) > y <- rep(1, 100000) > adjbox(x ~ y) *** caught segfault *** address 0xfffffffcc47af530, cause 'memory not mapped' Traceback: 1: .C(mc_C, x, n, eps = eps, iter = c.iter, medc = double(1)) 2: mcComp(x, doReflect, eps1 = eps1, eps2 = eps2, maxit = maxit, trace.lev = trace.lev) 3: mc.default(x, ..., na.rm = TRUE) 4: mc(x, ..., na.rm = TRUE) 5: adjboxStats(unclass(groups[[i]]), coef = range, doReflect = doReflect) 6: adjbox.default(split(mf[[response]], mf[-response]), ...) 7: adjbox(split(mf[[response]], mf[-response]), ...) 8: adjbox.formula(x ~ y) 9: adjbox(x ~ y) *** glibc detected *** /usr/lib64/R/bin/exec/R: free(): corrupted unsorted chunks: 0x0000000002510030 *** ======= Backtrace: ========/lib64/libc.so.6(+0x71e16)[0x7fbaf93a6e16] /lib64/libc.so.6(cfree+0x6c)[0x7fbaf93abb8c] /usr/lib64/R/lib/libR.so(+0x135481)[0x7fbaf9bf5481] /usr/lib64/R/lib/libR.so(+0xa5e19)[0x7fbaf9b65e19] /usr/lib64/R/lib/libR.so(R_GetTraceback+0xb5)[0x7fbaf9b9cdf5] /usr/lib64/R/lib/libR.so(+0x130f83)[0x7fbaf9bf0f83] /lib64/libpthread.so.0(+0xeff0)[0x7fbaf96a5ff0] /usr/local/lib/R/site-library/robustbase/libs/robustbase.so(mc_C_d+0x1263)[0x7fbaf50d73a3] /usr/local/lib/R/site-library/robustbase/libs/robustbase.so(mc_C+0xb)[0x7fbaf50d75bb] /usr/lib64/R/lib/libR.so(+0xba136)[0x7fbaf9b7a136] /usr/lib64/R/lib/libR.so(Rf_eval+0x75b)[0x7fbaf9bb1eab] /usr/lib64/R/lib/libR.so(+0xf97b0)[0x7fbaf9bb97b0] /usr/lib64/R/lib/libR.so(+0x1df282)[0x7fbaf9c9f282] /usr/lib64/R/lib/libR.so(Rf_eval+0x57b)[0x7fbaf9bb1ccb] /usr/lib64/R/lib/libR.so(+0xf94f0)[0x7fbaf9bb94f0] /usr/lib64/R/lib/libR.so(Rf_eval+0x57b)[0x7fbaf9bb1ccb] /usr/lib64/R/lib/libR.so(+0xf3160)[0x7fbaf9bb3160] /usr/lib64/R/lib/libR.so(Rf_eval+0x57b)[0x7fbaf9bb1ccb] /usr/lib64/R/lib/libR.so(Rf_applyClosure+0x36b)[0x7fbaf9bb3a4b] /usr/lib64/R/lib/libR.so(Rf_eval+0x458)[0x7fbaf9bb1ba8] /usr/lib64/R/lib/libR.so(+0xf94f0)[0x7fbaf9bb94f0] /usr/lib64/R/lib/libR.so(Rf_eval+0x57b)[0x7fbaf9bb1ccb] /usr/lib64/R/lib/libR.so(+0xf3160)[0x7fbaf9bb3160] /usr/lib64/R/lib/libR.so(Rf_eval+0x57b)[0x7fbaf9bb1ccb] /usr/lib64/R/lib/libR.so(Rf_applyClosure+0x36b)[0x7fbaf9bb3a4b] /usr/lib64/R/lib/libR.so(Rf_usemethod+0x820)[0x7fbaf9c09930] /usr/lib64/R/lib/libR.so(+0x149bf8)[0x7fbaf9c09bf8] /usr/lib64/R/lib/libR.so(Rf_eval+0x57b)[0x7fbaf9bb1ccb] /usr/lib64/R/lib/libR.so(Rf_applyClosure+0x36b)[0x7fbaf9bb3a4b] /usr/lib64/R/lib/libR.so(Rf_eval+0x458)[0x7fbaf9bb1ba8] /usr/lib64/R/lib/libR.so(+0xf94f0)[0x7fbaf9bb94f0] /usr/lib64/R/lib/libR.so(Rf_eval+0x57b)[0x7fbaf9bb1ccb] /usr/lib64/R/lib/libR.so(+0xf3160)[0x7fbaf9bb3160] /usr/lib64/R/lib/libR.so(Rf_eval+0x57b)[0x7fbaf9bb1ccb] My setup details: R --version R version 2.15.2 (2012-10-26) -- "Trick or Treat" Package: robustbase Version: 0.9-5 Date: 2012-03-01 Packaged: 2013-03-01 16:34:03 UTC; maechler NeedsCompilation: yes Repository: CRAN Date/Publication: 2013-03-01 18:31:33 Built: R 2.15.2; x86_64-pc-linux-gnu; 2013-03-04 05:54:20 UTC; unix Platform: x86_64-pc-linux-gnu (64-bit) uname -a Linux R 2.6.32-5-amd64 #1 SMP Mon Feb 25 00:26:11 UTC 2013 x86_64 GNU/Linux Debian squeeze Could someone pls help. Regards Baan
>>>>> "B" == Baan <baanbapat at gmail.com> >>>>> on Mon, 4 Mar 2013 15:02:02 +0530 writes:B> Hi, I encountered a segfault, memory not mapped error B> when using adjbox in robustbase. In trying to recreate B> the issue I found that the error occurs only for large B> sample size. Here is the code. >> require(robustbase) B> Loading required package: robustbase >> x <- rnorm(10) >> y <- rep(1, 10) >> adjbox(x ~ y) ## gives a plot >> x <- rnorm(10000) >> y <- rep(1, 10000) >> adjbox(x ~ y) ## gives a plot >> x <- rnorm(100000) >> y <- rep(1, 100000) >> adjbox(x ~ y) B> *** caught segfault *** B> address 0xfffffffcc47af530, cause 'memory not mapped' B> Traceback: B> 1: .C(mc_C, x, n, eps = eps, iter = c.iter, medc = double(1)) B> 2: mcComp(x, doReflect, eps1 = eps1, eps2 = eps2, maxit = maxit, B> trace.lev = trace.lev) B> 3: mc.default(x, ..., na.rm = TRUE) B> 4: mc(x, ..., na.rm = TRUE) B> 5: adjboxStats(unclass(groups[[i]]), coef = range, doReflect = doReflect) B> 6: adjbox.default(split(mf[[response]], mf[-response]), ...) B> 7: adjbox(split(mf[[response]], mf[-response]), ...) B> 8: adjbox.formula(x ~ y) B> 9: adjbox(x ~ y) Indeed, I (as maintainer of robustbase) can reproduce the segfault.... *even* though you did not specify the random seed... So this should be fixed ... hopefully within a week or so, but I am not promising anything, given my busy schedule! Martin Maechler, ETH Zurich [................] B> My setup details: B> R --version B> R version 2.15.2 (2012-10-26) -- "Trick or Treat" B> Package: robustbase B> Version: 0.9-5 B> Date: 2012-03-01 B> Packaged: 2013-03-01 16:34:03 UTC; maechler B> NeedsCompilation: yes B> Repository: CRAN B> Date/Publication: 2013-03-01 18:31:33 B> Built: R 2.15.2; x86_64-pc-linux-gnu; 2013-03-04 05:54:20 B> UTC; unix B> Platform: x86_64-pc-linux-gnu (64-bit) B> uname -a B> Linux R 2.6.32-5-amd64 #1 SMP Mon Feb 25 00:26:11 UTC 2013 x86_64 GNU/Linux B> Debian squeeze B> Could someone pls help. B> Regards B> Baan