Bug#783094: Pango regression causing R crashes.

Patrick Plenefisch simonpatp at gmail.com
Wed Apr 22 04:45:30 UTC 2015


Package: libpango-1.0-0
Version: 1.36.8-3

Reportbug is segfaulting on me, so let me know if you need more info and
how to get it without reportbug.

Using Jessie, and instaling r-base and r-cran-ggplot2, I attempted to use R
to plot a simple plot and it blew up in what appears to be pango as
valgrind says:
$ R -d valgrind
R version 3.1.3 (2015-03-09) -- "Smooth Sidewalk"
Copyright (C) 2015 The R Foundation for Statistical Computing
Platform: x86_64-unknown-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> q = data.frame(a = c(5,6), b=c(8,0))
> library(ggplot2)
> ggplot(q, aes(x=a, y=b)) + geom_point()
==19962== Jump to the invalid address stated on the next line
==19962==    at 0x0: ???
==19962==    by 0xFF08ED3: pango_font_map_get_type (in
/usr/lib/x86_64-linux-gnu/libpango-1.0.so.0.3600.8)
==19962==    by 0x1228134C: pango_fc_font_map_get_type (in
/usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0.3600.8)
==19962==    by 0xFCEA55B: pango_cairo_fc_font_map_get_type (in
/usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0.3600.8)
==19962==    by 0xFCE7994: pango_cairo_font_map_new (in
/usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0.3600.8)
==19962==    by 0xFCE7A64: pango_cairo_font_map_get_default (in
/usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0.3600.8)
==19962==    by 0xFCE6132: pango_cairo_create_context (in
/usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0.3600.8)
==19962==    by 0xFCE618F: pango_cairo_create_layout (in
/usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0.3600.8)
==19962==    by 0xF69B9D1: PG_layout (cairoFns.c:493)
==19962==    by 0xF69BA3A: PangoCairo_StrWidth (cairoFns.c:569)
==19962==    by 0x48CE55: GEStrWidth (engine.c:2487)
==19962==    by 0xE1FF6D1: textRect (util.c:197)
==19962==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==19962==

 *** caught segfault ***
address (nil), cause 'invalid permissions'

Traceback:
 1: grid.Call(L_textBounds, as.graphicsAnnot(x$label), x$x, x$y,
resolveHJust(x$just, x$hjust), resolveVJust(x$just, x$vjust),     x$rot, 0)
 2: widthDetails.text(x)
 3: widthDetails(x)
 4: (function (x) {    widthDetails(x)})(list(label = "b", x = 0.5, y =
0.5, just = "centre", hjust = 0.5,     vjust = 0.5, rot = 90, check.overlap
= FALSE, name = "axis.title.y.text.32",     gp = list(fontsize = 12, col =
"black", fontfamily = "",         lineheight = 0.9, font = 1L), vp = NULL))
 5: grid.Call.graphics(L_setviewport, vp, TRUE)
 6: push.vp.viewport(X[[1L]], ...)
 7: FUN(X[[1L]], ...)
 8: lapply(vps, push.vp, recording)
 9: pushViewport(x$layoutvp, recording = FALSE)
10: preDrawDetails.gTableParent(x)
11: preDrawDetails(x)
12: preDraw.gTree(x)
13: preDraw(x)
14: drawGTree(x)
15: recordGraphics(drawGTree(x), list(x = x), getNamespace("grid"))
16: grid.draw.gTree(gt)
17: grid.draw(gt)
18: grid.draw.gtable(gtable)
19: grid.draw(gtable)
20: print.ggplot(list(data = list(a = c(5, 6), b = c(8, 0)), layers =
list(    <environment>), scales = <S4 object of class "Scales">, mapping =
list(    x = a, y = b), theme = list(), coordinates = list(limits =
list(    x = NULL, y = NULL)), facet = list(shrink = TRUE), plot_env =
<environment>,     labels = list(x = "a", y = "b")))
21: print(list(data = list(a = c(5, 6), b = c(8, 0)), layers = list(
<environment>), scales = <S4 object of class "Scales">, mapping = list(
x = a, y = b), theme = list(), coordinates = list(limits = list(    x =
NULL, y = NULL)), facet = list(shrink = TRUE), plot_env =
<environment>,     labels = list(x = "a", y = "b")))

I attempted to try the sid version of R and it also crashed similarly,
while my Ubuntu machine with the same version of R as Jessie, but an
earlier version of pango (1.36.3-1) works just fine, hence my suspicion
that this is indeed a bug in pango and not R.


Patrick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-gnome-maintainers/attachments/20150422/c091d500/attachment.html>


More information about the pkg-gnome-maintainers mailing list