Bug 12668 - evince crashed with SIGSEGV in ImageStream::getLine()
Summary: evince crashed with SIGSEGV in ImageStream::getLine()
Status: RESOLVED FIXED
Alias: None
Product: poppler
Classification: Unclassified
Component: cairo backend (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: medium critical
Assignee: poppler-bugs
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-10-03 13:00 UTC by Pedro Villavicencio
Modified: 2007-10-06 21:09 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Pedro Villavicencio 2007-10-03 13:00:00 UTC
This bug was filled here:

https://bugs.launchpad.net/ubuntu/+source/poppler/+bug/148676

"When I open the following PDF http://www.lifeinformatica.com/componentes.pdf, evince crashes and closes itself."

".
Thread 2 (process 9861):
#0  0x00002ac60099ae26 in poll () from /lib/libc.so.6
#1  0x00002ac6001c512e in g_main_context_iterate (context=0x6f0e60, block=1, dispatch=1, self=<value optimized out>)
    at /build/buildd/glib2.0-2.14.1/glib/gmain.c:2996
	max_priority = 2147483647
	timeout = 490
	some_ready = <value optimized out>
	nfds = 8
	allocated_nfds = <value optimized out>
	fds = (GPollFD *) 0x6e8210
	__PRETTY_FUNCTION__ = "g_main_context_iterate"
#2  0x00002ac6001c55ea in IA__g_main_loop_run (loop=0x731610) at /build/buildd/glib2.0-2.14.1/glib/gmain.c:2898
	got_ownership = <value optimized out>
	self = (GThread *) 0x6b1960
	__PRETTY_FUNCTION__ = "IA__g_main_loop_run"
#3  0x00002ac5fc208883 in IA__gtk_main () at /build/buildd/gtk+2.0-2.12.0/gtk/gtkmain.c:1144
	tmp_list = (GList *) 0x2
	functions = (GList *) 0x0
	init = (GtkInitFunction *) 0x731610
	loop = (GMainLoop *) 0x731610
#4  0x0000000000447490 in main (argc=7181448, argv=<value optimized out>)
    at /build/buildd/evince-2.20.0/./shell/main.c:394
	value = <value optimized out>
	screen = <value optimized out>
	display_name = (const gchar *) 0x0
	mode = EV_WINDOW_MODE_PRESENTATION
	display = <value optimized out>
	screen_number = 7568528
	enable_metadata = 1
	context = <value optimized out>
	args = (GHashTable *) 0x6f7cc0
	program = (GnomeProgram *) 0x6c0050
#5  0x00002ac6008edb44 in __libc_start_main () from /lib/libc.so.6
#6  0x000000000041dff9 in _start ()
.
Thread 1 (process 9862):
#0  0x00002ac6037f799f in ImageStream::getLine (this=0x2aaab144e350) at Stream.cc:367
	buf = <value optimized out>
	bits = <value optimized out>
	c = <value optimized out>
	i = <value optimized out>
#1  0x00002ac5fd186218 in CairoOutputDev::drawMaskedImage (this=0x724470, state=<value optimized out>, 
    ref=<value optimized out>, str=0x2aaab144b890, width=196, height=179, colorMap=0x2aaab144c450, 
    maskStr=0x2aaab0069430, maskWidth=27, maskHeight=70, maskInvert=0) at CairoOutputDev.cc:1055
	maskImgStr = (ImageStream *) 0x2aaab144e350
	row_stride = 28
	maskBuffer = (unsigned char *) 0x2aaab0068130 ""
	maskDest = (unsigned char *) 0x1b <Address 0x1b out of bounds>
	maskImage = <value optimized out>
	maskPattern = <value optimized out>
	pix = (Guchar *) 0x2aaab144cf74 ""
	x = 196
	y = 168
	buffer = <value optimized out>
	image = <value optimized out>
	pattern = <value optimized out>
	imgStr = <value optimized out>
	matrix = {xx = 2.3176438028929127e-310, yx = 2.3177907361323606e-310, xy = 2.3176438028929127e-310, 
  yy = 2.3176438028922704e-310, x0 = 6.4228533959362051e-323, y0 = 2.3235882734819491e-310}
#2  0x00002ac6037b227c in Gfx::doImage (this=0x2aaab0000dc0, ref=0x407ffbd0, str=0x2aaab144b890, 
    inlineImg=<value optimized out>) at Gfx.cc:3698
	dict = <value optimized out>
	maskDict = <value optimized out>
	width = 196
	height = 179
	bits = 8
	maskBits = <value optimized out>
	csMode = streamCSNone
	mask = <value optimized out>
	invert = <value optimized out>
	colorSpace = (class GfxColorSpace *) 0x2aaab1430e30
	maskColorSpace = <value optimized out>
	colorMap = (GfxImageColorMap *) 0x2aaab144c450
	maskColorMap = <value optimized out>
	maskObj = {type = objStream, {booln = -1341746128, intg = -1341746128, real = 2.3177897114046384e-310, 
    string = 0x2aaab0069430, name = 0x2aaab0069430 "ÿÿÿÿÿÿÿÿ\001", array = 0x2aaab0069430, dict = 0x2aaab0069430, 
    stream = 0x2aaab0069430, ref = {num = -1341746128, gen = 10922}, cmd = 0x2aaab0069430 "ÿÿÿÿÿÿÿÿ\001"}}
	smaskObj = {type = objNull, {booln = 1082129392, intg = 1082129392, real = 5.3464295694227545e-315, 
    string = 0x407ffbf0, name = 0x407ffbf0 "\004", array = 0x407ffbf0, dict = 0x407ffbf0, stream = 0x407ffbf0, ref = {
      num = 1082129392, gen = 0}, cmd = 0x407ffbf0 "\004"}}
	maskColors = {16, 0, 1, 0, 1082129408, 0, 0, 0, 1082129200, 0, 9721596, 10950, -1321004784, 10922, -1342177248, 
  10922, -1320885592, 10922, 89, 0, 1082129408, 0, -1342177248, 10922, 11033568, 0, -1342177248, 10922, 11033568, 0, 89, 
  0, 6, 0, 0, 0, 1082129200, 0, 9721596, 10950, -1320885592, 10922, 58638659, 10950, 11033568, 0, -1320885616, 10922, 
  11033568, 0, -1321004784, 10922, 11033568, 0, 58725069, 10950, 0, 10922, -1342177248, 10922, 6, 0, 0, 0}
	maskWidth = 27
	maskHeight = 70
	maskInvert = 0
	maskStr = (class Stream *) 0x2aaab0069430
	obj1 = {type = objNone, {booln = 1, intg = 1, real = 2.3176438028923198e-310, string = 0x2aaa00000001, 
    name = 0x2aaa00000001 <Address 0x2aaa00000001 out of bounds>, array = 0x2aaa00000001, dict = 0x2aaa00000001, 
    stream = 0x2aaa00000001, ref = {num = 1, gen = 10922}, cmd = 0x2aaa00000001 <Address 0x2aaa00000001 out of bounds>}}
	obj2 = {type = objNone, {booln = 1082129392, intg = 1082129392, real = 5.3464295694227545e-315, 
    string = 0x407ffbf0, name = 0x407ffbf0 "\004", array = 0x407ffbf0, dict = 0x407ffbf0, stream = 0x407ffbf0, ref = {
      num = 1082129392, gen = 0}, cmd = 0x407ffbf0 "\004"}}
	i = <value optimized out>
#3  0x00002ac6037b773c in Gfx::opXObject (this=0x2aaab0000dc0, args=<value optimized out>, numArgs=<value optimized out>)
    at Gfx.cc:3368
	name = 0x2aaab1448530 "Im88"
	obj1 = {type = objStream, {booln = -1320896368, intg = -1320896368, real = 2.3177907415196524e-310, 
    string = 0x2aaab144b890, name = 0x2aaab144b890 "P\237ª\003Æ*", array = 0x2aaab144b890, dict = 0x2aaab144b890, 
    stream = 0x2aaab144b890, ref = {num = -1320896368, gen = 10922}, cmd = 0x2aaab144b890 "P\237ª\003Æ*"}}
	obj2 = {type = objName, {booln = -1320884960, intg = -1320884960, real = 2.3177907420832825e-310, 
    string = 0x2aaab144e520, name = 0x2aaab144e520 "Image", array = 0x2aaab144e520, dict = 0x2aaab144e520, 
    stream = 0x2aaab144e520, ref = {num = -1320884960, gen = 10922}, cmd = 0x2aaab144e520 "Image"}}
	obj3 = {type = objNone, {booln = 1, intg = 1, real = 4.9406564584124654e-324, string = 0x1, 
    name = 0x1 <Address 0x1 out of bounds>, array = 0x1, dict = 0x1, stream = 0x1, ref = {num = 1, gen = 0}, 
    cmd = 0x1 <Address 0x1 out of bounds>}}
	refObj = {type = objRef, {booln = 89, intg = 89, real = 4.3971842479870942e-322, string = 0x59, 
    name = 0x59 <Address 0x59 out of bounds>, array = 0x59, dict = 0x59, stream = 0x59, ref = {num = 89, gen = 0}, 
    cmd = 0x59 <Address 0x59 out of bounds>}}
	opiDict = {type = objNull, {booln = 58383015, intg = 58383015, real = 2.3235882756111744e-310, 
    string = 0x2ac6037adaa7, name = 0x2ac6037adaa7 "\203ø", array = 0x2ac6037adaa7, dict = 0x2ac6037adaa7, 
    stream = 0x2ac6037adaa7, ref = {num = 58383015, gen = 10950}, cmd = 0x2ac6037adaa7 "\203ø"}}
#4  0x00002ac6037b0248 in Gfx::go (this=0x2aaab0000dc0, topLevel=1) at Gfx.cc:594
	obj = {type = objCmd, {booln = -1320966304, intg = -1320966304, real = 2.3177907380643549e-310, 
    string = 0x2aaab143a760, name = 0x2aaab143a760 "Do", array = 0x2aaab143a760, dict = 0x2aaab143a760, 
    stream = 0x2aaab143a760, ref = {num = -1320966304, gen = 10922}, cmd = 0x2aaab143a760 "Do"}}
	args = {{type = objName, {booln = -1320909520, intg = -1320909520, real = 2.3177907408698573e-310, 
      string = 0x2aaab1448530, name = 0x2aaab1448530 "Im88", array = 0x2aaab1448530, dict = 0x2aaab1448530, 
      stream = 0x2aaab1448530, ref = {num = -1320909520, gen = 10922}, cmd = 0x2aaab1448530 "Im88"}}, {type = objNone, {
      booln = -531064116, intg = -531064116, real = 72.471428000000003, string = 0x40521e2be0589acc, 
      name = 0x40521e2be0589acc <Address 0x40521e2be0589acc out of bounds>, array = 0x40521e2be0589acc, 
      dict = 0x40521e2be0589acc, stream = 0x40521e2be0589acc, ref = {num = -531064116, gen = 1079123499}, 
      cmd = 0x40521e2be0589acc <Address 0x40521e2be0589acc out of bounds>}}, {type = objNone, {booln = -1018697525, 
      intg = -1018697525, real = -55.384086999999987, string = 0xc04bb129c347e8cb, 
      name = 0xc04bb129c347e8cb <Address 0xc04bb129c347e8cb out of bounds>, array = 0xc04bb129c347e8cb, 
      dict = 0xc04bb129c347e8cb, stream = 0xc04bb129c347e8cb, ref = {num = -1018697525, gen = -1068781271}, 
      cmd = 0xc04bb129c347e8cb <Address 0xc04bb129c347e8cb out of bounds>}}, {type = objNone, {booln = 0, intg = 0, 
      real = -55.384063720703125, string = 0xc04bb12900000000, 
      name = 0xc04bb12900000000 <Address 0xc04bb12900000000 out of bounds>, array = 0xc04bb12900000000, 
      dict = 0xc04bb12900000000, stream = 0xc04bb12900000000, ref = {num = 0, gen = -1068781271}, 
      cmd = 0xc04bb12900000000 <Address 0xc04bb12900000000 out of bounds>}}, {type = objNone, {booln = 1609135268, 
      intg = 1609135268, real = 516.00897200000009, string = 0x408020125fe974a4, 
      name = 0x408020125fe974a4 <Address 0x408020125fe974a4 out of bounds>, array = 0x408020125fe974a4, 
      dict = 0x408020125fe974a4, stream = 0x408020125fe974a4, ref = {num = 1609135268, gen = 1082138642}, 
      cmd = 0x408020125fe974a4 <Address 0x408020125fe974a4 out of bounds>}}, {type = objNone, {booln = 2146521575, 
      intg = 2146521575, real = 685.75366199999996, string = 0x40856e077ff151e7, 
      name = 0x40856e077ff151e7 <Address 0x40856e077ff151e7 out of bounds>, array = 0x40856e077ff151e7, 
      dict = 0x40856e077ff151e7, stream = 0x40856e077ff151e7, ref = {num = 2146521575, gen = 1082486279}, 
      cmd = 0x40856e077ff151e7 <Address 0x40856e077ff151e7 out of bounds>}}, {type = objNone, {booln = 58695739, 
      intg = 58695739, real = 2.3235882910617929e-310, string = 0x2ac6037fa03b, name = 0x2ac6037fa03b "¸\001", 
      array = 0x2ac6037fa03b, dict = 0x2ac6037fa03b, stream = 0x2ac6037fa03b, ref = {num = 58695739, gen = 10950}, 
      cmd = 0x2ac6037fa03b "¸\001"}}, {type = objNone, {booln = 58712194, intg = 58712194, 
      real = 5.0956906661213902e-313, string = 0x18037fe082, name = 0x18037fe082 <Address 0x18037fe082 out of bounds>, 
      array = 0x18037fe082, dict = 0x18037fe082, stream = 0x18037fe082, ref = {num = 58712194, gen = 24}, 
      cmd = 0x18037fe082 <Address 0x18037fe082 out of bounds>}}, {type = objNone, {booln = 0, intg = 0, 
      real = 1.0609978954826362e-313, string = 0x500000000, name = 0x500000000 <Address 0x500000000 out of bounds>, 
      array = 0x500000000, dict = 0x500000000, stream = 0x500000000, ref = {num = 0, gen = 5}, 
      cmd = 0x500000000 <Address 0x500000000 out of bounds>}}, {type = objNone, {booln = 4, intg = 4, 
      real = 6.3659873748720795e-314, string = 0x300000004, name = 0x300000004 <Address 0x300000004 out of bounds>, 
      array = 0x300000004, dict = 0x300000004, stream = 0x300000004, ref = {num = 4, gen = 3}, 
      cmd = 0x300000004 <Address 0x300000004 out of bounds>}}, {type = objNone, {booln = 4, intg = 4, 
      real = 1.0609978956802624e-313, string = 0x500000004, name = 0x500000004 <Address 0x500000004 out of bounds>, 
      array = 0x500000004, dict = 0x500000004, stream = 0x500000004, ref = {num = 4, gen = 5}, 
      cmd = 0x500000004 <Address 0x500000004 out of bounds>}}, {type = objNone, {booln = 0, intg = 0, 
      real = 4.2439915819305446e-314, string = 0x200000000, name = 0x200000000 <Address 0x200000000 out of bounds>, 
      array = 0x200000000, dict = 0x200000000, stream = 0x200000000, ref = {num = 0, gen = 2}, 
      cmd = 0x200000000 <Address 0x200000000 out of bounds>}}, {type = objNone, {booln = 5, intg = 5, 
      real = 2.3235853911072202e-310, string = 0x2ac600000005, 
      name = 0x2ac600000005 <Address 0x2ac600000005 out of bounds>, array = 0x2ac600000005, dict = 0x2ac600000005, 
      stream = 0x2ac600000005, ref = {num = 5, gen = 10950}, 
      cmd = 0x2ac600000005 <Address 0x2ac600000005 out of bounds>}}, {type = objNone, {booln = 5, intg = 5, 
      real = 4.2439915844008729e-314, string = 0x200000005, name = 0x200000005 <Address 0x200000005 out of bounds>, 
      array = 0x200000005, dict = 0x200000005, stream = 0x200000005, ref = {num = 5, gen = 2}, 
      cmd = 0x200000005 <Address 0x200000005 out of bounds>}}, {type = objNone, {booln = -1342170112, intg = -1342170112, 
      real = 2.3177896904570455e-310, string = 0x2aaab0001c00, name = 0x2aaab0001c00 "ðƪ\003Æ*", array = 0x2aaab0001c00, 
      dict = 0x2aaab0001c00, stream = 0x2aaab0001c00, ref = {num = -1342170112, gen = 10922}, 
      cmd = 0x2aaab0001c00 "ðƪ\003Æ*"}}, {type = objNone, {booln = 0, intg = 0, real = 0, string = 0x0, name = 0x0, 
      array = 0x0, dict = 0x0, stream = 0x0, ref = {num = 0, gen = 0}, cmd = 0x0}}, {type = objNone, {booln = 58687837, 
      intg = 58687837, real = 2.3235882906713822e-310, string = 0x2ac6037f815d, 
      name = 0x2ac6037f815d "\203øÿuÎ\213M\b\213\223,\200", array = 0x2ac6037f815d, dict = 0x2ac6037f815d, 
      stream = 0x2ac6037f815d, ref = {num = 58687837, gen = 10950}, 
      cmd = 0x2ac6037f815d "\203øÿuÎ\213M\b\213\223,\200"}}, {type = objNone, {booln = -1342177248, intg = -1342177248, 
      real = 2.3177896901044803e-310, string = 0x2aaab0000020, name = 0x2aaab0000020 "", array = 0x2aaab0000020, 
      dict = 0x2aaab0000020, stream = 0x2aaab0000020, ref = {num = -1342177248, gen = 10922}, cmd = 0x2aaab0000020 ""}}, {
    type = objNone, {booln = 58687837, intg = 58687837, real = 2.3235882906713822e-310, string = 0x2ac6037f815d, 
      name = 0x2ac6037f815d "\203øÿuÎ\213M\b\213\223,\200", array = 0x2ac6037f815d, dict = 0x2ac6037f815d, 
      stream = 0x2ac6037f815d, ref = {num = 58687837, gen = 10950}, 
      cmd = 0x2ac6037f815d "\203øÿuÎ\213M\b\213\223,\200"}}, {type = objNone, {booln = -1342177248, intg = -1342177248, 
      real = 2.3177896901044803e-310, string = 0x2aaab0000020, name = 0x2aaab0000020 "", array = 0x2aaab0000020, 
      dict = 0x2aaab0000020, stream = 0x2aaab0000020, ref = {num = -1342177248, gen = 10922}, cmd = 0x2aaab0000020 ""}}, {
    type = objNone, {booln = 0, intg = 0, real = 0, string = 0x0, name = 0x0, array = 0x0, dict = 0x0, stream = 0x0, 
      ref = {num = 0, gen = 0}, cmd = 0x0}}, {type = objNone, {booln = -1341584528, intg = -1341584528, 
      real = 2.3177897193887393e-310, string = 0x2aaab0090b70, 
      name = 0x2aaab0090b70 "!ores para equipos de sobremesa son hasta un 40 por ciento más rápidos y ahorran más de un 40 por ciento en", array = 0x2aaab0090b70, dict = 0x2aaab0090b70, stream = 0x2aaab0090b70, ref = {num = -1341584528, 
        gen = 10922}, 
      cmd = 0x2aaab0090b70 "!ores para equipos de sobremesa son hasta un 40 por ciento más rápidos y ahorran más de un 40 por ciento en"}}, {type = objNone, {booln = 9715235, intg = 9715235, real = 2.3235858711033587e-310, 
      string = 0x2ac600943e23, name = 0x2ac600943e23 "H\205ÀI\211Ät2\203=þ`.", array = 0x2ac600943e23, 
      dict = 0x2ac600943e23, stream = 0x2ac600943e23, ref = {num = 9715235, gen = 10950}, 
      cmd = 0x2ac600943e23 "H\205ÀI\211Ät2\203=þ`."}}, {type = objNone, {booln = 0, intg = 0, real = 0, string = 0x0, 
      name = 0x0, array = 0x0, dict = 0x0, stream = 0x0, ref = {num = 0, gen = 0}, cmd = 0x0}}, {type = objNone, {
      booln = 58869765, intg = 58869765, real = 2.3235882996598197e-310, string = 0x2ac603824805, 
      name = 0x2ac603824805 "H\205ÀuñH\213\005'\236(", array = 0x2ac603824805, dict = 0x2ac603824805, 
      stream = 0x2ac603824805, ref = {num = 58869765, gen = 10950}, cmd = 0x2ac603824805 "H\205ÀuñH\213\005'\236("}}, {
    type = objNone, {booln = 58869869, intg = 58869869, real = 2.323588299664958e-310, string = 0x2ac60382486d, 
      name = 0x2ac60382486d "H\211ØL\213d$\020H\213\\$\bH\203Ä\030Ã\220H\203ì\b\205ÿtH\205ö~\024\205ÿx\020ºÿÿÿ\177\211ÐÁú\037÷þ9Ç|7H\213\005\221\235(", array = 0x2ac60382486d, dict = 0x2ac60382486d, stream = 0x2ac60382486d, ref = {
        num = 58869869, gen = 10950}, 
      cmd = 0x2ac60382486d "H\211ØL\213d$\020H\213\\$\bH\203Ä\030Ã\220H\203ì\b\205ÿtH\205ö~\024\205ÿx\020ºÿÿÿ\177\211ÐÁú\037÷þ9Ç|7H\213\005\221\235("}}, {type = objNone, {booln = 32, intg = 32, real = 1.5810100666919889e-322, string = 0x20, 
      name = 0x20 <Address 0x20 out of bounds>, array = 0x20, dict = 0x20, stream = 0x20, ref = {num = 32, gen = 0}, 
      cmd = 0x20 <Address 0x20 out of bounds>}}, {type = objNone, {booln = 58641205, intg = 58641205, 
      real = 2.3235882883674553e-310, string = 0x2ac6037ecb35, 
      name = 0x2ac6037ecb35 "I\211G\bésûÿÿ\203ø\\\017\205ïûÿÿ1öL\211çè\227Õùÿ\203ø7\017\217\225\002", 
      array = 0x2ac6037ecb35, dict = 0x2ac6037ecb35, stream = 0x2ac6037ecb35, ref = {num = 58641205, gen = 10950}, 
      cmd = 0x2ac6037ecb35 "I\211G\bésûÿÿ\203ø\\\017\205ïûÿÿ1öL\211çè\227Õùÿ\203ø7\017\217\225\002"}}, {type = objNone, {
      booln = -1341584568, intg = -1341584568, real = 2.317789719386763e-310, string = 0x2aaab0090b48, 
      name = 0x2aaab0090b48 "\b", array = 0x2aaab0090b48, dict = 0x2aaab0090b48, stream = 0x2aaab0090b48, ref = {
        num = -1341584568, gen = 10922}, cmd = 0x2aaab0090b48 "\b"}}, {type = objNone, {booln = -1341607904, 
      intg = -1341607904, real = 2.3177897182338114e-310, string = 0x2aaab008b020, name = 0x2aaab008b020 "0ͪ\003Æ*", 
      array = 0x2aaab008b020, dict = 0x2aaab008b020, stream = 0x2aaab008b020, ref = {num = -1341607904, gen = 10922}, 
      cmd = 0x2aaab008b020 "0ͪ\003Æ*"}}, {type = objNone, {booln = -1342177248, intg = -1342177248, 
      real = 2.3177896901044803e-310, string = 0x2aaab0000020, name = 0x2aaab0000020 "", array = 0x2aaab0000020, 
      dict = 0x2aaab0000020, stream = 0x2aaab0000020, ref = {num = -1342177248, gen = 10922}, cmd = 0x2aaab0000020 ""}}, {
    type = objNone, {booln = 0, intg = 0, real = 0, string = 0x0, name = 0x0, array = 0x0, dict = 0x0, stream = 0x0, 
      ref = {num = 0, gen = 0}, cmd = 0x0}}, {type = objNone, {booln = -1341575856, intg = -1341575856, 
      real = 2.317789719817193e-310, string = 0x2aaab0092d50, name = 0x2aaab0092d50 "à[¨", array = 0x2aaab0092d50, 
      dict = 0x2aaab0092d50, stream = 0x2aaab0092d50, ref = {num = -1341575856, gen = 10922}, 
      cmd = 0x2aaab0092d50 "à[¨"}}}
	numArgs = 1
	i = 6
	lastAbortCheck = 0
	timer = (GooTimer *) 0x2aaab0000020
#5  0x00002ac6037b0695 in Gfx::display (this=0x2aaab0000dc0, obj=0x407fff80, topLevel=1) at Gfx.cc:557
	obj2 = {type = objNone, {booln = 58494361, intg = 58494361, real = 2.3235882811123977e-310, 
    string = 0x2ac6037c8d99, name = 0x2ac6037c8d99 "H\211\235Ð\002", array = 0x2ac6037c8d99, dict = 0x2ac6037c8d99, 
    stream = 0x2ac6037c8d99, ref = {num = 58494361, gen = 10950}, cmd = 0x2ac6037c8d99 "H\211\235Ð\002"}}
	i = <value optimized out>
#6  0x00002ac6037f4356 in Page::displaySlice (this=0xa871a0, out=0x724470, hDPI=72, vDPI=72, 
    rotate=<value optimized out>, useMediaBox=<value optimized out>, crop=1, sliceX=-1, sliceY=-1, sliceW=-1, sliceH=-1, 
    printing=0, catalog=0xa85c80, abortCheckCbk=0, abortCheckCbkData=0x0, annotDisplayDecideCbk=0, 
    annotDisplayDecideCbkData=0x0) at Page.cc:406
	gfx = (Gfx *) 0x2aaab0000dc0
	obj = {type = objStream, {booln = -1342170112, intg = -1342170112, real = 2.3177896904570455e-310, 
    string = 0x2aaab0001c00, name = 0x2aaab0001c00 "ðƪ\003Æ*", array = 0x2aaab0001c00, dict = 0x2aaab0001c00, 
    stream = 0x2aaab0001c00, ref = {num = -1342170112, gen = 10922}, cmd = 0x2aaab0001c00 "ðƪ\003Æ*"}}
	annotList = <value optimized out>
	acroForm = <value optimized out>
	i = <value optimized out>
#7  0x00002ac5fd182a28 in poppler_page_render (page=0x2aaab0013680, cairo=0x2aaab0012900) at poppler-page.cc:438
	output_dev = (class CairoOutputDev *) 0x724470
	__PRETTY_FUNCTION__ = "void poppler_page_render(PopplerPage*, cairo_t*)"
#8  0x000000000045a7b7 in pdf_document_render (document=<value optimized out>, rc=0xad3d40)
    at /build/buildd/evince-2.20.0/./backend/pdf/ev-poppler.cc:496
	surface = (cairo_surface_t *) 0x2aaab00009f0
	width_points = 842
	height_points = 595.22000000000003
	width = 1645
	height = 1163
	cr = (cairo_t *) 0x2aaab0012900
#9  0x0000000000422733 in ev_job_render_run (job=<value optimized out>)
    at /build/buildd/evince-2.20.0/./shell/ev-jobs.c:374
	__PRETTY_FUNCTION__ = "ev_job_render_run"
#10 0x0000000000420d8d in handle_job (job=0x9d7e40) at /build/buildd/evince-2.20.0/./shell/ev-job-queue.c:136
	__PRETTY_FUNCTION__ = "handle_job"
#11 0x00000000004212cf in ev_render_thread (data=<value optimized out>)
    at /build/buildd/evince-2.20.0/./shell/ev-job-queue.c:263
	job = (EvJob *) 0x9d7e40
#12 0x00002ac6001e3904 in g_thread_create_proxy (data=0x736d20) at /build/buildd/glib2.0-2.14.1/glib/gthread.c:635
	__PRETTY_FUNCTION__ = "g_thread_create_proxy"
#13 0x00002ac601689317 in start_thread () from /lib/libpthread.so.0
#14 0x00002ac6009a3d5d in clone () from /lib/libc.so.6
#15 0x0000000000000000 in ?? ()"
Comment 1 Albert Astals Cid 2007-10-03 13:37:22 UTC
I can reproduce it with gtk-cairo-test but not with test-poppler-qt4 so seems indeed a bug in CairoOutputDev

My bt is

#0  0x00002ae0cc2b6765 in raise () from /lib/libc.so.6
#1  0x00002ae0cc2b81c0 in abort () from /lib/libc.so.6
#2  0x00002ae0cc2ef60b in ?? () from /lib/libc.so.6
#3  0x00002ae0cc2f7494 in ?? () from /lib/libc.so.6
#4  0x00002ae0cc2f8e23 in malloc () from /lib/libc.so.6
#5  0x00002ae0ca8570a2 in ?? () from /usr/lib/libcairo.so.2
#6  0x00002ae0ca856208 in ?? () from /usr/lib/libcairo.so.2
#7  0x00002ae0ca81b441 in cairo_image_surface_create_for_data () from /usr/lib/libcairo.so.2
#8  0x00002ae0c7f302be in CairoOutputDev::drawMaskedImage (this=0x695860, state=<value optimized out>, ref=<value optimized out>, str=0xcdecc0,
    width=196, height=179, colorMap=0xbda5b0, maskStr=0xbdeec0, maskWidth=27, maskHeight=70, maskInvert=0) at CairoOutputDev.cc:1066
#9  0x00002ae0c7bf124c in Gfx::doImage (this=0xb3bf90, ref=0x7fffe31791c0, str=0xcdecc0, inlineImg=<value optimized out>) at Gfx.cc:3698
#10 0x00002ae0c7bf670c in Gfx::opXObject (this=0xb3bf90, args=<value optimized out>, numArgs=<value optimized out>) at Gfx.cc:3368
#11 0x00002ae0c7bef218 in Gfx::go (this=0xb3bf90, topLevel=1) at Gfx.cc:594
#12 0x00002ae0c7bef665 in Gfx::display (this=0xb3bf90, obj=0x7fffe3179570, topLevel=1) at Gfx.cc:557
Comment 2 Jeff Muizelaar 2007-10-06 20:12:25 UTC
I have a fix. I'll commit soon.
Comment 3 Jeff Muizelaar 2007-10-06 21:09:12 UTC
Fixed in git.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.