Bug 380687

Summary: FIXED IN SVN: UNIX ONLY: library(rcdklibs) crashes RKWard
Product: [Applications] rkward Reporter: Thomas Friedrichsmeier <thomas.friedrichsmeier>
Component: generalAssignee: 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
-- 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 &lt;- conditionCall\(e\)    if \(\!is.null\(call\)\) \{        if \(identical\(call\[\[1L\]\], quote\(doTryCatch\)\)\)             call &lt;- sys.call\(-4L\)        dcall &lt;- deparse\(call\)\[1L\]        prefix &lt;- paste\("Error in", dcall, ": "\)        LONG &lt;- 75L        msg &lt;- conditionMessage\(e\)        sm &lt;- strsplit\(msg, "\n"\)\[\[1L\]\]        w &lt;- 14L + nchar\(dcall, type = "w"\) + nchar\(sm\[1L\], type = "w"\)        if \(is.na\(w\)\)             w &lt;- 14L + nchar\(dcall, type = "b"\) + nchar\(sm\[1L\],                 type = "b"\)        if \(w &gt; LONG\)             prefix &lt;- paste\(prefix, "\n  ", sep = ""\)    \}    else prefix &lt;- "Error : "    msg &lt;- 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 &lt;- conditionCall\(e\)    if \(\!is.null\(call\)\) \{        if \(identical\(call\[\[1L\]\], quote\(doTryCatch\)\)\)             call &lt;- sys.call\(-4L\)        dcall &lt;- deparse\(call\)\[1L\]        prefix &lt;- paste\("Error in", dcall, ": "\)        LONG &lt;- 75L        msg &lt;- conditionMessage\(e\)        sm &lt;- strsplit\(msg, "\n"\)\[\[1L\]\]        w &lt;- 14L + nchar\(dcall, type = "w"\) + nchar\(sm\[1L\], type = "w"\)        if \(is.na\(w\)\)             w &lt;- 14L + nchar\(dcall, type = "b"\) + nchar\(sm\[1L\],                 type = "b"\)        if \(w &gt; LONG\)             prefix &lt;- paste\(prefix, "\n  ", sep = ""\)    \}    else prefix &lt;- "Error : "    msg &lt;- 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 &lt;- loadNamespace\(package, c\(which.lib.loc, lib.loc\), keep.source = keep.source\)    dataPath &lt;- file.path\(which.lib.loc, package, "data"\)    env &lt;- 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