Bug#767858: libcairo2: SIGBUS in polygon_add_edge on sparc
Mike Hommey
mh+reportbug at glandium.org
Sun Nov 2 23:35:26 UTC 2014
Package: libcairo2
Version: 1.14.0-2.1
Severity: important
This happens while building iceweasel:
$ gdb --args rsvg-convert -w 16 -h 16 -o default16.png debian/branding/iceweasel_icon.svg
(gdb) r
Starting program: /usr/bin/rsvg-convert -w 16 -h 16 -o default16.png iceweasel_icon.svg
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/sparc-linux-gnu/libthread_db.so.1".
Program received signal SIGBUS, Bus error.
0xf7c163c8 in polygon_add_edge (edge=<optimized out>, polygon=0x37f58) at ../../../../src/cairo-tor-scan-converter.c:1504
1504 ../../../../src/cairo-tor-scan-converter.c: No such file or directory.
(gdb) bt
#0 0xf7c163c8 in polygon_add_edge (edge=<optimized out>, polygon=0x37f58) at ../../../../src/cairo-tor-scan-converter.c:1504
Ex = -6400
Ey = 637440
tmp = <optimized out>
ytop = 216
ybot = <optimized out>
p2 = <optimized out>
p1 = 0xffffc32c
#1 glitter_scan_converter_add_edge (edge=<optimized out>, converter=0x37f58) at ../../../../src/cairo-tor-scan-converter.c:1551
No locals.
#2 _cairo_tor_scan_converter_add_polygon (converter=converter at entry=0x37f48, polygon=polygon at entry=0xffffc2f4)
at ../../../../src/cairo-tor-scan-converter.c:1834
self = 0x37f48
i = 0
#3 0xf7c05768 in composite_polygon (extents=extents at entry=0xffffc720, polygon=polygon at entry=0xffffc2f4,
fill_rule=fill_rule at entry=CAIRO_FILL_RULE_WINDING, antialias=antialias at entry=CAIRO_ANTIALIAS_DEFAULT,
compositor=0xf7c9f350 <spans>, compositor=0xf7c9f350 <spans>) at ../../../../src/cairo-spans-compositor.c:792
r = 0xffffc768
renderer = {base = {status = CAIRO_STATUS_SUCCESS, destroy = 0x0, render_rows = 0x0, finish = 0x0},
data = '\000' <repeats 800 times>...}
converter = 0x37f48
needs_clip = <optimized out>
status = <optimized out>
#4 0xf7c0622c in clip_and_composite_polygon (compositor=compositor at entry=0xf7c9f350 <spans>, extents=extents at entry=0xffffc720,
polygon=polygon at entry=0xffffc2f4, fill_rule=CAIRO_FILL_RULE_WINDING, antialias=antialias at entry=CAIRO_ANTIALIAS_DEFAULT)
at ../../../../src/cairo-spans-compositor.c:967
status = <optimized out>
#5 0xf7c07180 in _cairo_spans_compositor_fill (_compositor=0xf7c9f350 <spans>, extents=0xffffc720, path=0x35ae4,
fill_rule=CAIRO_FILL_RULE_WINDING, tolerance=0.10000000000000001, antialias=CAIRO_ANTIALIAS_DEFAULT)
at ../../../../src/cairo-spans-compositor.c:1174
saved_clip = 0xf1e58
polygon = {status = CAIRO_STATUS_SUCCESS, extents = {p1 = {x = 858, y = 3262}, p2 = {x = 3159, y = 4096}}, limit = {p1 = {
x = 0, y = 0}, p2 = {x = 0, y = 0}}, limits = 0x0, num_limits = 0, num_edges = 20, edges_size = 32,
edges = 0xffffc32c, edges_embedded = {{line = {p1 = {x = 3159, y = 3679}, p2 = {x = 3134, y = 3762}}, top = 3679,
bottom = 3762, dir = 1}, {line = {p1 = {x = 3134, y = 3762}, p2 = {x = 3067, y = 3840}}, top = 3762, bottom = 3840,
dir = 1}, {line = {p1 = {x = 3067, y = 3840}, p2 = {x = 2821, y = 3973}}, top = 3840, bottom = 3973, dir = 1}, {
line = {p1 = {x = 2821, y = 3973}, p2 = {x = 2455, y = 4062}}, top = 3973, bottom = 4062, dir = 1}, {line = {p1 = {
x = 2455, y = 4062}, p2 = {x = 2008, y = 4096}}, top = 4062, bottom = 4096, dir = 1}, {line = {p1 = {x = 1559,
y = 4062}, p2 = {x = 2008, y = 4096}}, top = 4062, bottom = 4096, dir = -1}, {line = {p1 = {x = 1194, y = 3973},
p2 = {x = 1559, y = 4062}}, top = 3973, bottom = 4062, dir = -1}, {line = {p1 = {x = 948, y = 3840}, p2 = {x = 1194,
y = 3973}}, top = 3840, bottom = 3973, dir = -1}, {line = {p1 = {x = 881, y = 3762}, p2 = {x = 948, y = 3840}},
top = 3762, bottom = 3840, dir = -1}, {line = {p1 = {x = 858, y = 3679}, p2 = {x = 881, y = 3762}}, top = 3679,
bottom = 3762, dir = -1}, {line = {p1 = {x = 881, y = 3594}, p2 = {x = 858, y = 3679}}, top = 3594, bottom = 3679,
dir = -1}, {line = {p1 = {x = 948, y = 3516}, p2 = {x = 881, y = 3594}}, top = 3516, bottom = 3594, dir = -1}, {
line = {p1 = {x = 1194, y = 3383}, p2 = {x = 948, y = 3516}}, top = 3383, bottom = 3516, dir = -1}, {line = {p1 = {
x = 1559, y = 3294}, p2 = {x = 1194, y = 3383}}, top = 3294, bottom = 3383, dir = -1}, {line = {p1 = {x = 2008,
y = 3262}, p2 = {x = 1559, y = 3294}}, top = 3262, bottom = 3294, dir = -1}, {line = {p1 = {x = 2008, y = 3262},
p2 = {x = 2455, y = 3294}}, top = 3262, bottom = 3294, dir = 1}, {line = {p1 = {x = 2455, y = 3294}, p2 = {x = 2821,
y = 3383}}, top = 3294, bottom = 3383, dir = 1}, {line = {p1 = {x = 2821, y = 3383}, p2 = {x = 3067, y = 3516}},
top = 3383, bottom = 3516, dir = 1}, {line = {p1 = {x = 3067, y = 3516}, p2 = {x = 3134, y = 3594}}, top = 3516,
bottom = 3594, dir = 1}, {line = {p1 = {x = 3134, y = 3594}, p2 = {x = 3159, y = 3679}}, top = 3594, bottom = 3679,
dir = 1}, {line = {p1 = {x = 1, y = 1076363264}, p2 = {x = 0, y = 0}}, top = 0, bottom = -1069456696,
dir = 1229554019}, {line = {p1 = {x = 1078041395, y = -1121442151}, p2 = {x = 0, y = 0}}, top = 1078041395,
bottom = -1121442151, dir = 1078041395}, {line = {p1 = {x = -1121442151, y = 0}, p2 = {x = 0, y = 0}}, top = 0,
bottom = 0, dir = 0}, {line = {p1 = {x = 0, y = -137764864}, p2 = {x = -14432, y = -14504}}, top = -14468, bottom = 0,
dir = 13}, {line = {p1 = {x = 16, y = -14768}, p2 = {x = -138720016, y = 274837270}}, top = 768, bottom = 1072693248,
dir = 0}, {line = {p1 = {x = 4096, y = 1524514}, p2 = {x = -140015516, y = 0}}, top = 858, bottom = -11,
dir = 1079757467}, {line = {p1 = {x = -1191580125, y = -1071251456}, p2 = {x = 0, y = 1074266112}}, top = 0,
bottom = 1075397617, dir = -2139146737}, {line = {p1 = {x = 1075818004, y = 2061584302}, p2 = {x = 1074266112,
y = 0}}, top = 1079979738, bottom = 1323524162, dir = -1071251456}, {line = {p1 = {x = 0, y = 1079627706}, p2 = {
x = 1900796328, y = 4096}}, top = 1524514, bottom = 0, dir = 0}, {line = {p1 = {x = 0, y = 0}, p2 = {x = 0,
y = 0}}, top = 0, bottom = -137764864, dir = -14560}, {line = {p1 = {x = 0, y = 3}, p2 = {x = 12, y = -14504}},
top = -14536, bottom = -14672, dir = -138714808}, {line = {p1 = {x = 3262, y = 3679}, p2 = {x = 1, y = 65}},
top = 1202168, bottom = 8, dir = 0}}}
compositor = 0xf7c9f350 <spans>
status = <optimized out>
#6 0xf7bb6184 in _cairo_compositor_fill (compositor=0xf7c9f350 <spans>, surface=surface at entry=0x126740,
op=op at entry=CAIRO_OPERATOR_OVER, source=source at entry=0xffffcb60, path=path at entry=0x35ae4,
fill_rule=fill_rule at entry=CAIRO_FILL_RULE_WINDING, tolerance=0.10000000000000001, antialias=CAIRO_ANTIALIAS_DEFAULT, clip=0x0)
at ../../../../src/cairo-compositor.c:203
extents = {surface = 0x126740, op = CAIRO_OPERATOR_OVER, source = {x = -8388608, y = -8388608, width = 16777215,
height = 16777215}, mask = {x = 3, y = 12, width = 10, height = 4}, destination = {x = 0, y = 0, width = 16,
height = 16}, bounded = {x = 3, y = 12, width = 10, height = 4}, unbounded = {x = 3, y = 12, width = 10, height = 4},
is_bounded = 6, source_sample_area = {x = 3, y = -11, width = 129, height = 123}, mask_sample_area = {x = 124, y = 119,
width = 110, height = 91}, source_pattern = {base = {ref_count = {ref_count = 0}, status = CAIRO_STATUS_SUCCESS,
user_data = {size = 0, num_elements = 0, element_size = 12, elements = 0x0}, observers = {next = 0x127e40,
prev = 0x127e40}, type = CAIRO_PATTERN_TYPE_RADIAL, filter = CAIRO_FILTER_GOOD, extend = CAIRO_EXTEND_PAD,
(snip)
That wasn't failing when libcairo2 was 1.12.16-5 (according to iceweasel build logs).
Mike
More information about the pkg-gnome-maintainers
mailing list