Summary: | FIXED IN SVN: UNIX ONLY: library(rcdklibs) crashes RKWard | ||
---|---|---|---|
Product: | [Applications] rkward | Reporter: | Thomas Friedrichsmeier <thomas.friedrichsmeier> |
Component: | general | Assignee: | RKWard Team <rkward-devel> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | All | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Thomas Friedrichsmeier
2009-06-24 11:05:41 UTC
-- Originally posted by (AT sourceforge.net): rtautenh -- Since the problem is related to rJava, it's probably the same for any rJava based package. e.g. library\(xlsx\): Loading required package: xlsxjars Loading required package: rJava \*\*\* caught segfault \*\*\* address 0x7f1d917d9aa0, cause 'invalid permissions' Traceback: 1: .External\(interface, obj@jobj, returnSig, method, ..., PACKAGE = "rJava"\) 2: .jcall\(ic, "Ljava/lang/reflect/Field;", "getField", "TYPE"\) 3: .jinit\(\) 4: .jpackage\(pkgname\) 5: fun\(...\) 6: doTryCatch\(return\(expr\), name, parentenv, handler\) 7: tryCatchOne\(expr, names, parentenv, handlers\[\[1L\]\]\) 8: tryCatchList\(expr, classes, parentenv, handlers\) 9: 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\]\] w <- 14L + nchar\(dcall, type = "w"\) + nchar\(sm\[1L\], type = "w"\) if \(is.na\(w\)\) w <- 14L + nchar\(dcall, type = "b"\) + nchar\(sm\[1L\], type = "b"\) if \(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"\)\)\}\) 10: try\(\{ fun\(...\) NULL\}\) 11: runHook\(".onLoad", package, env, package.lib, package\) 12: loadNamespace\(package, c\(which.lib.loc, lib.loc\), keep.source = keep.source\) 13: doTryCatch\(return\(expr\), name, parentenv, handler\) 14: tryCatchOne\(expr, names, parentenv, handlers\[\[1L\]\]\) 15: tryCatchList\(expr, classes, parentenv, handlers\) 16: 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\]\] w <- 14L + nchar\(dcall, type = "w"\) + nchar\(sm\[1L\], type = "w"\) if \(is.na\(w\)\) w <- 14L + nchar\(dcall, type = "b"\) + nchar\(sm\[1L\], type = "b"\) if \(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"\)\)\}\) 17: try\(\{ ns <- loadNamespace\(package, c\(which.lib.loc, lib.loc\), keep.source = keep.source\) dataPath <- file.path\(which.lib.loc, package, "data"\) env <- attachNamespace\(ns, pos = pos, dataPath = dataPath\)\}\) 18: library\(pkg, character.only = TRUE, logical.return = TRUE, lib.loc = lib.loc\) 19: .getRequiredPackages2\(pkgInfo\) 20: library\(xlsx\) In the SVN version, the R backend now runs in a separate process \(at least by default\). This fixes the incompatiblities with rJava and RGtk2 on X11. Please test\! - **summary**: UNIX ONLY: library(rcdklibs) crashes RKWard --> FIXED IN SVN: UNIX ONLY: library(rcdklibs) crashes RKWard - **status**: open --> open-fixed - **status**: open-fixed --> closed-fixed |