There are two-garbage collection systems at play in rpy (the one from Python and the one from R).
It is possible that there is such a problem. Could you share a self-sufficient short piece of code (something that works straight out of a copy/paste and triggers the problem) ? Thanks, L. 2008/6/23 Jung, Paul <[EMAIL PROTECTED]>: > I'm having the following issue with rpy. I'm calling r.lm to do a bunch > of regressions (several hundred thousand over a loop) but get a segfault > as listed below. I think it is a memory issue because the same > regression will work if I start the loop closer to where the segfault > occurs. Also, I think the issue concerns data.frames since I don't get > any problems when I use lsfit (which does the regression using vectors > instead of a data frame). Any experience with such issues or > suggestions as to where to look for a solution would be much > appreciated. > > Thanks, > Paul > > RHOME= /usr/local/R-2.6.0/lib/R > RVERSION= 2.6.0 > RVER= 2060 > RUSER= /home/jung > Loading Rpy version 2060 .. Done. > Creating the R object 'r' .. Done > > *** caught segfault *** > address 0xc5ac, cause 'memory not mapped' > > Traceback: > 1: match.call() > 2: function (formula, data, subset, weights, na.action, method = "qr", > model = TRUE, x = FALSE, y = FALSE, qr = TRUE, singular.ok = TRUE, > contrasts = NULL, offset, ...) { ret.x <- x ret.y <- y cl <- > match.call() mf <- match.call(expand.dots = FALSE) m <- > match(c("formula", "data", "subset", "weights", "na.action", > "offset"), names(mf), 0) mf <- mf[c(1, m)] mf$drop.unused.levels > <- TRUE mf[[1]] <- as.name("model.frame") mf <- eval(mf, > parent.frame()) if (method == "model.frame") return(mf) > else if (method != "qr") warning(gettextf("method = '%s' is not > supported. Using 'qr'", method), domain = NA) mt <- > attr(mf, "terms") y <- model.response(mf, "numeric") w <- > as.vector(model.weights(mf)) if (!is.null(w) && !is.numeric(w)) > stop("'weights' must be a numeric vector") offset <- > as.vector(model.offset(mf)) if (!is.null(offset)) { if > (length(offset) == 1) offs! > et <- rep(offset, NROW(y)) else if (length(offset) != NROW(y)) > stop(gettextf("number of offsets is %d, should equal %d (number of > observations)", length(offset), NROW(y)), domain = NA) > } if (is.empty.model(mt)) { x <- NULL z <- > list(coefficients = if (is.matrix(y)) matrix(, 0, 3) else > numeric(0), residuals = y, fitted.values = 0 * y, weights = > w, rank = 0, df.residual = if (is.matrix(y)) nrow(y) else length(y)) > if (!is.null(offset)) { z$fitted.values <- offset > z$residuals <- y - offset } } else { x <- > model.matrix(mt, mf, contrasts) z <- if (is.null(w)) > lm.fit(x, y, offset = offset, singular.ok = singular.ok, > ...) else lm.wfit(x, y, w, offset = offset, singular.ok = > singular.ok, ...) } class(z) <- c(if (is.matrix(y)) > "mlm", "lm") z$na.action <- attr(mf, "na.action") z$offset <- > offse! > t z$contrasts <- attr(x, "contrasts") z$xlevels <- .getX! > levels(m > t, mf) z$call <- cl z$terms <- mt if (model) z$model <- > mf if (ret.x) z$x <- x if (ret.y) z$y <- y if > (!qr) z$qr <- NULL z}(y ~ x + x2 + x3, data = list(x2 = c(0a, > d7, a3, 70, 3d, 0a, b7, 3f, ec, 51, b8, 1e, 85, eb, c9, 3f, 5d, 8f, c2, > f5, 28, 5c, d3, 3f, 0a, d7, a3, 70, 3d, 0a, d7, 3f, c6, dc, b5, 84, 7c, > d0, d7, 3f, 0b, 46, 25, 75, 02, 9a, d8, 3f, d8, 12, f2, 41, cf, 66, d9, > 3f, 2d, 43, 1c, eb, e2, 36, da, 3f, 0b, d7, a3, 70, 3d, 0a, db, 3f, 71, > ce, 88, d2, de, e0, db, 3f, 60, 29, cb, 10, c7, ba, dc, 3f, d7, e7, 6a, > 2b, f6, 97, dd, 3f, d6, 09, 68, 22, 6c, 78, de, 3f), x3 = NULL, y = > NULL, x = c(33, 33, 33, 33, 33, 33, d3, 3f, cd, cc, cc, cc, cc, cc, dc, > 3f, 9a, 99, 99, 99, 99, 99, e1, 3f, 33, 33, 33, 33, 33, 33, e3, 3f, 85, > eb, 51, b8, 1e, 85, e3, 3f, d7, a3, 70, 3d, 0a, d7, e3, 3f, 29, 5c, 8f, > c2, f5, 28, e4, 3f, 7b, 14, ae, 47, e1, 7a, e4, 3f, cd, cc, cc, cc, cc, > cc, e4, 3f, 1f, 85, eb, 51, b8, 1e, e5, 3f, 71, 3d, 0a, ! > d7, a3, 70, e5, 3f, c3, f5, 28, 5c, 8f, c2, e5, 3f, 15, ae, 47, e1, 7a, > 14, e6, 3f)), weights = c(5L, 4L, 15L, 4L, 6L, 5L, 6L, 8L, 14L, 7L, 23L, > 11L, 17L, 6L, 21L, 8L, 8L, 8L, 8L, 10L, 14L, 13L, 18L, 12L, 38L, 14L, > 33L, 26L, 37L, 35L, 26L, 28L, 56L, 46L, 27L, 33L, 51L, 22L, 33L, 25L, > 49L, 28L, 12L, 22L, 22L, 19L, 20L, 16L, 20L, 8L, 15L, 10L, 29L, 10L, > 16L, 12L, 17L, 32L, 30L, 28L, 22L, 14L, 30L, 19L, 17L, 21L, 15L, 36L, > 23L, 24L, 37L, 51L, 32L, 17L, 36L, 7L, 34L, 9L, 20L, 4L, 40L, 9L, 34L, > 31L, 36L, 55L, 50L, 35L, 45L, 35L, 16L, 13L, 14L, 9L, 23L, 5L, 6L, 9L, > 9L, 25L, 8L, 4L, 12L, 9L)) > > Possible actions: > 1: abort (with core dump, if enabled) > 2: normal R exit > 3: exit R without saving workspace > 4: exit R saving workspace > > IMPORTANT: The information contained in this email and/or its attachments is > confidential. If you are not the intended recipient, please notify the sender > immediately by reply and immediately delete this message and all its > attachments. Any review, use, reproduction, disclosure or dissemination of > this message or any attachment by an unintended recipient is strictly > prohibited. Neither this message nor any attachment is intended as or should > be construed as an offer, solicitation or recommendation to buy or sell any > security or other financial instrument. Neither the sender, his or her > employer nor any of their respective affiliates makes any warranties as to > the completeness or accuracy of any of the information contained herein or > that this message or any of its attachments is free of viruses. > > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://sourceforge.net/services/buy/index.php > _______________________________________________ > rpy-list mailing list > rpy-list@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/rpy-list > ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php _______________________________________________ rpy-list mailing list rpy-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rpy-list