The bug has been opened on https://bugs.launchpad.net/bugs/140643 "Binary package hint: evince Hello! I'm using Ubuntu Gutsy, and after a big update this morning I noticed some strange behavior. I'm not sure if this is related, but I noticed Evince throwing up repeated warnings of "cairo context error: NULL pointer" in the console when opening a certain file. I tried with a couple different files, and it didn't happen, so it might be a different bug. http://launchpadlibrarian.net/9338165/IN100_TD_2005_06.pdf IN100_TD_2005_06.pdf (220.2 KiB, application/pdf) This is the file showing the warnings, please check if it happens for others, too."
Created attachment 11858 [details] Anothe PDF with the same issue
#0 _cairo_set_error (cr=0x851d520, status=CAIRO_STATUS_NULL_POINTER) at cairo.c:119 No locals. #1 0xb755aa9d in CairoOutputDev::drawImageMask (this=0x853a2f0, state=0x8538aa8, ref=0x0, str=0x81550a0, width=16, height=16, invert=1, inlineImg=1) at CairoOutputDev.cc:686 matrix = {xx = 0, yx = 0, xy = 1.350196105240399e-268, yy = -3.7589387670182106e-43, x0 = 6.8962046478836532e-316, y0 = 5.3205314387727897e-315} #2 0xb755ad04 in CairoImageOutputDev::drawImageMask (this=0x853a2f0, state=0x8538aa8, ref=0x0, str=0x81550a0, width=16, height=16, invert=1, inlineImg=1) at CairoOutputDev.cc:1391 cr = (cairo_t *) 0x851d520 surface = (cairo_surface_t *) 0x851cf50 image = <value optimized out> #3 0xb7423bf0 in Gfx::doImage (this=0x83f96a0, ref=0x0, str=0x81550a0, inlineImg=1) at Gfx.cc:3503 dict = <value optimized out> maskDict = <value optimized out> width = 16 height = 16 bits = 1 maskBits = <value optimized out> csMode = streamCSNone mask = -1234755788 invert = <value optimized out> colorSpace = <value optimized out> maskColorSpace = <value optimized out> colorMap = <value optimized out> maskColorMap = <value optimized out> maskObj = {type = objNone, {booln = 1084023203, intg = 1084023203, real = 1.5389549160653998e-313, string = 0x409ce1a3, name = 0x409ce1a3 <Address 0x409ce1a3 out of bounds>, array = 0x409ce1a3, dict = 0x409ce1a3, stream = 0x409ce1a3, ref = { num = 1084023203, gen = 7}, cmd = 0x409ce1a3 <Address 0x409ce1a3 out of bounds>}} smaskObj = {type = objNone, {booln = 139698928, intg = 139698928, real = 2.765496572363419e-313, string = 0x853a2f0, name = 0x853a2f0 "È8V·(ŠS\bÓwÅþ\005Ÿ\202@\r\220n\004Ñé\202@", array = 0x853a2f0, dict = 0x853a2f0, stream = 0x853a2f0, ref = { num = 139698928, gen = 13}, cmd = 0x853a2f0 "È8V·(ŠS\bÓwÅþ\005Ÿ\202@\r\220n\004Ñé\202@"}} maskColors = {-1227452428, -1227448032, 138572528, -1234755976, -1228308464, -1227448032, 138572528, 138385168, -1, 0, 138572520, 1, 6, 0, -1219323620, 135614624, -1234755840, -1234755756, -1219881185, 138572528, 13, -1219323620, -1220122968, 138572528, 138755792, -1234755864, -1219323620, -1219323620, 135614624, 139523360, -1220062344, -1234755864, 138572528, 139523360, -1234755864, -1227452428, 0, -1227448032, -1234755864, -1228314697, -1234755864, -1234755840, 13, 139523360, -1219674917, 13, 139471704, 1084023203, 13, 139523360, -1220066966, 13, 138572528, 1084023203, -1219323620, 139657936, 139523360, -1234755756, -1220404511, 139523360, -1234755744, -1234755744, 0, 0} maskWidth = <value optimized out> maskHeight = <value optimized out> maskInvert = <value optimized out> maskStr = <value optimized out> obj1 = {type = objNone, {booln = 139506480, intg = 139506480, real = 1848.4092114076011, string = 0x850b330, name = 0x850b330 "Ð>E\bà¿\024\b\b", array = 0x850b330, dict = 0x850b330, stream = 0x850b330, ref = {num = 139506480, gen = 1084023203}, cmd = 0x850b330 "Ð>E\bà¿\024\b\b"}} obj2 = {type = objNone, {booln = 1, intg = 1, real = 3.3951932655938423e-313, string = 0x1, name = 0x1 <Address 0x1 out of bounds>, array = 0x1, dict = 0x1, stream = 0x1, ref = {num = 1, gen = 16}, cmd = 0x1 <Address 0x1 out of bounds>}} i = <value optimized out> #4 0xb7424830 in Gfx::opBeginImage (this=0x83f96a0, args=0xb6672034, numArgs=0) at Gfx.cc:3921 str = (Stream *) 0x81550a0 c1 = <value optimized out> c2 = <value optimized out> #5 0xb742271a in Gfx::execOp (this=0x83f96a0, cmd=0xb66721c0, args=0xb6672034, numArgs=0) at Gfx.cc:726 op = (Operator *) 0xb7539384 name = 0x8432e40 "BI" argPtr = (Object *) 0xb6672034 i = 0 #6 0xb742290c in Gfx::go (this=0x83f96a0, topLevel=1) at Gfx.cc:594 obj = {type = objCmd, {booln = 138620480, intg = 138620480, real = 1848.409211206148, string = 0x8432e40, name = 0x8432e40 "BI", array = 0x8432e40, dict = 0x8432e40, stream = 0x8432e40, ref = {num = 138620480, gen = 1084023203}, cmd = 0x8432e40 "BI"}} args = {{type = objNone, {booln = 0, intg = 0, real = 1816.4091796875, string = 0x0, name = 0x0, array = 0x0, dict = 0x0, stream = 0x0, ref = {num = 0, gen = 1083990435}, cmd = 0x0}}, {type = objNone, {booln = 32, intg = 32, real = 1816.4091796875073, string = 0x20, name = 0x20 <Address 0x20 out of bounds>, array = 0x20, dict = 0x20, stream = 0x20, ref = {num = 32, gen = 1083990435}, cmd = 0x20 <Address 0x20 out of bounds>}}, {type = objNone, {booln = 32, intg = 32, real = 1816.4091796875073, string = 0x20, name = 0x20 <Address 0x20 out of bounds>, array = 0x20, dict = 0x20, stream = 0x20, ref = {num = 32, gen = 1083990435}, cmd = 0x20 <Address 0x20 out of bounds>}}, {type = objNone, {booln = 0, intg = 0, real = 1816.4091796875, string = 0x0, name = 0x0, array = 0x0, dict = 0x0, stream = 0x0, ref = {num = 0, gen = 1083990435}, cmd = 0x0}}, {type = objNone, {booln = 0, intg = 0, real = 3477.5, string = 0x0, name = 0x0, array = 0x0, dict = 0x0, stream = 0x0, ref = {num = 0, gen = 1084959488}, cmd = 0x0}}, { type = objNone, {booln = -687194767, intg = -687194767, real = 1848.4100000000001, string = 0xd70a3d71, name = 0xd70a3d71 <Address 0xd70a3d71 out of bounds>, array = 0xd70a3d71, dict = 0xd70a3d71, stream = 0xd70a3d71, ref = { num = -687194767, gen = 1084023203}, cmd = 0xd70a3d71 <Address 0xd70a3d71 out of bounds>}}, {type = objNone, {booln = 3, intg = 3, real = -3.3358676278349967e-42, string = 0x3, name = 0x3 <Address 0x3 out of bounds>, array = 0x3, dict = 0x3, stream = 0x3, ref = { num = 3, gen = -1219323620}, cmd = 0x3 <Address 0x3 out of bounds>}}, {type = objNone, {booln = -1220090704, intg = -1220090704, real = 1.4938075492562451e-268, string = 0xb746e4b0, name = 0xb746e4b0 "\203øÿuË\213O\004\213\226\034\200", array = 0xb746e4b0, dict = 0xb746e4b0, stream = 0xb746e4b0, ref = {num = -1220090704, gen = 139705008}, cmd = 0xb746e4b0 "\203øÿuË\213O\004\213\226\034\200"}}, {type = objNone, {booln = 7, intg = 7, real = 1.5464386805216672e-268, string = 0x7, name = 0x7 <Address 0x7 out of bounds>, array = 0x7, dict = 0x7, stream = 0x7, ref = {num = 7, gen = 139750564}, cmd = 0x7 <Address 0x7 out of bounds>}}, {type = objNone, {booln = 139471468, intg = 139471468, real = 1.4394233294643135e-268, string = 0x8502a6c, name = 0x8502a6c "\b", array = 0x8502a6c, dict = 0x8502a6c, stream = 0x8502a6c, ref = {num = 139471468, gen = 139657936}, cmd = 0x8502a6c "\b"}}, {type = objNone, {booln = 139657936, intg = 139657936, real = 1.478787542490131e-268, string = 0x85302d0, name = 0x85302d0 "h\211R·\003", array = 0x85302d0, dict = 0x85302d0, stream = 0x85302d0, ref = {num = 139657936, gen = 139692008}, cmd = 0x85302d0 "h\211R·\003"}}, {type = objNone, {booln = 139781440, intg = 139781440, real = 1.4394233295476944e-268, string = 0x854e540, name = 0x854e540 "\005", array = 0x854e540, dict = 0x854e540, stream = 0x854e540, ref = {num = 139781440, gen = 139657936}, cmd = 0x854e540 "\005"}}, {type = objNone, {booln = 139657936, intg = 139657936, real = -3.3358677168301661e-42, string = 0x85302d0, name = 0x85302d0 "h\211R·\003", array = 0x85302d0, dict = 0x85302d0, stream = 0x85302d0, ref = {num = 139657936, gen = -1219323620}, cmd = 0x85302d0 "h\211R·\003"}}, {type = objNone, {booln = 139471468, intg = 139471468, real = 2.1909038518791191e-314, string = 0x8502a6c, name = 0x8502a6c "\b", array = 0x8502a6c, dict = 0x8502a6c, stream = 0x8502a6c, ref = {num = 139471468, gen = 1}, cmd = 0x8502a6c "\b"}}, {type = objNone, {booln = 139657936, intg = 139657936, real = -3.3358677168301661e-42, string = 0x85302d0, name = 0x85302d0 "h\211R·\003", array = 0x85302d0, dict = 0x85302d0, stream = 0x85302d0, ref = {num = 139657936, gen = -1219323620}, cmd = 0x85302d0 "h\211R·\003"}}, {type = objNone, {booln = -1220144477, intg = -1220144477, real = 1.4394241190589265e-268, string = 0xb74612a3, name = 0xb74612a3 "\203øÿuß\203ý\001tÚ\213F\020\213\020\211\004$ÿR\020\211<$èè\200ùÿ\213F\b\213V\004\203À\001\211F\b;B\f}Á\211\024$\211|$\b\211D$\004èG>ùÿ\213F\020\213\020\211\004$ÿR\f\203~\f\ruŠ\203Ä\fžÿÿÿÿ[^_]Ã\220\203ì\034\211t$\030\213t$ \211\\$\024èÓ\205ùÿ\201Ã\b\206\f", array = 0xb74612a3, dict = 0xb74612a3, stream = 0xb74612a3, ref = {num = -1220144477, gen = 139657936}, cmd = 0xb74612a3 "\203øÿuß\203ý\001tÚ\213F\020\213\020\211\004$ÿR\020\211<$èè\200ùÿ\213F\b\213V\004\203À\001\211F\b;B\f}Á\211\024$\211|$\ b\211D$\004èG>ùÿ\213F\020\213\020\211\004$ÿR\f\203~\f\ruŠ\203Ä\fžÿÿÿÿ[^_]Ã\220\203ì\034\211t$\030\213t$ \211\\$\024èÓ\205ùÿ\201Ã\b\206\f"}}, { type = objNone, {booln = 0, intg = 0, real = -3.3358676278349948e-42, string = 0x0, name = 0x0, array = 0x0, dict = 0x0, stream = 0x0, ref = {num = 0, gen = -1219323620}, cmd = 0x0}}, {type = objNone, {booln = -1219658356, intg = -1219658356, real = 1.2239792249744756e-268, string = 0xb74d7d8c, name = 0xb74d7d8c "Badly formatted number", array = 0xb74d7d8c, dict = 0xb74d7d8c, stream = 0xb74d7d8c, ref = {num = -1219658356, gen = 139471456}, cmd = 0xb74d7d8c "Badly formatted number"}}, {type = objNone, { booln = 139471456, intg = 139471456, real = 2.1909038459503313e-314, string = 0x8502a60, name = 0x8502a60 "ýÿÿÿÀŠB\b", array = 0x8502a60, dict = 0x8502a60, stream = 0x8502a60, ref = {num = 139471456, gen = 1}, cmd = 0x8502a60 "ýÿÿÿÀŠB\b"}}, { type = objNone, {booln = -1219323620, intg = -1219323620, real = 5.7635614610910303e-314, string = 0xb752991c, name = 0xb752991c "he\027", array = 0xb752991c, dict = 0xb752991c, stream = 0xb752991c, ref = {num = -1219323620, gen = 2}, cmd = 0xb752991c "he\027"}}, {type = objNone, {booln = 2, intg = 2, real = -1.9842851529720149e-42, string = 0x2, name = 0x2 <Address 0x2 out of bounds>, array = 0x2, dict = 0x2, stream = 0x2, ref = {num = 2, gen = -1220141022}, cmd = 0x2 <Address 0x2 out of bounds>}}, {type = objNone, {booln = 0, intg = 0, real = -1.2682936740564991e-46, string = 0x0, name = 0x0, array = 0x0, dict = 0x0, stream = 0x0, ref = {num = 0, gen = -1234752624}, cmd = 0x0}}, {type = objNone, { booln = 139705008, intg = 139705008, real = 1.2240107843951351e-268, string = 0x853bab0, name = 0x853bab0 "š\214R·\001", array = 0x853bab0, dict = 0x853bab0, stream = 0x853bab0, ref = {num = 139705008, gen = 139471484}, cmd = 0x853bab0 "š\214R·\001"}}, { type = objNone, {booln = -1220074030, intg = -1220074030, real = 1.4938491409391502e-268, string = 0xb74725d2, name = 0xb74725d2 "\215\004\a;\206$\001", array = 0xb74725d2, dict = 0xb74725d2, stream = 0xb74725d2, ref = {num = -1220074030, gen = 139705044}, cmd = 0xb74725d2 "\215\004\a;\206$\001"}}, {type = objNone, {booln = 256, intg = 256, real = 8.0378229195310914e-269, string = 0x100, name = 0x100 <Address 0x100 out of bounds>, array = 0x100, dict = 0x100, stream = 0x100, ref = {num = 256, gen = 138754896}, cmd = 0x100 <Address 0x100 out of bounds>}}, {type = objNone, {booln = 1069463633, intg = 1069463633, real = -3.5982245292328333e+91, string = 0x3fbeb851, name = 0x3fbeb851 <Address 0x3fbeb851 out of bounds>, array = 0x3fbeb851, dict = 0x3fbeb851, stream = 0x3fbeb851, ref = {num = 1069463633, gen = -755914243}, cmd = 0x3fbeb851 <Address 0x3fbeb851 out of bounds>}}, {type = objNone, {booln = 139705008, intg = 139705008, real = -3.3358677168601621e-42, string = 0x853bab0, name = 0x853bab0 "š\214R·\001", array = 0x853bab0, dict = 0x853bab0, stream = 0x853bab0, ref = {num = 139705008, gen = -1219323620}, cmd = 0x853bab0 "š\214R·\001"}}, {type = objNone, {booln = -1220079729, intg = -1220079729, real = -1.5808277661987181e-44, string = 0xb7470f8f, name = 0xb7470f8f "\203ÿÿ\211Åt*\203øÿt%\211ø\203à\017\203ø\bt/\213\006\2114$ÿP$\215\223Hñúÿ\211T$\004\211\004$èÉHøÿ\220\213\\$\f\213t$\020\213|$\024\213l$\030\203Ä\034ÃÁç\bºC\b!\204\215\f/\211È÷ê\211ÈÁø\037\001ÊÁú\004)Â\211ÐÁà\005)Ð9Áu-\203å u\fÇ\2064\205", array = 0xb7470f8f, dict = 0xb7470f8f, stream = 0xb7470f8f, ref = {num = -1220079729, gen = -1227452428}, cmd = 0xb7470f8f "\203ÿÿ\211Åt*\203øÿt%\211ø\203à\017\203ø\bt/\213\006\2114$ÿP$\215\223Hñúÿ\211T$\004\211\004$èÉHøÿ\220\213\\$\f\213t$\020\213|$\024\213l$\030\203Ä\034ÃÁç\bºC\b!\204\215\f/\211È÷ê\211ÈÁø\037\001ÊÁú\004)Â\211ÐÁà\005)Ð9Áu-\203å u\fÇ\2064\205"}}, {type = objNone, { booln = -1227448032, intg = -1227448032, real = -1.2661761045618525e-46, string = 0xb6d6a120, name = 0xb6d6a120 "", array = 0xb6d6a120, dict = 0xb6d6a120, stream = 0xb6d6a120, ref = {num = -1227448032, gen = -1234755160}, cmd = 0xb6d6a120 ""}}, {type = objNone, { booln = -1227448032, intg = -1227448032, real = 8.6395387524909518e-313, string = 0xb6d6a120, name = 0xb6d6a120 "", array = 0xb6d6a120, dict = 0xb6d6a120, stream = 0xb6d6a120, ref = {num = -1227448032, gen = 40}, cmd = 0xb6d6a120 ""}}, {type = objNone, {booln = 40, intg = 40, real = 2.1219958107278981e-314, string = 0x28, name = 0x28 <Address 0x28 out of bounds>, array = 0x28, dict = 0x28, stream = 0x28, ref = {num = 40, gen = 1}, cmd = 0x28 <Address 0x28 out of bounds>}}, {type = objNone, {booln = -1219323620, intg = -1219323620, real = 1.4943066496036259e-268, string = 0xb752991c, name = 0xb752991c "he\027", array = 0xb752991c, dict = 0xb752991c, stream = 0xb752991c, ref = {num = -1219323620, gen = 139705440}, cmd = 0xb752991c "he\027"}}, {type = objNone, { booln = -1234755020, intg = -1234755020, real = -2.0349244565020117e-42, string = 0xb6672234, name = 0xb6672234 "\b", array = 0xb6672234, dict = 0xb6672234, stream = 0xb6672234, ref = {num = -1234755020, gen = -1220104018}, cmd = 0xb6672234 "\b"}}} numArgs = 0 i = 6 lastAbortCheck = 0 timer = (GooTimer *) 0xb6672048 #7 0xb7422e68 in Gfx::display (this=0x83f96a0, obj=0xb6672234, topLevel=1) at Gfx.cc:557 obj2 = {type = objNone, {booln = 139719632, intg = 139719632, real = 6.9030670220781298e-316, string = 0x853f3d0, name = 0x853f3d0 "", array = 0x853f3d0, dict = 0x853f3d0, stream = 0x853f3d0, ref = {num = 139719632, gen = 0}, cmd = 0x853f3d0 ""}} i = <value optimized out> #8 0xb7468046 in Page::display (this=0x84511f8, gfx=0x83f96a0) at Page.cc:446 obj = {type = objStream, {booln = 139657936, intg = 139657936, real = -3.9892121781773595e-42, string = 0x85302d0, name = 0x85302d0 "h\211R·\003", array = 0x85302d0, dict = 0x85302d0, stream = 0x85302d0, ref = {num = 139657936, gen = -1219084904}, cmd = 0x85302d0 "h\211R·\003"}} #9 0xb7553dfc in poppler_page_get_image_mapping (page=0x8445a28) at poppler-page.cc:1030 map_list = <value optimized out> i = <value optimized out> __PRETTY_FUNCTION__ = "GList* poppler_page_get_image_mapping(PopplerPage*)" #10 0x0809e7d6 in g_cclosure_marshal_VOID__ENUM () at gmarshal.c:334 No symbol table info available. #11 0x080997ab in g_cclosure_marshal_VOID__ENUM () at gmarshal.c:334 No symbol table info available. #12 0x0806185c in g_cclosure_marshal_VOID__ENUM () at gmarshal.c:334 No symbol table info available. #13 0x0805fab3 in g_cclosure_marshal_VOID__ENUM () at gmarshal.c:334 No symbol table info available. #14 0x0805ffec in g_cclosure_marshal_VOID__ENUM () at gmarshal.c:334 No symbol table info available. #15 0xb6e243a4 in g_thread_create_proxy (data=0x81556b8) at gthread.c:635 __PRETTY_FUNCTION__ = "g_thread_create_proxy" #16 0xb7573462 in start_thread () from /lib/i686/libpthread.so.0 No symbol table info available. #17 0xb6cfc82e in clone () from /lib/i686/libc.so.6 __elf_set___libc_subfreeres_element_fstab_free__ = (const void *) 0xb6d3aa10 fstab_state = {fs_fp = 0x0, fs_buffer = 0x0, fs_mntres = {mnt_fsname = 0x0, mnt_dir = 0x0, mnt_type = 0x0, mnt_opts = 0x0, mnt_freq = 0, mnt_passno = 0}, fs_ret = {fs_spec = 0x0, fs_file = 0x0, fs_vfstype = 0x0, fs_mntops = 0x0, fs_type = 0x0, fs_freq = 0, fs_passno = 0}}
I believe this may be related to the current cairo pattern not being set.
Should be fixed in git. Thanks
The current versions still display warnings
Still get warnings with libcairo-1.4.14 and libpoppler-0.6.4.
Both IN100_TD_2005_06.pdf and plan.pdf work for me with current poppler (and cairo from git master too) without any warning. Feel free to reopen it again if the problem is still present for you. Thanks.
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.