Last Comment Bug 422916 - Firefox 3 crashes on print in OpenSuse 10.2 due to bug in old gtk2 lib [@ libc-2.5.so@0x6b0a0 - libprintbackend-cups.so@0x7b06 ]
: Firefox 3 crashes on print in OpenSuse 10.2 due to bug in old gtk2 lib [@ lib...
Status: RESOLVED WONTFIX
Fix: see comment #44
: crash, regression
Product: Core
Classification: Components
Component: Printing: Output (show other bugs)
: Trunk
: x86 Linux
: P2 critical (vote)
: ---
Assigned To: Daniel Holbert [:dholbert]
:
Mentors:
: 441365 443605 449232 535025 (view as bug list)
Depends on:
Blocks: 193001
  Show dependency treegraph
 
Reported: 2008-03-14 05:22 PDT by Dave Royal
Modified: 2011-06-13 10:01 PDT (History)
16 users (show)
vladimir: blocking1.9-
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
List of packages (rpm -q -a) (17.12 KB, text/plain)
2008-03-25 00:59 PDT, Dave Royal
no flags Details
stacktrace at crash (with debuginfo) (2.30 KB, text/plain)
2008-03-26 16:59 PDT, Daniel Holbert [:dholbert]
no flags Details

Description Dave Royal 2008-03-14 05:22:44 PDT
User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.9b4) Gecko/2008030318 Firefox/3.0b4
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.9b4) Gecko/2008030318 Firefox/3.0b4

Always crashes when I print - from menu or control P.
This is openSuSE 10.2 with KDE. Separate new profile for FF3 beta 4.
Print preview works OK.
Page setup shows 2 printers - a local USB (never connected) and a networked laser (not accessible - but also failed when it was). If I select the laser and papersize 'A4' only the papersize sticks.
About config only contains stuff about the laser (which is the only one I've tried printing to.)

Reproducible: Always

Steps to Reproduce:
1.Select file > Print on any webpage
Actual Results:  
1.Very briefly shows a dialogue box (too brief to read)
2.Crashes - gives feedback dialogue (I filled in a couple of these)
Comment 1 Matthias Versen [:Matti] 2008-03-14 05:51:30 PDT
Please type about:crashes and provide 1-3 crash IDs.
Comment 2 Dave Royal 2008-03-14 06:00:44 PDT
11c2ec2e-f1bb-11dc-a5a8-001a4bd46e84	14/03/08	11:37
e65edec2-f1ba-11dc-8ecb-001a4bd43ed6	14/03/08	11:36
ab4ac57a-f03c-11dc-8bb4-001a4bd46e84	12/03/08	14:00
Comment 3 Matthias Versen [:Matti] 2008-03-14 06:51:16 PDT
0  	libc-2.5.so@0x6b0a0  	
1 	libprintbackend-cups.so@0x7b06 	
2 	libgtk-x11-2.0.so.0.1000.6@0x26de1b 	
3 	libgtk-x11-2.0.so.0.1000.6@0x274d1a 	
4 	libgobject-2.0.so.0.1200.4@0x17018 	
5 	libgobject-2.0.so.0.1200.4@0x9c0a 	
6 	libgobject-2.0.so.0.1200.4@0x1ad3c 	
7 	libgobject-2.0.so.0.1200.4@0x1c246 	
8 	libgobject-2.0.so.0.1200.4@0x1dc5d 	
9 	libprintbackend-cups.so@0x7f45 	
10 	libprintbackend-cups.so@0x467a 	
11 	libglib-2.0.so.0.1200.4@0x2dde1 	
12 	libglib-2.0.so.0.1200.4@0x30e1e 	
13 	libglib-2.0.so.0.1200.4@0x311c8 	
14 	libgtk-x11-2.0.so.0.1000.6@0xadf5a 	
15 	RunDialog(_GtkDialog*) 	mozilla/widget/src/gtk2/nsAccessibilityHelper.cpp:52
16 	nsPrintDialogWidgetGTK::Run() 	mozilla/widget/src/gtk2/nsPrintDialogGTK.cpp:332
17 	nsPrintDialogServiceGTK::Show(nsIPrintSettings*) 	mozilla/widget/src/gtk2/nsPrintDialogGTK.cpp:502
18 	nsPrintingPromptService::ShowPrintDialog(nsIDOMWindow*, nsIWebBrowserPrint*, nsIPrintSettings*) 	mozilla/embedding/components/printingui/src/unixshared/nsPrintingPromptService.cpp:117
19 	nsPrintEngine::DoCommonPrint(int, nsIPrintSettings*, nsIWebProgressListener*) 	mozilla/layout/printing/nsPrintEngine.cpp:589
20 	nsPrintEngine::CommonPrint(int, nsIPrintSettings*, nsIWebProgressListener*) 	mozilla/layout/printing/nsPrintEngine.cpp:418

it seems that it's crashing in the linux printing code....


Comment 4 Daniel Holbert [:dholbert] 2008-03-14 09:57:18 PDT
I'm going to try to reproduce the crash, using this OpenSuse 10.2 virtual appliance (currently downloading):
http://www.vmware.com/appliances/directory/894
Comment 5 Daniel Holbert [:dholbert] 2008-03-14 12:46:44 PDT
Just kidding, that download is too slow.

I used this one instead:
http://developer.kde.org/~binner/vmware/

Downloaded & extracted & ran FF3b4, tried printing Google to the default "lpr" printer, and pretty much every time I got a crash.

Print-to-File (PDF/PS) doesn't seem to trigger the crash, though, for whatever reason.

Comment 6 Daniel Holbert [:dholbert] 2008-03-14 12:50:39 PDT
My crash reports are:
932c6654-f1fe-11dc-bdd8-001a4bd43ed6	03/14/2008	03:48 PM
64b81a54-f1fe-11dc-88e1-001a4bd46e84	03/14/2008	03:46 PM
1769d7cc-f1fe-11dc-a31b-001a4bd43ef6	03/14/2008	03:44 PM

I'm not totally sure it's related, but I get these messages just before the crash each time:

lpr: Error - no default destination available.
(Gecko:12450): GLib-WARNING **: Error flushing string: Broken pipe
Comment 7 Daniel Holbert [:dholbert] 2008-03-14 12:55:51 PDT
My crash reports' stacks look pretty different... I'm guessing that something's corrupting the stack and causing different behavior each time, maybe?

Sometimes I get a hang instead of a crash, too (which doesn't give me the option for submitting a report).

Gonna try to get a debug build going on this VM.
Comment 8 timeless 2008-03-16 04:16:13 PDT
please install debug info for everything. eventually you'll probably want to play w/ valgrind a bit.
Comment 9 Daniel Holbert [:dholbert] 2008-03-21 13:58:59 PDT
(In reply to comment #7)
> Gonna try to get a debug build going on this VM.

Actually, I've had some trouble wrestling with the VM, so I'm working with LiveCDs now.

I can't reproduce on OpenSuse 10.3 liveCD or the Kubuntu 7.10 LiveCD, so I'm guessing this is due to a specific version of a library on OpenSuse 10.2, or something like that...  Updating summary to indicate that it's OpenSuse-10.2-specific AFAIK.
Comment 10 Daniel Holbert [:dholbert] 2008-03-22 18:09:29 PDT
(In reply to comment #6)
> My crash reports are:
One more:
84f68d3d-f875-11dc-bf76-001a4bd46e84
Comment 11 Daniel Holbert [:dholbert] 2008-03-22 18:40:36 PDT
This happens in the Gnome version of OpenSuse 10.2 as well.
Report from there:  7ca184ee-f879-11dc-af0b-001a4bd43ef6
Comment 12 timeless 2008-03-23 02:14:57 PDT
dholbert: those crashes don't match, please find/file a new bug.

reporter: if you could install symbols for libc, cups, gtk, glib, gdk, etc. and crash w/ gdb, that'd be appreciated.
Comment 13 Dave Royal 2008-03-23 03:03:12 PDT
Reporter here: I'd like to, but I'm just a user, not a developer. You'd have to tell me what to do - probably too much trouble for you guys. This laptop doesn't even have development packages on it.
Comment 14 timeless 2008-03-23 03:18:30 PDT
I didn't know how... presumably your distribution has support channels where you can ask for help undertaking the tasks i've described above. i think our resident opensuse person is rosenauer, so i cc'd him hoping he'd fill in the blanks.

google suggests:
http://en.opensuse.org/Bugs:An_application_crashed
* Install -debuginfo Packages 

note that to run firefox under a debugger you should use:
./run-mozilla.sh -g -d gdb ./firefox-bin
*not* gdb ./firefox (as that will "helpfully" debug a shell script or your shell, neither of which are remotely useful)
Comment 15 Daniel Holbert [:dholbert] 2008-03-24 11:28:43 PDT
(In reply to comment #12)
> dholbert: those crashes don't match, please find/file a new bug.

Actually, I tried updating my gtk2 package, and then my crashes start matching the reporter's much more closely.  (crash when print dialog first appears, and crash is in libprintbackend-cups.so)

Will post again when I have more info.  My freshly-installed OpenSUSE box is at home, and I'll hack at it some more when I get home this evening.
Comment 16 Dave Royal 2008-03-24 12:22:14 PDT
Reporter here: FYI I have these versions of CUPs packages:
cups-1.2.7-12.7
cups-client-1.2.7-12.7
cups-drivers-1.2.7-7
cups-libs-1.2.7-12.7

My attempts to provide debug info unsuccesful so far: see 
http://tinyurl.com/34vchc
Comment 17 Dave Royal 2008-03-25 00:14:39 PDT
Correction: versions are actually:
cups-1.2.7-12.13
cups-client-1.2.7-12.13
cups-drivers-1.2.7-7
cups-libs-1.2.7-12.13
Apologies.
Comment 18 Daniel Holbert [:dholbert] 2008-03-25 00:29:33 PDT
Thanks for the info, Dave.  Also, what's the version on your gtk2 package?
Comment 19 Dave Royal 2008-03-25 00:59:34 PDT
Created attachment 311523 [details]
List of packages (rpm -q -a)
Comment 20 Daniel Holbert [:dholbert] 2008-03-26 16:59:18 PDT
Created attachment 311916 [details]
stacktrace at crash (with debuginfo)

As Dave Royal mentions on alt.os.linux.suse ( http://tinyurl.com/yw6knd ), some relevant debuginfo packages in the opensuse repositories (in particular, gtk2 and cups) are old and don't match the binary versions.

However, I did successfully get the cups debuginfo packages in the list below (cups-drivers and cups-backends being the important ones, I think), and  I managed to get this attached stacktrace at the time of the crash.

cups-1.2.7-12.13
cups-backends-1.0-43
cups-backends-debuginfo-1.0-43
cups-client-1.2.7-12.13
cups-devel-1.2.7-12.13
cups-drivers-1.2.7-7
cups-drivers-debuginfo-1.2.7-7
cups-libs-1.2.7-12.13
gnome-cups-manager-0.32cvs20060120-71
gnome-cups-manager-debuginfo-0.32cvs20060120-71
libgnomecups-0.2.2-46
libgnomecups-debuginfo-0.2.2-46
libgnomecups-devel-0.2.2-46
Comment 21 Daniel Holbert [:dholbert] 2008-03-26 17:07:55 PDT
Searching crash stats for "libprintbackend-cups" shows 8 reports for a strikingly similar crash on Fedora Core 6.

Signature: libc-2.5.so@0x6c5b0
Sample crash ID: 4023a21e-f1fc-11dc-b853-001a4bd43e5c
Link: http://tinyurl.com/ywyroa
Comment 22 Daniel Holbert [:dholbert] 2008-03-26 17:30:29 PDT
Note also that Evince shows the same print dialog that Firefox Trunk should be showing.

So, while this may be due to a bug in cups/gtk2, it looks like it's at least possible to work around it, because evince has managed to do so.
Comment 23 Daniel Holbert [:dholbert] 2008-03-26 18:03:11 PDT
(In reply to comment #21)
> Searching crash stats for "libprintbackend-cups" shows 8 reports for a
> strikingly similar crash on Fedora Core 6.

Yup -- I just tried it out, and this bug does reproduce when running FF3b4 on the Fedora Core 6 virtual appliance from http://www.thoughtpolice.co.uk/vmware/#fc6.
Comment 24 Daniel Holbert [:dholbert] 2008-03-26 18:08:17 PDT
My crash reports ids from my Fedora Core 6 vm:

cc477f9e-fb99-11dc-b74f-001a4bd43e5c
ad014a5c-fb99-11dc-b50c-001a4bd43e5c
Comment 25 timeless 2008-03-27 08:51:50 PDT
that stack isn't really correct.

afaict pb_module_init calls gtk_print_backend_lpr_register_type 

i think you need to give up, grab sources for all the relevant libraries and build debug.
Comment 26 Daniel Holbert [:dholbert] 2008-03-27 10:10:37 PDT
(In reply to comment #23)
> Yup -- I just tried it out, and this bug does reproduce when running FF3b4 on
> the Fedora Core 6 virtual appliance from

...but when I install all the available Fedora Core 6 updates, the crash goes away.

So apparently, the responsible package has been fixed in a FC6 update, but not in opensuse 10.2 yet.

I'm gonna investigate further and see which update fixes it.
Comment 27 Daniel Holbert [:dholbert] 2008-03-27 10:14:18 PDT
(In reply to comment #22)
> Note also that Evince shows the same print dialog that Firefox Trunk should be
> showing.
> 
> So, while this may be due to a bug in cups/gtk2, it looks like it's at least
> possible to work around it, because evince has managed to do so.
> 

Just kidding -- the evince print dialog is slightly different.  In particular, under "Print to File", there's no option to pick PS vs PDF output (but there is in the dialog Firefox 3 uses).  So, I'm guessing Evince is using a slightly older version of the dialog, or something.
Comment 28 Daniel Holbert [:dholbert] 2008-03-27 10:20:34 PDT
(In reply to comment #26)
> I'm gonna investigate further and see which update fixes it.

Simply updating gtk2 in FC6 seems to do the trick.

Base version:    gtk2-2.10.4-4.fc6
Updated version: gtk2-2.10.13-1.fc6

Note also from attachment 311523 [details] that the reporter's using gtk2-2.10.6-24.2. (which is the latest version available for OpenSuse 10.2 AFAIK)

So this seems to be an issue fixed in GTK2 between 2.10.6-* and 2.10.13-*
Comment 29 Tony Mechelynck [:tonymec] 2008-03-27 10:29:54 PDT
I wonder -- is openSUSE 10.2 still supported, and if it is, for how long will it be? OpenSUSE 10.3 is the current public release, and its GTK2 package (after all Online Updates) is gtk2-2.12.0-5.4
Comment 30 Dave Royal 2008-03-27 10:44:07 PDT
(In reply to comment #29)
> I wonder -- is openSUSE 10.2 still supported, and if it is, for how long will
> it be? OpenSUSE 10.3 is the current public release, and its GTK2 package (after
> all Online Updates) is gtk2-2.12.0-5.4
> 
Yes - until Nov 2008
http://en.opensuse.org/SUSE_Linux_Lifetime

My installation is fully up to date with Yast Online Update
Comment 31 Vladimir Vukicevic [:vlad] [:vladv] 2008-03-27 11:22:53 PDT
Note that while Novell may support OpenSUSE 10.2 until November 2008, it's also up to them to support Firefox 3 on 10.2 if a bug is due to a platform bug.  So nothing needs to be fixed on our end here.
Comment 32 Mike Connor [:mconnor] 2008-03-27 11:29:37 PDT
Yeah, I agree that if the crash is due to an old and buggy GTK lib, this is not our crash to solve.  I sent mail to Wolfgang Rosenauer, who's involved in Mozilla and OpenSuSE, to see what can be done here.
Comment 33 Daniel Holbert [:dholbert] 2008-03-27 11:32:07 PDT
Ok -- I'll file a bug about this on opensuse 10.2's bugzilla, and I'll post the link here.

(currently waiting on the Novell account creation confirmation email, so I can create the bug...)
Comment 34 Daniel Holbert [:dholbert] 2008-03-27 12:09:11 PDT
I just tried the lowest-versioned GTK2 update I could find on Fedora's Koji rpm archive: v2.10.8-1 (URLs given below).  That update seems to fix it the crash, so the issue was presumably fixed somewhere between versions 2.10.6 and 2.10.8.

http://koji.fedoraproject.org/koji/buildinfo?buildID=1516
http://koji.fedoraproject.org/packages/gtk2/2.10.8/1.fc6/i386/gtk2-2.10.8-1.fc6.i386.rpm
Comment 35 Daniel Holbert [:dholbert] 2008-03-27 12:28:34 PDT
(In reply to comment #29)
> OpenSUSE 10.3 is the current public release, and its GTK2 package (after
> all Online Updates) is gtk2-2.12.0-5.4

Just to be clear -- OpenSuse 10.3 doesn't show the crash, because its gtk version is much more up to date, as Tony says.

However, the latest version of gtk2 in the OpenSuse 10.2 repositories is indeed gtk2-2.10.6-24.2, which is buggy and is what Dave Royal has. (Its RPM is located at ftp://ftp.suse.com/pub/suse/i386/update/10.2/rpm/i586/gtk2-2.10.6-24.2.i586.rpm )
Comment 36 Daniel Holbert [:dholbert] 2008-03-27 12:43:01 PDT
(In reply to comment #33)
> Ok -- I'll file a bug about this on opensuse 10.2's bugzilla, and I'll post the
> link here.

Bug filed:  https://bugzilla.novell.com/show_bug.cgi?id=374554
Comment 37 Daniel Holbert [:dholbert] 2008-07-03 13:07:46 PDT
Closing as WONTFIX per comment 31, comment 32, and comment 36.
Comment 38 Wolfgang Rosenauer [:wolfiR] 2008-07-03 22:41:28 PDT
For the record.
There are unofficial Gtk packages which fix that issue here:
http://download.opensuse.org/repositories/home:/wrosenauer:/playground/openSUSE_10.2/

I still hope those will go to an official update soon.
Comment 39 timeless 2008-07-04 11:11:32 PDT
*** Bug 443605 has been marked as a duplicate of this bug. ***
Comment 40 Daniel Holbert [:dholbert] 2008-08-07 08:05:29 PDT
*** Bug 449232 has been marked as a duplicate of this bug. ***
Comment 41 timeless 2008-08-08 08:36:40 PDT
wolfgang: we just fixed a jaws crasher where we were able to blacklist a certain feature on windows when we detected a low version of jaws in our process space, how hard is it for us to detect these bad versions of the library?
Comment 42 Wolfgang Rosenauer [:wolfiR] 2008-08-08 09:01:39 PDT
I don't see a reliable way to achieve that.
The only thing what could be checked is the Gtk version but then even patched versions wouldn't work anymore. And the only thing to avoid the crash in that case is to not allow to print at all or to disable CUPS as printing backend what could probably achieved by unsetting CUPS_SERVER environment variable (at least that seems to work on openSUSE 10.2 as a user told me, while I have no such variable set on newer distributions).
Comment 43 Gustavo Homem 2008-08-08 09:28:59 PDT
I would also be interested in finding out a way to totally bypass cups and gtk:

https://bugzilla.mozilla.org/show_bug.cgi?id=449232

One way is setting:

gtk-print-backends = "file,lpr"

on /etc/gtk-2.0/gtkrc.

But there are problems with this:

- cups will be disabled for all Gtk+2 apps
- the default command "lpr" can be changed everytime one prints, but I couldn't find a way to make that change permanent
Comment 44 Tony Mechelynck [:tonymec] 2008-08-09 15:11:29 PDT
Summary: This is not a Mozilla bug but a GTK bug, it was fixed in openSUSE 10.3, and the current openSUSE public release is 11.0, which hasn't got the bug either. So if this bug still bothers you: upgrade your OS (if you can) or complain to whoever blocks you from upgrading (if you can't).
Comment 45 Tony Mechelynck [:tonymec] 2008-08-14 13:01:31 PDT
*** Bug 441365 has been marked as a duplicate of this bug. ***
Comment 46 Daniel Holbert [:dholbert] 2009-12-16 10:11:09 PST
*** Bug 535025 has been marked as a duplicate of this bug. ***

Note You need to log in before you can comment on or make changes to this bug.