[R-SIG-Mac] loading tkrplot causes a segfault

Kevin Ushey kevinushey at gmail.com
Mon Jul 13 20:59:36 CEST 2015


For what it's worth, I can reproduce the issue with the binary
provided by CRAN; however, the package successfully loads for me when
installed from source.

    install.packages("tkrplot", type = "source")
    library(tkrplot) ## no segfault

The error seems to occur as a result of loading the `Rplot` symbol(s)
with the following call (this is what the package's `.onLoad()` tries
to do:

    library(tcltk)
    tkrPath <- system.file(package = "tkrplot")
    tkrLib <- file.path(tkrPath, "libs/tkrplot.so")
    tcl("load", tkrLib, "Rplot")

I can't really speculate further as to what the cause of the error is
-- perhaps `tkrplot`, or some other libraries used, were built with
incompatible compilers?

Kevin

On Mon, Jul 13, 2015 at 11:20 AM, Dan Tenenbaum <dtenenba at fredhutch.org> wrote:
>
>
> ----- Original Message -----
>> From: "THIOULOUSE JEAN" <Jean.Thioulouse at univ-lyon1.fr>
>> To: "Dan Tenenbaum" <dtenenba at fredhutch.org>
>> Cc: "r-sig-mac" <r-sig-mac at r-project.org>
>> Sent: Friday, July 10, 2015 9:53:18 PM
>> Subject: Re: [R-SIG-Mac] loading tkrplot causes a segfault
>>
>>
>> Re-install X11 XQuartz (I think that this is in the FAQ).
>>
>
> Reinstalling XQuartz (and rebooting) had no effect. Any other ideas?
>
> Thanks,
> Dan
>
>
>> Jean
>>
>>
>> > Le 11 juil. 2015 à 00:54, Dan Tenenbaum <dtenenba at fredhutch.org> a
>> > écrit :
>> >
>> > Hi,
>> >
>> > loading the tkrplot package (version 0.0-23) causes a segfault.
>> > This only seems to happen on Mavericks, not Snow Leopard, Linux,
>> > or Windows.
>> >
>> >> library(tkrplot)
>> > Loading required package: tcltk
>> >
>> > *** caught segfault ***
>> > address 0x998, cause 'memory not mapped'
>> >
>> > Traceback:
>> > 1: structure(.External(.C_dotTclObjv, objv), class = "tclObj")
>> > 2: .Tcl.objv(.Tcl.args.objv(...))
>> > 3: tcl("load", file, "Rplot")
>> > 4: doTryCatch(return(expr), name, parentenv, handler)
>> > 5: tryCatchOne(expr, names, parentenv, handlers[[1L]])
>> > 6: tryCatchList(expr, classes, parentenv, handlers)
>> > 7: tryCatch(tcl("load", file, "Rplot"), error = function(e)
>> > warning("loading Rplot failed",     call. = FALSE))
>> > 8: fun(libname, pkgname)
>> > 9: doTryCatch(return(expr), name, parentenv, handler)
>> > 10: tryCatchOne(expr, names, parentenv, handlers[[1L]])
>> > 11: tryCatchList(expr, classes, parentenv, handlers)
>> > 12: tryCatch(fun(libname, pkgname), error = identity)
>> > 13: runHook(".onLoad", env, package.lib, package)
>> > 14: loadNamespace(package, c(which.lib.loc, lib.loc))
>> > 15: doTryCatch(return(expr), name, parentenv, handler)
>> > 16: tryCatchOne(expr, names, parentenv, handlers[[1L]])
>> > 17: tryCatchList(expr, classes, parentenv, handlers)
>> > 18: 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 <- paste0(prefix, "\n  ")    }    else
>> > prefix <- "Error : "    msg <- paste0(prefix, conditionMessage(e),
>> > "\n")    .Internal(seterrmessage(msg[1L]))    if (!silent &&
>> > identical(getOption("show.error.messages"),         TRUE)) {
>> >        cat(msg, file = stderr())
>> >        .Internal(printDeferredWarnings())    }
>> >    invisible(structure(msg, class = "try-error", condition = e))})
>> > 19: try({    ns <- loadNamespace(package, c(which.lib.loc,
>> > lib.loc))    env <- attachNamespace(ns, pos = pos, deps)})
>> > 20: library(tkrplot)
>> >
>> > Possible actions:
>> > 1: abort (with core dump, if enabled)
>> > 2: normal R exit
>> > 3: exit R without saving workspace
>> > 4: exit R saving workspace
>> >
>> >
>> >
>> > My sessionInfo() is:
>> >
>> >> sessionInfo()
>> > R version 3.2.1 (2015-06-18)
>> > Platform: x86_64-apple-darwin13.4.0 (64-bit)
>> > Running under: OS X 10.9.5 (Mavericks)
>> >
>> > locale:
>> > [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
>> >
>> > attached base packages:
>> > [1] stats     graphics  grDevices utils     datasets  methods
>> >   base
>> >
>> >
>> > Any ideas?
>> >
>> > Thanks,
>> > Dan
>> >
>> > _______________________________________________
>> > R-SIG-Mac mailing list
>> > R-SIG-Mac at r-project.org
>> > https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>>
>>
>
> _______________________________________________
> R-SIG-Mac mailing list
> R-SIG-Mac at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-mac



More information about the R-SIG-Mac mailing list