Bug#680277: evince: segfault when printing certain pages (but okay when printing to ps file)
Selim T. Erdogan
selim at alumni.cs.utexas.edu
Thu Jul 5 15:22:59 UTC 2012
On Wed, Jul 04, 2012 at 09:52:06PM +0200, Michael Biebl wrote:
> On 04.07.2012 20:39, Selim T. Erdogan wrote:
> > Package: evince
> > Version: 3.4.0-2+b1
> > Severity: normal
> >
> > Evince segfaults when I try to print page 1 of file f1040sd.pdf (attached).
> > Page 2 prints okay. This also happens on some other files/pages, which
> > I can provide if needed.
> >
> > If I choose print to file and select pdf, it still segfaults. However,
> > if I select ps, it prints fine. Then I can open the ps file in evince
> > and send to the printer without any problem.
> >
>
> Might be another of those cairo 1.12 regressions.
> I myself noticed several issues with printing PDF files with evince and
> cairo 1.12.
> See
> https://bugs.freedesktop.org/show_bug.cgi?id=51443
> and specifically
> https://bugs.freedesktop.org/show_bug.cgi?id=51443#c24
>
> Would be nice if you install the evince-dbg and libcairo2-dbg debug
> package and get us a back trace.
> The steps are basically:
> - Install gdb
> - Run "gdb /usr/bin/evince"
> - type "set logging on"
> - type "run path/to/pdf"
> - print the document → leads to the crash
> - run "bt full" in gdb
>
> Attach gdb.txt to the bug report.
Yes, looks very similar to the backtrace in the bug report link you gave.
My gdb.txt is attached.
Selim
-------------- next part --------------
Starting program: /usr/bin/evince f1040sd.pdf
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1".
[New Thread 0xb68ecb70 (LWP 24625)]
[New Thread 0xb60ebb70 (LWP 24626)]
[New Thread 0xb58eab70 (LWP 24627)]
[Thread 0xb58eab70 (LWP 24627) exited]
[New Thread 0xb58eab70 (LWP 24633)]
[New Thread 0xaf98bb70 (LWP 24634)]
[Thread 0xb60ebb70 (LWP 24626) exited]
[New Thread 0xb60ebb70 (LWP 24638)]
Program received signal SIGSEGV, Segmentation fault.
decode_integer (p=0x0, integer=integer at entry=0xbfffee00)
at /build/buildd-cairo_1.12.2-2-i386-1cmzkR/cairo-1.12.2/src/cairo-cff-subset.c:241
241 /build/buildd-cairo_1.12.2-2-i386-1cmzkR/cairo-1.12.2/src/cairo-cff-subset.c: Böyle bir dosya ya da dizin yok.
#0 decode_integer (p=0x0, integer=integer at entry=0xbfffee00)
at /build/buildd-cairo_1.12.2-2-i386-1cmzkR/cairo-1.12.2/src/cairo-cff-subset.c:241
No locals.
#1 0xb7757e60 in cairo_cff_font_read_top_dict (font=0x863c170)
at /build/buildd-cairo_1.12.2-2-i386-1cmzkR/cairo-1.12.2/src/cairo-cff-subset.c:1185
index = {size = 1, num_elements = 1, element_size = 12,
elements = 0x861f8a8 ""}
element = <optimized out>
buf = "Q^U\b\364\357%\267\300\003&\267\000\000\000\000\364\357}\267"
operand = <optimized out>
status = CAIRO_INT_STATUS_SUCCESS
p = 0x8555fed "\213\213\371\211\213\006\373w\213\a\273\n\273\v"
size = <optimized out>
offset = 335
#2 0xb77595fb in cairo_cff_font_read_font (font=0x863c170)
at /build/buildd-cairo_1.12.2-2-i386-1cmzkR/cairo-1.12.2/src/cairo-cff-subset.c:1321
i = <optimized out>
status = <optimized out>
#3 cairo_cff_font_generate (length=<synthetic pointer>,
data=<synthetic pointer>, font=0x863c170)
at /build/buildd-cairo_1.12.2-2-i386-1cmzkR/cairo-1.12.2/src/cairo-cff-subset.c:2545
status = <optimized out>
#4 _cairo_cff_subset_init (cff_subset=cff_subset at entry=0xbffff040,
subset_name=subset_name at entry=0xbffff08c "CairoFont-4-0",
font_subset=font_subset at entry=0xbffff140)
at /build/buildd-cairo_1.12.2-2-i386-1cmzkR/cairo-1.12.2/src/cairo-cff-subset.c:2928
font = <optimized out>
status = <optimized out>
data = 0x0
length = 0
i = <optimized out>
#5 0xb779cd6b in _cairo_pdf_surface_emit_cff_font_subset (
font_subset=0xbffff140, surface=0x86ea370)
at /build/buildd-cairo_1.12.2-2-i386-1cmzkR/cairo-1.12.2/src/cairo-pdf-surface.c:4884
status = <optimized out>
subset = {family_name_utf8 = 0x0,
ps_name = 0x8359b50 "@;n\b\360\215b\blStd-NewswithCom ",
widths = 0x85dc208, x_min = -0.0070000000000000001,
y_min = -0.22700000000000001, x_max = 0.98899999999999999,
y_max = 0.76400000000000001, ascent = 0.76400000000000001,
descent = -0.22700000000000001,
data = 0x86d8000 "\370\317\\\b\240\250l\b", data_length = 568}
name = "CairoFont-4-0\000#\267?\264u\267\370\063k\b\b\004\000\000\001\000\000\000\n\020p\267\364\357}\267\002\000\000\000\070\320_\b\275\027p\267\270\254c\b`\315z\267\350\360\377\277"
#6 _cairo_pdf_surface_emit_unscaled_font_subset (font_subset=0xbffff140,
closure=0x86ea370)
at /build/buildd-cairo_1.12.2-2-i386-1cmzkR/cairo-1.12.2/src/cairo-pdf-surface.c:5596
surface = 0x86ea370
status = CAIRO_INT_STATUS_SUCCESS
#7 0xb775ad9a in _cairo_sub_font_collect (closure=0xbffff114, entry=0x85f6200)
at /build/buildd-cairo_1.12.2-2-i386-1cmzkR/cairo-1.12.2/src/cairo-scaled-font-subsets.c:751
sub_font = 0x85f6200
collection = 0xbffff114
subset = {scaled_font = 0x86e9278, font_id = 4, subset_id = 0,
glyphs = 0x85c9800, utf8 = 0x8592800, glyph_names = 0x0,
to_latin_char = 0x8606a00, latin_to_subset_glyph_index = 0x851e608,
num_glyphs = 2, is_composite = 1, is_scaled = 0, is_latin = 1}
i = <optimized out>
j = <optimized out>
#8 _cairo_scaled_font_subsets_foreach_internal (
font_subsets=font_subsets at entry=0x86ea370,
font_subset_callback=font_subset_callback at entry=0, closure=0x86ea370,
type=CAIRO_SUBSETS_FOREACH_UNSCALED)
at /build/buildd-cairo_1.12.2-2-i386-1cmzkR/cairo-1.12.2/src/cairo-scaled-font-subsets.c:1072
collection = {glyphs = 0x85c9800, utf8 = 0x8592800, glyphs_size = 61,
to_latin_char = 0x8606a00, latin_to_subset_glyph_index = 0x851e608,
max_glyph = 1, num_glyphs = 2, subset_id = 0,
status = CAIRO_STATUS_SUCCESS,
font_subset_callback = 0xb779ccc0 <_cairo_pdf_surface_emit_unscaled_font_subset>, font_subset_callback_closure = 0x86ea370}
sub_font = 0x85f6200
is_scaled = <optimized out>
is_user = 0
#9 0xb775c00d in _cairo_scaled_font_subsets_foreach_unscaled (
font_subsets=0x86ea370, font_subset_callback=0,
font_subset_callback at entry=0xb779ccc0 <_cairo_pdf_surface_emit_unscaled_font_subset>, closure=closure at entry=0x86ea370)
at /build/buildd-cairo_1.12.2-2-i386-1cmzkR/cairo-1.12.2/src/cairo-scaled-font-subsets.c:1100
No locals.
#10 0xb779a280 in _cairo_pdf_surface_emit_font_subsets (surface=0x86ea370)
at /build/buildd-cairo_1.12.2-2-i386-1cmzkR/cairo-1.12.2/src/cairo-pdf-surface.c:5646
status = CAIRO_STATUS_SUCCESS
#11 _cairo_pdf_surface_finish (abstract_surface=0x86ea370)
at /build/buildd-cairo_1.12.2-2-i386-1cmzkR/cairo-1.12.2/src/cairo-pdf-surface.c:1959
surface = 0x86ea370
offset = 0
info = <optimized out>
catalog = <optimized out>
status = CAIRO_STATUS_SUCCESS
status2 = <optimized out>
#12 0xb773c629 in _cairo_surface_finish (surface=surface at entry=0x86ea370)
at /build/buildd-cairo_1.12.2-2-i386-1cmzkR/cairo-1.12.2/src/cairo-surface.c:919
status = <optimized out>
__PRETTY_FUNCTION__ = "_cairo_surface_finish"
#13 0xb773cb5f in INT_cairo_surface_finish (surface=0x86ea370)
at /build/buildd-cairo_1.12.2-2-i386-1cmzkR/cairo-1.12.2/src/cairo-surface.c:963
No locals.
#14 0xb7713a16 in _cairo_paginated_surface_finish (abstract_surface=0x86e99c8)
at /build/buildd-cairo_1.12.2-2-i386-1cmzkR/cairo-1.12.2/src/cairo-paginated-surface.c:213
surface = 0x86e99c8
status = CAIRO_STATUS_SUCCESS
#15 0xb773c629 in _cairo_surface_finish (surface=surface at entry=0x86e99c8)
at /build/buildd-cairo_1.12.2-2-i386-1cmzkR/cairo-1.12.2/src/cairo-surface.c:919
status = <optimized out>
__PRETTY_FUNCTION__ = "_cairo_surface_finish"
#16 0xb773cb5f in INT_cairo_surface_finish (surface=0x86e99c8)
at /build/buildd-cairo_1.12.2-2-i386-1cmzkR/cairo-1.12.2/src/cairo-surface.c:963
No locals.
#17 0xb7c0f617 in ?? () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#18 0xb7ad7fbd in ?? () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#19 0xb789ac3e in ?? () from /usr/lib/i386-linux-gnu/libgdk-3.so.0
No symbol table info available.
#20 0xb73030f0 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#21 0xb7305633 in g_main_context_dispatch ()
from /lib/i386-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#22 0xb73059d0 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#23 0xb7305e2b in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#24 0xb7a8f64d in gtk_main () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#25 0x0805f401 in main (argc=1, argv=0xbffff584)
at /build/buildd-evince_3.4.0-2+b1-i386-Xbt3ZA/evince-3.4.0/./shell/main.c:329
context = <optimized out>
error = 0x0
A debugging session is active.
Inferior 1 [process 24622] will be killed.
Quit anyway? (y or n)
More information about the pkg-gnome-maintainers
mailing list