[R] grDevices segfault when building R4.4.0 on RHEL 9.1.

Miguel Esteva e@tev@@m @end|ng |rom weh|@edu@@u
Fri May 3 02:42:43 CEST 2024


Hi all,

I seem to be getting segfaults when attempting to build R 4.4.0 on RHEL 9.1 (5.14.0-162.23.1.el9_1.x86_64). Interestingly, it seems to build ok on Rocky 9.1 and 9.3. This is the trace:


make[3]: Entering directory '/home/esteva.m/R/R-4.4.0/src/library/grDevices'

building package 'grDevices'

make[4]: Entering directory '/home/esteva.m/R/R-4.4.0/src/library/grDevices'

all.R is unchanged

make[4]: Leaving directory '/home/esteva.m/R/R-4.4.0/src/library/grDevices'

make[4]: Entering directory '/home/esteva.m/R/R-4.4.0/src/library/grDevices'

make[5]: Entering directory '/home/esteva.m/R/R-4.4.0/src/library/grDevices/src'

make[6]: Entering directory '/home/esteva.m/R/R-4.4.0/src/library/grDevices/src'

../../../../library/grDevices/libs/grDevices.so is unchanged

make[7]: Entering directory '/home/esteva.m/R/R-4.4.0/src/library/grDevices/src/cairo'

make[8]: Entering directory '/home/esteva.m/R/R-4.4.0/src/library/grDevices/src/cairo'

make[9]: Entering directory '/home/esteva.m/R/R-4.4.0/src/library/grDevices/src/cairo'

make[9]: 'cairo.so' is up to date.

make[9]: Leaving directory '/home/esteva.m/R/R-4.4.0/src/library/grDevices/src/cairo'

make[8]: Leaving directory '/home/esteva.m/R/R-4.4.0/src/library/grDevices/src/cairo'

make[7]: Leaving directory '/home/esteva.m/R/R-4.4.0/src/library/grDevices/src/cairo'

make[6]: Leaving directory '/home/esteva.m/R/R-4.4.0/src/library/grDevices/src'

make[5]: Leaving directory '/home/esteva.m/R/R-4.4.0/src/library/grDevices/src'

make[4]: Leaving directory '/home/esteva.m/R/R-4.4.0/src/library/grDevices'

make[4]: Entering directory '/home/esteva.m/R/R-4.4.0/src/library/grDevices'
byte-compiling package 'grDevices'


 *** caught segfault ***

address 0x1801fa8f70, cause 'memory not mapped'


Traceback:

 1: solve.default(rgb)

 2: solve(rgb)

 3: drop(whitexyz %*% solve(rgb))

 4: make.rgb(red = c(0.625, 0.34), green = c(0.28, 0.595), blue = c(0.155,     0.07), gamma = 1.8, white = "D65", name = "Apple RGB")

 5: eval(exprs[i], envir)

 6: eval(exprs[i], envir)

 7: sys.source(codeFile, env, keep.source = keep.source, keep.parse.data = keep.parse.data)

 8: doTryCatch(return(expr), name, parentenv, handler)

 9: tryCatchOne(expr, names, parentenv, handlers[[1L]])

10: tryCatchList(expr, classes, parentenv, handlers)

11: 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, nlines = 1L)        prefix <- paste("Error in", dcall, ": ")        LONG <- 75L        sm <- strsplit(conditionMessage(e), "\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 && isTRUE(getOption("show.error.messages"))) {        cat(msg, file = outFile)        .Internal(printDeferredWarnings())    }    invisible(structure(msg, class = "try-error", condition = e))})

12: try(sys.source(codeFile, env, keep.source = keep.source, keep.parse.data = keep.parse.data))

13: loadNamespace(package = package, lib.loc = lib.loc, keep.source = keep.source,     keep.parse.data = keep.parse.data, partial = TRUE)

14: withCallingHandlers(expr, packageStartupMessage = function(c) tryInvokeRestart("muffleMessage"))

15: suppressPackageStartupMessages(loadNamespace(package = package,     lib.loc = lib.loc, keep.source = keep.source, keep.parse.data = keep.parse.data,     partial = TRUE))

16: code2LazyLoadDB(package, lib.loc = lib.loc, keep.source = keep.source,     keep.parse.data = keep.parse.data, compress = compress, set.install.dir = set.install.dir)

17: tools:::makeLazyLoading("grDevices")

An irrecoverable exception occurred. R is aborting now ...

make[4]: *** [../../../share/make/lazycomp.mk:9: ../../../library/grDevices/R/grDevices.rdb] Error 139

make[4]: Leaving directory '/home/esteva.m/R/R-4.4.0/src/library/grDevices'

make[3]: *** [Makefile:28: all] Error 2

make[3]: Leaving directory '/home/esteva.m/R/R-4.4.0/src/library/grDevices'

make[2]: *** [Makefile:39: R] Error 1

make[2]: Leaving directory '/home/esteva.m/R/R-4.4.0/src/library'

make[1]: *** [Makefile:28: R] Error 1

make[1]: Leaving directory '/home/esteva.m/R/R-4.4.0/src'

make: *** [Makefile:62: R] Error 1


Has anyone run into this?

cairo-1.17.4-7.el9.x86_64
cairo-gobject-1.17.4-7.el9.x86_64
cairo-devel-1.17.4-7.el9.x86_64
cairo-gobject-devel-1.17.4-7.el9.x86_64
pango-1.48.7-3.el9.x86_64
pango-devel-1.48.7-3.el9.x86_64

Cheers,


Miguel Esteva


[WEHI Logo]


Walter and Eliza Hall Institute of Medical Research
1G Royal Parade Parkville Victoria 3052 Australia

www.wehi.edu.au<https://wehi.edu.au>

Twitter<https://twitter.com/WEHI_research>  |  Facebook<https://www.facebook.com/WEHIresearch/>  |  Instagram<https://www.instagram.com/wehi_research>  |  Youtube<https://www.youtube.com/user/WEHImovies>  |  LinkedIn<https://www.linkedin.com/company/wehi_research>


WEHI acknowledges the Wurundjeri people of the Kulin Nation as the traditional owners of the land where our campuses are located and the continuing connection to country and community.

Private and confidential
The content of this e-mail and any attachments may be private and confidential, intended only for use of the individual or entity named. If you are not the intended recipient of this message you must not read, forward, print, copy, disclose, use or store in any way the information this e-mail or any attachment contains. If you are not the intended recipient, please notify the sender immediately and delete or destroy all copies of this e-mail and any attachment.

	[[alternative HTML version deleted]]



More information about the R-help mailing list