[R-SIG-Mac] help with Tcl/Tk

Ivan Calandra ivan.calandra at u-bourgogne.fr
Tue Dec 4 10:51:10 CET 2012


Dear users,

In trying to use tcltk, svDialogs and gsubfn I have encountered an error 
that seems to stem from package Tcl/Tk.

I can load tcltk, everything looks fine, but if I try ?tk_choose.dir or 
whatever, then R hangs and I have to force exit.

I have tried with svDialogs as well and here is what happens:

 > sessionInfo()
R version 2.15.2 (2012-10-26)
Platform: i386-apple-darwin9.8.0/i386 (32-bit)
locale:
[1] fr_FR.UTF-8/fr_FR.UTF-8/fr_FR.UTF-8/C/fr_FR.UTF-8/fr_FR.UTF-8
attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

 > library(svDialogs)
Le chargement a nécessité le package : svGUI
Le chargement a nécessité le package : svMisc
Le chargement a nécessité le package : tcltk
Chargement de Tcl/Tk...
  *** caught bus error ***
address 0x1, cause 'non-existent physical address'

Traceback:
  1: sys.parent()
  2: sys.function(sys.parent())
  3: formals(sys.function(sys.parent()))
  4: match.arg(encoding)
  5: match(match.arg(encoding), c("", "bytes", "UTF-8"))
  6: textConnection("rval", "w", local = TRUE)
  7: capture.output(print(args(dlgDir)))
  8: paste(capture.output(print(args(dlgDir))), collapse = "")
  9: gsub("\\s+", " ", paste(capture.output(print(args(dlgDir))), 
collapse = ""))
10: doTryCatch(return(expr), name, parentenv, handler)
11: tryCatchOne(expr, names, parentenv, handlers[[1L]])
12: tryCatchList(expr, classes, parentenv, handlers)
13: 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))})
14: try(gsub("\\s+", " ", paste(capture.output(print(args(dlgDir))),     
collapse = "")), silent = TRUE)

Possible actions:
1: abort (with core dump, if enabled)
2: normal R exit
3: exit R without saving workspace
4: exit R saving workspace

 > mydir <- dlgDir()

Everything from ***caught bus error*** appears only when I type the last 
line (mydir <- dlgDir()).

I have the same problem with any function from gsubfn, i.e. any function 
that uses tcltk...

Can anyone help me?

Ivan

-- 
Ivan CALANDRA
Université de Bourgogne
UMR CNRS/uB 6282 Biogéosciences
6 Boulevard Gabriel
21000 Dijon, FRANCE
+33(0)3.80.39.63.06
ivan.calandra at u-bourgogne.fr
http://biogeosciences.u-bourgogne.fr/calandra



More information about the R-SIG-Mac mailing list