Bug 495481 - Firefox crashes on print (undefined symbol: cairo_ps_surface_restrict_to_level)
Summary: Firefox crashes on print (undefined symbol: cairo_ps_surface_restrict_to_level)
Status: RESOLVED INVALID
Alias: None
Product: openSUSE 11.0
Classification: openSUSE
Component: Firefox (show other bugs)
Version: Final
Hardware: i386 openSUSE 11.0
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: E-mail List
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-04-16 11:56 UTC by Paul van Noort
Modified: 2009-04-17 08:50 UTC (History)
1 user (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul van Noort 2009-04-16 11:56:04 UTC
User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8) Gecko/2009032600 SUSE/3.0.8-1.1 Firefox/3.0.8

firefox chrashes on print of any document to any printer. 

opening firefox from the konsole gives this output:

firefox

(firefox:15630): Gtk-WARNING **: Unknown paper size A4


(firefox:15630): Gtk-WARNING **: Unknown paper size A4


(firefox:15630): Gtk-WARNING **: Unknown paper size A4

/usr/lib/firefox/firefox: symbol lookup error: /usr/lib/xulrunner-1.9.0.8/libxul.so: undefined symbol: cairo_ps_surface_restrict_to_level

this chrashes not only current firefox session but ALL open firefox sessions.

suspected to have something to do with cairo..

rpm -qa |grep cairo
cairo-dock-tomboy-1.5.4.2-0.pm.20080408
cairo-dock-shortcuts-1.5.4.2-0.pm.20080408
cairo-dock-Xgamma-1.5.4.2-0.pm.20080408
cairo-dock-1.5.4.2-0.pm.20080408
cairo-dock-logout-1.5.4.2-0.pm.20080408
cairo-devel-1.4.14-32.1
cairo-dock-rendering-1.5.4.2-0.pm.20080408
cairo-dock-systray-1.5.4.2-0.pm.20080408
cairo-dock-xmms-1.5.4.2-0.pm.20080408
cairo-dock-alsaMixer-1.5.4.2-0.pm.20080408
cairo-dock-netspeed-1.5.4.2-0.pm.20080408
python-cairo-1.4.12-19.1
cairo-dock-Cairo-Penguin-1.5.4.2-0.pm.20080408
cairo-dock-clock-1.5.4.2-0.pm.20080408
cairo-dock-powermanager-1.5.4.2-0.pm.20080408
cairo-dock-rame-1.5.4.2-0.pm.20080408
cairo-dock-wifi-1.5.4.2-0.pm.20080408
cairo-dock-switcher-1.5.4.2-0.pm.20080408
cairo-dock-themes-1.5.4.2-0.pm.20080408
cairo-dock-Dbus-1.5.4.2-0.pm.20080408
cairo-dock-showDesklets-1.5.4.2-0.pm.20080408
cairo-dock-Compiz-Icon-devel-1.5.4.2-0.pm.20080408
cairo-doc-1.4.14-32.1
cairo-dock-dustbin-1.5.4.2-0.pm.20080408
cairo-dock-Compiz-Icon-1.5.4.2-0.pm.20080408
cairo-dock-terminal-1.5.4.2-0.pm.20080408
cairo-dock-weather-1.5.4.2-0.pm.20080408
cairo-1.4.14-32.1
cairomm-1.4.8-16.1
cairo-dock-rhythmbox-1.5.4.2-0.pm.20080408
 


Reproducible: Always

Steps to Reproduce:
1. open firefox
2. click file > print > select printer >print
3. tada..
Actual Results:  
chrash of firefox

Expected Results:  
printout

opensuse 11.0 
Linux SuSe-pvn 2.6.25.20-0.1-pae #1 SMP 2008-12-12 20:30:38 +0100 i686 i686 i386 GNU/Linux


Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8) Gecko/2009032600 SUSE/3.0.8-1.1 Firefox/3.0.8

papersize is set to A4
Comment 1 Wolfgang Rosenauer 2009-04-16 12:09:54 UTC
I've heard about that a couple of times but it's not easy to find the reason.

Please check the following things:
- use "about:buildconfig" and paste the "configure arguments"
- use the command "readelf -s /usr/lib/xulrunner-1.9/libxul.so | grep cairo_ps"
  and paste its output
- use the same readelf command on libcairo.so (find the detailed name by 
  following the symlinks)
Comment 2 Paul van Noort 2009-04-16 12:40:51 UTC
1.
about:buildconfig

Build platform
target
i686-pc-linux-gnu

Build tools
Compiler 	Version 	Compiler flags
gcc 	gcc version 4.3.1 20080507 (prerelease) [gcc-4_3-branch revision 135036] (SUSE Linux) 	-Wall -W -Wno-unused -Wpointer-arith -Wcast-align -W -Wno-long-long -pedantic -march=i586 -mtune=i686 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -O2 -g -Os -fno-strict-aliasing -fno-strict-aliasing -pthread -pipe
c++ 	gcc version 4.3.1 20080507 (prerelease) [gcc-4_3-branch revision 135036] (SUSE Linux) 	-fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-long-long -pedantic -march=i586 -mtune=i686 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -O2 -g -Os -fno-strict-aliasing -fno-strict-aliasing -fshort-wchar -pthread -pipe

Configure arguments
--enable-application=xulrunner --prefix=/usr --libdir=/usr/lib --sysconfdir=/etc --mandir=/usr/share/man --includedir=/usr/include --enable-optimize --enable-extensions=python,default --with-system-jpeg --with-system-zlib --enable-xft --disable-freetype2 --enable-svg --enable-canvas --disable-tests --disable-mochitest --disable-installer --disable-javaxpcom --disable-crashreporter --enable-startup-notification --enable-url-classifier --with-system-nspr --with-system-nss --enable-system-cairo --enable-system-hunspell 


2.
SuSe-pvn:~ # readelf -s /usr/lib/xulrunner-1.9/libxul.so | grep cairo_ps
  1058: 00000000    98 FUNC    GLOBAL DEFAULT  UND cairo_ps_surface_restrict
  1783: 00000000   109 FUNC    GLOBAL DEFAULT  UND cairo_ps_surface_create_f

3.
readelf -s /usr/lib/libcairo.so  |grep cairo_ps
   274: 0002e470    94 FUNC    GLOBAL DEFAULT   11 cairo_ps_surface_set_size
   284: 00031660   128 FUNC    GLOBAL DEFAULT   11 cairo_ps_surface_create_f
   285: 00031910   135 FUNC    GLOBAL DEFAULT   11 cairo_ps_surface_create
   309: 0002e3a0   106 FUNC    GLOBAL DEFAULT   11 cairo_ps_surface_dsc_begi
   474: 0002e410    90 FUNC    GLOBAL DEFAULT   11 cairo_ps_surface_dsc_begi
   488: 000313b0   253 FUNC    GLOBAL DEFAULT   11 cairo_ps_surface_dsc_comm
Comment 3 Paul van Noort 2009-04-16 12:47:21 UTC
forgot to mention is answers NEEDINFO
Comment 4 Wolfgang Rosenauer 2009-04-17 07:58:15 UTC
Ok, apparently the issue is (I'm a bit wondering why it doesn't create an error at compile time though):
Firefox is using cairo functions not available in cairo 1.4.x
(cairo_ps_surface_restrict_to_level)

We need to use the builtin cairo for 11.0 and older.
Comment 5 Wolfgang Rosenauer 2009-04-17 08:02:35 UTC
I just found that the packages provided by me in OBS are correctly not using system cairo on 11.0.
Apparently a fix Novell didn't take to their packages :-(
Comment 6 Wolfgang Rosenauer 2009-04-17 08:10:53 UTC
Something is fishy. According to the spec "--enable-system-cairo" shouldn't be set on 11.0. Will need to investigate why it is used.
Comment 7 Wolfgang Rosenauer 2009-04-17 08:18:39 UTC
ok, just to be sure we'd need the following information:

The complete output of 
rpm -qi mozilla-xulrunner190
Comment 8 Paul van Noort 2009-04-17 08:24:57 UTC
SuSe-pvn:~ # rpm -qi mozilla-xulrunner190
Name        : mozilla-xulrunner190         Relocations: (not relocatable)
Version     : 1.9.0.8                           Vendor: openSUSE Build Service
Release     : 19.1                          Build Date: Fri Mar 27 11:09:10 2009
Install Date: Thu Apr  9 14:16:14 2009      Build Host: build10
Group       : Productivity/Other            Source RPM: mozilla-xulrunner190-1.9.0.8-19.1.src.rpm
Size        : 18960642                         License: GPL v2 or later; LGPL v2.1 or later; MOZILLA PUBLIC LICENSE (MPL/NPL)
Signature   : DSA/SHA1, Fri Mar 27 11:12:45 2009, Key ID af428e87330d83be
URL         : http://www.mozilla.org
Summary     : Mozilla Runtime Environment 1.9
Description :
XULRunner is a single installable package that can be used to bootstrap
multiple XUL+XPCOM applications that are as rich as Firefox and
Thunderbird.


Authors:
--------
    Mozilla Foundation <drivers@mozilla.org>
Distribution: home:Fisiu / openSUSE_11.0
Comment 9 Wolfgang Rosenauer 2009-04-17 08:43:06 UTC
Ha, sorry, this is invalid then for openSUSE.
You are using a package from OBS:home:Fisiu. If you do that you would need to use also the cairo package from there but nothing I would recommend.
Comment 10 Paul van Noort 2009-04-17 08:45:31 UTC
euhm.. Ok. so .. what do i do to get printing working again?
Comment 11 Wolfgang Rosenauer 2009-04-17 08:50:31 UTC
make sure you install mozilla-xulrunner190 and MozillaFirefox from the official update repository (or alternatively from OBS' mozilla repo).
The versions tab in YaST's software installation menu will show you the alternative versions.