#606685 evince segfaults in ppdFindChoice () from /usr/lib/libcups.so.2

Package:
gtk+2.0
Source:
gtk+2.0
Submitter:
Damien Couroussé
Date:
2010-12-14 08:57:07 UTC
Severity:
important
#606685#5
Date:
2010-12-10 22:25:47 UTC
From:
To:
Hello, evince segfaults when trying to print PDF files on a network
printer.
It looks to be related to this bug report on Ubuntu:
https://bugs.launchpad.net/ubuntu/+source/cups/+bug/660731

Printing a PDF file with a KDE application works fine.
Printing (not a PDF file) with another gnome application works fine
also.

I did a few tracing with gdb (after having installed evince-dbg). Here
it is below.

Cheers
Damien


===============================

Starting program: /usr/bin/evince
[Thread debugging using libthread_db enabled]
[New Thread 0xb6219940 (LWP 10930)]
[New Thread 0xb6056b70 (LWP 10933)]
[New Thread 0xb529cb70 (LWP 10934)]
[New Thread 0xb48ffb70 (LWP 10935)]
[New Thread 0xb40feb70 (LWP 10936)]
[Thread 0xb48ffb70 (LWP 10935) exited]
[Thread 0xb40feb70 (LWP 10936) exited]
[New Thread 0xb40feb70 (LWP 10937)]
[Thread 0xb529cb70 (LWP 10934) exited]
[New Thread 0xb529cb70 (LWP 10938)]
[New Thread 0xb48ffb70 (LWP 10939)]
[New Thread 0xb35e0b70 (LWP 10940)]
[Thread 0xb40feb70 (LWP 10937) exited]
[Thread 0xb35e0b70 (LWP 10940) exited]
[Thread 0xb529cb70 (LWP 10938) exited]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb6219940 (LWP 10930)]
0xb2db5c4b in ppdFindChoice () from /usr/lib/libcups.so.2
(gdb) bt
#0  0xb2db5c4b in ppdFindChoice () from /usr/lib/libcups.so.2
#1  0xb4a0d9c8 in ?? () from /usr/lib/gtk-2.0/2.10.0/printbackends/libprintbackend-cups.so
#2  0x094a2b08 in ?? ()
#3  0x00000004 in ?? ()
#4  0xb2db94eb in ppdPageSize () from /usr/lib/libcups.so.2
#5  0xb71dae46 in gtk_printer_get_default_page_size () from /usr/lib/libgtk-x11-2.0.so.0
#6  0xb71e4f28 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#7  0x0942cc08 in ?? ()
#8  0xfffffffb in ?? ()
#9  0x00000001 in ?? ()
#10 0xbfa07358 in ?? ()
#11 0xffffffff in ?? ()
#12 0x00000011 in ?? ()
#13 0x00000010 in ?? ()
#14 0xb714310e in gtk_tree_view_get_type () from /usr/lib/libgtk-x11-2.0.so.0
#15 0xb6ca5c08 in g_cclosure_marshal_VOID__BOOLEAN () from /usr/lib/libgobject-2.0.so.0
#16 0xb6c9813a in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#17 0xb6cae61d in ?? () from /usr/lib/libgobject-2.0.so.0
#18 0x094c0e18 in ?? ()
#19 0x00000000 in ?? ()
(gdb) info threads
  8 Thread 0xb48ffb70 (LWP 10939)  0xb77cb424 in __kernel_vsyscall ()
  2 Thread 0xb6056b70 (LWP 10933)  0xb77cb424 in __kernel_vsyscall ()
* 1 Thread 0xb6219940 (LWP 10930)  0xb2db5c4b in ppdFindChoice () from /usr/lib/libcups.so.2

#606685#10
Date:
2010-12-11 14:10:48 UTC
From:
To:
Hello,

I have upgraded my cups packages to testing, it seems that the problem
is fixed.
If you have interested I have kept a core file for the problem I have
reported yesterday.

Currently (with issue fixed) the list of cups packages on my computer is:
$ dpkg -l '*cups*' | grep ^i
ii  cups
1.4.4-7                        Common UNIX Printing System(tm) - server
ii  cups-client
1.4.4-7                        Common UNIX Printing System(tm) - client pro
ii  cups-common
1.4.4-7                        Common UNIX Printing System(tm) - common fil
ii  cups-driver-gutenprint
5.2.6-1                        printer drivers for CUPS
ii  cups-ppdc
1.4.4-7                        Common UNIX Printing System(tm) - PPD manipu
ii  cupsddk
1.4.4-7                        Common UNIX Printing System (transitional pa
ii  ghostscript-cups
8.71~dfsg2-6                   The GPL Ghostscript PostScript/PDF interpret
ii  libcups2
1.4.4-7                        Common UNIX Printing System(tm) - Core libra
ii  libcups2-dev
1.4.4-7                        Common UNIX Printing System(tm) - Developmen
ii  libcupscgi1
1.4.4-7                        Common UNIX Printing System(tm) - CGI librar
ii  libcupsdriver1
1.4.4-7                        Common UNIX Printing System(tm) - Driver lib
ii  libcupsimage2
1.4.4-7                        Common UNIX Printing System(tm) - Raster ima
ii  libcupsmime1
1.4.4-7                        Common UNIX Printing System(tm) - MIME libra
ii  libcupsppdc1
1.4.4-7                        Common UNIX Printing System(tm) - PPD manipu
ii  libcupsys2
1.3.8-1+lenny8                 Common UNIX Printing System (transitional pa
ii  libgnomecups1.0-1
0.2.3-3                        GNOME library for CUPS interaction
ii  python-cups
1.9.31-1                       Python bindings for CUPS
ii  python-cupsutils
1.0.0-4lenny1                  Python utility modules around the CUPS print


Cheers,
Damien

#606685#15
Date:
2010-12-13 08:46:19 UTC
From:
To:
severity 606685 important
thanks

Le vendredi 10 décembre 2010 à 23:25 +0100, Damien Couroussé a écrit :

Thanks for your report.

Are you sure only cups and its libraries were upgraded when you
attempted to install cups from squeeze?

The other possible culprit would be GTK+, which has seen a number of
network-printing-related bug fixes in the meantime.

Cheers,

#606685#22
Date:
2010-12-13 17:41:10 UTC
From:
To:
Hi,

Yes, while debugging a bit this problem, I have seen that the segfault
in libcups comes from a call in libgtk.

However, only cups and the associated libs were upgraded for my concern:
I asked for an upgrade of libcups2 from lenny to squeeze (I am mostly
based on lenny but use a few packages from squeeze and/or lenny-backports).

Here is the log from /var/log/aptitude:
##################################################
Will install 11 packages, and remove 14 packages.
91.1MB of disk space will be freed
===============================================================================
[REMOVE, NOT USED] foomatic-db-gutenprint
[REMOVE, NOT USED] foomatic-db-hpijs
[REMOVE, NOT USED] ijsgutenprint
[REMOVE, NOT USED] libgutenprint2
[REMOVE, NOT USED] libijs-0.35
[REMOVE, NOT USED] openprinting-ppds
[REMOVE, NOT USED] python-foomatic
[REMOVE, NOT USED] python-ipy
[HOLD, DEPENDENCIES] dpkg-dev
[HOLD, DEPENDENCIES] gcc-4.4-base
[HOLD, DEPENDENCIES] libicu44
[HOLD, DEPENDENCIES] libmagick++10
[HOLD, DEPENDENCIES] libmagick10
[HOLD, DEPENDENCIES] libpurple0
[HOLD, DEPENDENCIES] libx11-6
[HOLD, DEPENDENCIES] libx11-dev
[HOLD, DEPENDENCIES] libxml2-utils
[HOLD, DEPENDENCIES] linux-image-2.6.26-2-686
[HOLD, DEPENDENCIES] linux-libc-dev
[HOLD, DEPENDENCIES] linux-patch-debian-2.6.26
[HOLD, DEPENDENCIES] linux-source-2.6.26
[HOLD, DEPENDENCIES] linux-source-2.6.32
[HOLD, DEPENDENCIES] linux-support-2.6.26-2
[HOLD, DEPENDENCIES] mysql-common
[HOLD, DEPENDENCIES] openssl
[HOLD, DEPENDENCIES] pidgin-data
[HOLD, DEPENDENCIES] python-libxml2
[HOLD, DEPENDENCIES] xserver-xorg-core
[INSTALL, DEPENDENCIES] libgssapi-krb5-2
[INSTALL, DEPENDENCIES] libk5crypto3
[INSTALL, DEPENDENCIES] libkrb5-3
[INSTALL, DEPENDENCIES] libkrb5support0
[REMOVE, DEPENDENCIES] cups
[REMOVE, DEPENDENCIES] cups-driver-gutenprint
[REMOVE, DEPENDENCIES] hal-cups-utils
[REMOVE, DEPENDENCIES] hplip-cups
[REMOVE, DEPENDENCIES] printconf
[HOLD] base-files
[HOLD] dpkg
[HOLD] exim4
[HOLD] exim4-base
[HOLD] exim4-config
[HOLD] exim4-daemon-light
[HOLD] imagemagick
[HOLD] libssl0.9.8
[HOLD] libstdc++6
[HOLD] libxml2
[HOLD] linux-tree-2.6.26
[HOLD] pidgin
[REMOVE] libcupsys2
[UPGRADE] libcups2 1.3.8-1+lenny8 -> 1.4.5-1
[UPGRADE] libgcrypt11 1.4.1-1 -> 1.4.5-2
[UPGRADE] libgnutls26 2.4.2-6+lenny2 -> 2.8.6-1
[UPGRADE] libgpg-error0 1.4-2 -> 1.6-1
[UPGRADE] libkrb53 1.6.dfsg.4~beta1-5lenny4 -> 1.8.3+dfsg-3
[UPGRADE] libtasn1-3 1.4-1 -> 2.7-1
[UPGRADE] python-cups 1.9.31-1 -> 1.9.48-1
===============================================================================
Log complete.
Aptitude 0.4.11.11: log report
Fri, Dec 10 2010 21:11:15 +0100

IMPORTANT: this log only lists intended actions; actions which fail due to
dpkg problems may not be completed.

##################################################

I do use the following libs in GTK:
$ dpkg -l '*libgtk*' | grep ^i
ii  libgtk-vnc-1.0-0
0.3.8-2                        A VNC viewer widget for GTK+ (runtime
libraries)
ii  libgtk2-perl
1:1.190-1                      Perl interface to the 2.x series of the
Gimp Too
ii  libgtk2.0-0
2.18.6-1~bpo50+1               The GTK+ graphical user interface library
ii  libgtk2.0-0-dbg
2.18.6-1~bpo50+1               The GTK+ libraries and debugging symbols
ii  libgtk2.0-bin
2.12.12-1~lenny2               The programs for the GTK+ graphical user
interfa
ii  libgtk2.0-common
2.12.12-1~lenny2               Common files for the GTK+ graphical user
interfa
ii  libgtkhtml2-0
2.11.1-2                       HTML rendering/editing library - runtime
files
ii  libgtkhtml3.14-19
3.18.3-1                       HTML rendering/editing library - runtime
files
ii  libgtkmm-2.4-1c2a
1:2.12.7-1                     C++ wrappers for GTK+ 2.4 (shared libraries)
ii  libgtksourceview-common
1.8.5-1                        common files for the GTK+ syntax
highlighting wi
ii  libgtksourceview1.0-0
1.8.5-1                        shared libraries for the GTK+ syntax
highlightin
ii  libgtksourceview2.0-0
2.2.2-1                        shared libraries for the GTK+ syntax
highlightin
ii  libgtksourceview2.0-common
2.2.2-1                        common files for the GTK+ syntax
highlighting wi
ii  libgtkspell0
2.0.13-1+b1                    a spell-checking addon for GTK's TextView
widget


Hope it helps,

Cheers,
Damien

#606685#27
Date:
2010-12-14 08:52:51 UTC
From:
To:
reassign 606685 gtk+2.0
thanks

Le lundi 13 décembre 2010 à 18:41 +0100, Damien Couroussé a écrit :

Indeed, thanks for checking.

HAH !
So this is the culprit. I knew this was suspicious, since PDF printing
works perfectly on my lenny systems.

My guess goes for an insufficient build-dependency on libcups2-dev in
GTK+, leading the backport to not actually work with the cups version in
lenny.