Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 426674 - net-print/cups-1.5.3: PDF printing no longer works with app-text/poppler-0.20.2
Summary: net-print/cups-1.5.3: PDF printing no longer works with app-text/poppler-0.20.2
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Printing (show other bugs)
Hardware: All Linux
: Normal major (vote)
Assignee: Printing Team
URL: https://bugs.freedesktop.org/show_bug...
Whiteboard:
Keywords:
: 426552 427108 (view as bug list)
Depends on:
Blocks: poppler-0.20
  Show dependency tree
 
Reported: 2012-07-15 09:18 UTC by Michał Górny
Modified: 2012-07-31 08:52 UTC (History)
12 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
The complete error.log message (error.log.part,11.20 KB, text/plain)
2012-07-15 09:18 UTC, Michał Górny
Details
bugfix patch for poppler (patch,416 bytes, patch)
2012-07-18 07:44 UTC, octoploid
Details | Diff
poppler-0.20.2-fix-pdf-print.patch (poppler-0.20.2-fix-pdf-print.patch,941 bytes, patch)
2012-07-25 22:49 UTC, Ben Kohler
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2012-07-15 09:18:12 UTC
Created attachment 318216 [details]
The complete error.log message

After upgrading poppler, CUPS is no longer able to print PDF files. Downgrading poppler helps. After rebuilding the new poppler once again, the issue can be reproduced.

Relevant log line seems to be:

D [15/Jul/2012:10:53:36 +0200] [Job 315] PID 1737 (pdftops) crashed on signal 8!

Unless I understand that wrong, by signal(7) that would be SIGFPE...

Attaching a more complete log. It mostly shows that after failure of pdftops, cups sent some useless junk to the print server.

--
Portage 2.2.0_alpha114 (default/linux/amd64/10.0/desktop, gcc-4.7.1, glibc-2.15-r2, 3.4.0-pomiocik+ x86_64)
=================================================================
                        System Settings
=================================================================
System uname: Linux-3.4.0-pomiocik+-x86_64-Intel-R-_Pentium-R-_Dual_CPU_T2330_@_1.60GHz-with-gentoo-2.1
Timestamp of tree: Sun, 15 Jul 2012 07:15:01 +0000
distcc 3.1 x86_64-pc-linux-gnu [enabled]
app-shells/bash:          4.2_p36
dev-java/java-config:     2.1.12
dev-lang/python:          2.6.8, 2.7.3-r2, 3.1.5, 3.2.3-r1
dev-util/cmake:           2.8.8-r3
dev-util/pkgconfig:       0.27
sys-apps/baselayout:      2.1-r1
sys-apps/openrc:          0.10.5
sys-apps/sandbox:         2.6
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.9.6-r3, 1.11.6, 1.12.2
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.7.1
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.4-r1 (virtual/os-headers)
sys-libs/glibc:           2.15-r2
Repositories: gentoo gentoo-cvs betagarden gamerlay-stable games scarabeus science x11 sunrise mgorny
Installed sets: @dep_librarian, @dep_stconnlist
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /lib64/systemd/system /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=core2 -O2 -pipe"
DISTDIR="/usr/local/portage/distfiles"
EMERGE_DEFAULT_OPTS="--ask --keep-going --quiet-build=n"
FCFLAGS="-march=core2 -O2 -pipe"
FEATURES="assume-digests binpkg-logs collision-protect config-protect-if-modified distcc distlocks ebuild-locks fixlafiles multilib-strict news parallel-fetch parse-eapi-ebuild-head preserve-libs protect-owned sandbox sfperms sign strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-march=core2 -O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
INSTALL_MASK="/usr/share/locale /etc/logrotate.d"
LANG="pl_PL.UTF-8"
LC_ALL="pl_PL.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu"
LINGUAS=""
MAKEOPTS="-j6"
PKGDIR="/usr/local/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --times --compress --force --whole-file --delete --stats --timeout=45 --exclude=/distfiles --exclude=/packages --exclude=/local"
PORTAGE_TMPDIR="/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/tmp/gx86 /usr/portage/local/betagarden /usr/portage/local/gamerlay /usr/portage/local/games /usr/portage/local/scarabeus /usr/portage/local/science /usr/portage/local/x11 /usr/portage/local/sunrise /home/mgorny/git/mgorny-repo"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 avahi bash-completion bluetooth branding bzip2 cairo caps cdda cdr cli cracklib crypt cups curl cxx dbus dirac djvu dri dts dvd dvdr emboss encode exif expat fam fbcon fftw filecaps firefox flac fontconfig gd gdbm gif gmp gnome-keyring gnutls gpm graphviz gtk iconv icu idn imagemagick ipv6 java6 jbig jpeg jpeg2k kate lcms libedit libnotify libproxy lzma mad matroska mmap mmx mmxext mng modules mp3 mp4 mpeg mtp mudflap multilib ncurses nptl ogg opencore-amr openexr opengl openmp pam pango pch pcre pdf png ppds pppd qt3support qt4 raw readline schroedinger sdl session smp sndfile speex spell sse sse2 sse3 ssl ssse3 startup-notification svg systemd tcpd theora threads tiff timidity truetype udev unicode upnp upower usb v4l2 vcd vim-syntax vorbis wavpack wifi wmf wxwidgets x264 xcb xcomposite xml xmpp xorg xpm xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" PHP_TARGETS="php5-3" PYTHON_TARGETS="python2_6 python2_7 python3_1 python3_2" RUBY_TARGETS="ruby18 ruby19" SANE_BACKENDS="artec_eplus48u net" USERLAND="GNU" VIDEO_CARDS="fbdev radeon r300 r600 vesa" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
USE_PYTHON="2.6 2.7 3.2"
Unset:  CPPFLAGS, CTARGET, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

=================================================================
                        Package Settings
=================================================================

net-print/cups-1.5.3 was built with the following:
USE="X acl avahi dbus filters gnutls jpeg (multilib) pam png ssl systemd threads tiff usb -debug -java -kerberos -ldap -perl -python -slp -static-libs -xinetd" LINGUAS="-da -de -es -eu -fi -fr -hu -id -it -ja -ko -nl -no -pl -pt -pt_BR -ru -sv -zh -zh_TW"


app-text/poppler-0.20.2 was built with the following:
USE="cairo curl cxx introspection jpeg jpeg2k lcms (multilib) png qt4 tiff utils xpdf-headers -cjk -debug -doc"
Comment 1 Andreas K. Hüttel archtester gentoo-dev 2012-07-15 12:03:59 UTC
Ewww... ok what we'd need here is a backtrace from a coredump...

Alternatively, could you please test if upgrading to cups-1.6rc1 plus dependencies helps? It's not keyworded yet, but I dont see big obstacles to keywording the rc if it helps...
Comment 2 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2012-07-15 14:18:02 UTC
(In reply to comment #1)
> Ewww... ok what we'd need here is a backtrace from a coredump...

I have the coredump already. I just need to find out how to get it from journal :D.
Comment 3 Andreas Sturmlechner gentoo-dev 2012-07-15 14:51:55 UTC
I managed to print a PDF from firefox-13 with cups-1.6_rc1 (poppler-0.20.2), the only error line that appeared inside the log:

E [15/Jul/2012:16:46:45 +0200] [Client 13] Bad request line "%16%03%01" from localhost.
Comment 4 Andreas K. Hüttel archtester gentoo-dev 2012-07-15 19:01:55 UTC
(In reply to comment #1)
> Ewww... ok what we'd need here is a backtrace from a coredump...
> 
> Alternatively, could you please test if upgrading to cups-1.6rc1 plus
> dependencies helps? It's not keyworded yet, but I dont see big obstacles to
> keywording the rc if it helps...

After talking on IRC Michal sent me the PDF (contains private info, so not attached here), I'll poke at it and poppler with a sharp stick... :)
Comment 5 Juergen Rose 2012-07-16 16:59:13 UTC
It seems, that I have the same issue: The cups web interface shows:
Status: stopped   "/usr/libexec/cups/filter/pdftops failed"

dmesg says:
[617461.511246] pdftops[31278] trap divide error ip:7f43bc0c6f96 sp:7ffff1a29d10 error:0 in libpoppler.so.26.0.0[7f43bbf66000+217000]
[619512.246923] pdftops[18258] trap divide error ip:7f3c08d8df96 sp:7fff369956d0 error:0 in libpoppler.so.26.0.0[7f3c08c2d000+217000]


If I try to install cups-1.6_rc1 by setting:

net-print/cups ~* **
=net-print/cups-filters-9999 **

in /etc/portage/package.keywords bzr downloads more than 1 GB (?) from http://bzr.linuxfoundation.org/openprinting/cups-filters:

>>> Emerging (3 of 4) net-print/cups-filters-9999
>>> Unpacking source...
 * bzr branch start -->
 *    repository: http://bzr.linuxfoundation.org/openprinting/cups-filters => /net/leopard/usr/portage_leopard/distfiles/bzr-src/cups-filters
...
1019181kB   432kB/s - Fetching revisions:Inserting stream:Estimate 84448/85977
Branched 6978 revisions.
 * exporting ...


Could somebody explain, why more than 1 GB is downloaded if I find only 51 MB in  /usr/portage/distfiles/bzr-src/cups-filters?

root@moose:/root(55)# du -s /usr/portage/distfiles/bzr-src/cups-filters/
51508   /usr/portage/distfiles/bzr-src/cups-filters/


'emerge cups-filters' fails then with:

  CXX      pdftoopvp-OPVPSplashClip.o
In file included from ./filter/pdftoopvp/opvp/opvp_common.h:50:0,
                 from filter/pdftoopvp/oprs/OPVPWrapper.h:8,
                 from filter/pdftoopvp/oprs/OPVPSplashPath.h:5,
                 from filter/pdftoopvp/oprs/OPVPSplash.h:20,
                 from filter/pdftoopvp/oprs/OPRS.cxx:29:
./filter/pdftoopvp/opvp/opvp.h:159:19: warning: ISO C++ forbids zero-size array ‘data’ [-pedantic]
In file included from filter/pdftoopvp/oprs/OPRS.cxx:32:0:
filter/pdftoopvp/oprs/OPVPSplashXPath.h: In constructor ‘OPVPSplashXPath::OPVPSplashXPath()’:
filter/pdftoopvp/oprs/OPVPSplashXPath.h:30:21: error: no matching function for call to ‘SplashXPath::SplashXPath()’
filter/pdftoopvp/oprs/OPVPSplashXPath.h:30:21: note: candidates are:
/usr/include/poppler/splash/SplashXPath.h:69:3: note: SplashXPath::SplashXPath(SplashXPath*)
/usr/include/poppler/splash/SplashXPath.h:69:3: note:   candidate expects 1 argument, 0 provided
/usr/include/poppler/splash/SplashXPath.h:52:3: note: SplashXPath::SplashXPath(SplashPath*, SplashCoord*, SplashCoord, GBool)
/usr/include/poppler/splash/SplashXPath.h:52:3: note:   candidate expects 4 arguments, 0 provided
/usr/include/poppler/splash/SplashXPath.h:45:7: note: SplashXPath::SplashXPath(const SplashXPath&)
/usr/include/poppler/splash/SplashXPath.h:45:7: note:   candidate expects 1 argument, 0 provided
In file included from ./filter/pdftoopvp/opvp/opvp_common.h:50:0,
                 from filter/pdftoopvp/oprs/OPVPWrapper.h:8,
                 from filter/pdftoopvp/oprs/OPVPSplashPath.h:5,
                 from filter/pdftoopvp/oprs/OPVPSplashClip.h:5,
                 from filter/pdftoopvp/oprs/OPVPSplashClip.cxx:3:
./filter/pdftoopvp/opvp/opvp.h:159:19: warning: ISO C++ forbids zero-size array ‘data’ [-pedantic]
make[1]: *** [pdftoopvp-OPRS.o] Error 1
...
make[1]: *** [pdftoopvp-OPVPSplash.o] Error 1
make[1]: Leaving directory `/var/tmp/portage/net-print/cups-filters-9999/work/cups-filters-9999'
make: *** [all] Error 2
 * ERROR: net-print/cups-filters-9999 failed (compile phase):
 *   emake failed
Comment 6 Maciej Mrozowski gentoo-dev 2012-07-16 20:49:14 UTC
Michał, what happens when you run this file through /usr/bin/pdftops (from poppler) directly? libexec/cups/filters/pdftops is merely a wrapper (execv) over this so you may be lucky to get direct coredump (unless crash happens as a result of edge-case in pdftops cmdline parameters combination).
Comment 7 Andreas K. Hüttel archtester gentoo-dev 2012-07-16 21:10:22 UTC
Everyone, 

dont bother trying cups-1.6. cups-filters (required) does not build with poppler-0.20 yet.

Cheers.
Comment 8 Maciej Mrozowski gentoo-dev 2012-07-16 22:00:28 UTC
Then maybe something changed in cups-1.6. In 1.5 times cups pdftops filter is execv wrapper over poppler pdftops binary, therefore ther're no "doesn't build against poppler" case at all. In 1.6 I don't know.
Comment 9 Maciej Mrozowski gentoo-dev 2012-07-16 22:03:04 UTC
Ah yes, this pdftoopvp filter case (compilation). Anyway regarding pdftops (bug) cups version is likely irrelevant imho. pdftops (poppler one, not cupsfilter) may just crash on certain PDF files...
Comment 10 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2012-07-17 07:39:41 UTC
(In reply to comment #6)
> Michał, what happens when you run this file through /usr/bin/pdftops (from
> poppler) directly? libexec/cups/filters/pdftops is merely a wrapper (execv)
> over this so you may be lucky to get direct coredump (unless crash happens
> as a result of edge-case in pdftops cmdline parameters combination).

Directly it works. I guess some argv may be relevant, or cups does something ugly to input.
Comment 11 octoploid 2012-07-17 20:54:26 UTC
Dup of https://bugs.gentoo.org/show_bug.cgi?id=426552
Comment 12 octoploid 2012-07-17 22:01:01 UTC
I've opened an upstream bug here: 
https://bugs.freedesktop.org/show_bug.cgi?id=52215
Comment 13 octoploid 2012-07-18 07:44:35 UTC
Created attachment 318516 [details, diff]
bugfix patch for poppler

This patch fixes the problem.
Thanks to thomasf.
Comment 14 Ben de Groot (RETIRED) gentoo-dev 2012-07-18 11:06:27 UTC
*** Bug 426552 has been marked as a duplicate of this bug. ***
Comment 15 Travis Hansen 2012-07-18 18:20:04 UTC
Patch works for me.
Comment 16 Andreas K. Hüttel archtester gentoo-dev 2012-07-18 19:45:16 UTC
Please report also on the upstream bug (see URL). Poppler is a sensitive beast which I dont really want to modify without understanding. 

As soon as a fix is in git master, we'll backport it here.
Comment 17 James 2012-07-19 04:19:39 UTC
I applied the above patch (which matches the suggested one upstream), and now I'm printing like normal.
THANKS!
Comment 18 gringo 2012-07-20 08:59:28 UTC
attached patch worked for me too.
thanks !
Comment 19 Jeroen Roovers (RETIRED) gentoo-dev 2012-07-20 15:47:20 UTC
*** Bug 427108 has been marked as a duplicate of this bug. ***
Comment 20 Ben Kohler gentoo-dev 2012-07-25 22:49:05 UTC
Created attachment 319258 [details, diff]
poppler-0.20.2-fix-pdf-print.patch

Upstream has this fixed in git, here is a copy of their patch re-rolled for poppler-0.20.2
Comment 21 Geoff Madden 2012-07-26 03:45:38 UTC
(In reply to comment #13)
> Created attachment 318516 [details, diff] [details, diff]
> bugfix patch for poppler
> 
> This patch fixes the problem.
> Thanks to thomasf.

Can confirm the patch works for me as well,I was prompted to look into it further as firefox was printing the pages,but konqueror wasn't.
Thanks for your efforts.
Geoff
Comment 23 Andreas K. Hüttel archtester gentoo-dev 2012-07-31 08:52:42 UTC
Fixed in poppler-0.20.2-r1, sorry this took so long.