I got the following after running succesfully through this loop 28 million times... the loop opens text files in a directory and inserts line by line into a database...
*** caught segfault *** address 0xc0000010, cause 'memory not mapped' Traceback: 1: .getGeneric(f, where, package) 2: getGeneric("coerce", where = where) 3: as(obj, "integer") 4: mysqlConnectionInfo(dbObj, ...) 5: dbGetInfo(conn, "rsId") 6: dbGetInfo(conn, "rsId") 7: dbListResults(con) 8: dbListResults(con) 9: mysqlQuickSQL(conn, statement, ...) 10: dbGetQuery(con, sql) 11: dbGetQuery(con, sql) 12: doTryCatch(return(expr), name, parentenv, handler) 13: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 14: tryCatchList(expr, classes, parentenv, handlers) 15: tryCatch(expr, error = function(e) { call <- conditionCall(e) if (!is.null(call)) { if (identical(call[[1L]], quote(doTryCatch))) call <- sys.call(-4L) dcall <- deparse(call)[1L] prefix <- paste("Error in", dcall, ": ") LONG <- 75L msg <- conditionMessage(e) sm <- strsplit(msg, "\n")[[1L]] if (14L + nchar(dcall, type = "w") + nchar(sm[1L], type = "w") > LONG) prefix <- paste(prefix, "\n ", sep = "") } else prefix <- "Error : " msg <- paste(prefix, conditionMessage(e), "\n", sep = "") .Internal(seterrmessage(msg[1L])) if (!silent && identical(getOption("show.error.messages"), TRUE)) { cat(msg, file = stderr()) .Internal(printDeferredWarnings()) } invisible(structure(msg, class = "try-error"))}) 16: try(dbGetQuery(con, sql)) 17: eval.with.vis(expr, envir, enclos) 18: eval.with.vis(ei, envir) 19: source("~/SoothSayer/EODData/DBScripts/loadEODQuotes.r") Possible actions: 1: abort (with core dump, if enabled) 2: normal R exit 3: exit R without saving workspace 4: exit R saving workspace Selection: The code is pretty simple... library(RMySQL) drv <- dbDriver("MySQL") con <- dbConnect(drv, host="localhost", dbname="markets", user="root", pass="embryoni3") fileList <- list.files(pattern = "[[:upper:]]{2,}", all.files = FALSE, full.names = FALSE, recursive = FALSE, ignore.case = FALSE) for (x in 1:length(fileList)){ string <- strsplit(fileList[x], "_", fixed = TRUE) string <- string[[1]][1] fileLines <- read.csv(fileList[x],header = FALSE,row.names = NULL ) for ( j in 1:length(fileLines[,1])){ sql <- paste("insert into endOfDayData (date,market,symbol,open,high,low,close,volume) values ('", fileLines[j,2],"','",string,"','",as.character(fileLines[j,1]),"','",fileLines[j,3],"','",fileLines[j,4],"','",fileLines[j ,5],"','",fileLines[j,6],"','",fileLines[j,7],"')",sep="") #print(sql) atmpt <- try(dbGetQuery(con,sql)) options(show.error.messages = TRUE) if(inherits(atmpt, "try-error")){ } } } dbDisconnect(con) My understanding was that in general R liked to put a placekeeper like NA or NULL in for non-existent elements of defined structures... so I was surprised to see a seg fault... I'm having trouble interpretting the error... any clues would be appreciated. Nick [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.