Bug 380687 - FIXED IN SVN: UNIX ONLY: library(rcdklibs) crashes RKWard
Summary: FIXED IN SVN: UNIX ONLY: library(rcdklibs) crashes RKWard
Status: RESOLVED FIXED
Alias: None
Product: rkward
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: unspecified All
: NOR normal
Target Milestone: ---
Assignee: RKWard Team
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-06-24 11:05 UTC by Thomas Friedrichsmeier
Modified: 2011-03-20 11:27 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Friedrichsmeier 2009-06-24 11:05:41 UTC
-- This ticket was imported from http://sourceforge.net/p/rkward/bugs/49 on 2017-05-30 15:26:38 +0100 --
See http://sourceforge.net/forum/message.php?msg\_id=7429180 , originally reported by Ralf Tautenhahn.

This does not happen in RKWard on Windows.
Comment 1 RKWard Team 2010-03-08 21:31:25 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\)


Comment 2 Thomas Friedrichsmeier 2010-11-19 12:16:22 UTC
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\!
Comment 3 Thomas Friedrichsmeier 2010-11-19 12:16:23 UTC
- **summary**: UNIX ONLY: library(rcdklibs) crashes RKWard --> FIXED IN SVN: UNIX ONLY: library(rcdklibs) crashes RKWard
- **status**: open --> open-fixed
Comment 4 Thomas Friedrichsmeier 2011-03-20 11:27:51 UTC
- **status**: open-fixed --> closed-fixed