Closed Bug 422916 Opened 16 years ago Closed 16 years ago

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 ]

Categories

(Core :: Printing: Output, defect, P2)

x86
Linux
defect

Tracking

()

RESOLVED WONTFIX

People

(Reporter: dave, Assigned: dholbert)

References

Details

(Keywords: crash, regression, Whiteboard: Fix: see comment #44)

Crash Data

Attachments

(2 files)

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)
Please type about:crashes and provide 1-3 crash IDs.
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
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....


Severity: major → critical
Component: OS Integration → Printing
Keywords: crash
Product: Firefox → Core
QA Contact: os.integration → printing
Version: unspecified → Trunk
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
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.

Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: blocking1.9?
Summary: Firefox 3 beta 4 crashes on print → Firefox 3 beta 4 crashes on print in KDE-based distros
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
Keywords: regression
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.
Blocks: 193001
please install debug info for everything. eventually you'll probably want to play w/ valgrind a bit.
Assignee: nobody → dholbert
Flags: blocking1.9? → blocking1.9+
Priority: -- → P2
(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.
Summary: Firefox 3 beta 4 crashes on print in KDE-based distros → Firefox 3 beta 4 crashes on print in OpenSuse 10.2
(In reply to comment #6)
> My crash reports are:
One more:
84f68d3d-f875-11dc-bf76-001a4bd46e84
This happens in the Gnome version of OpenSuse 10.2 as well.
Report from there:  7ca184ee-f879-11dc-af0b-001a4bd43ef6
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.
Summary: Firefox 3 beta 4 crashes on print in OpenSuse 10.2 → Firefox 3 beta 4 crashes on print in OpenSuse 10.2 [@ libc-2.5.so@0x6b0a0 - libprintbackend-cups.so@0x7b06 ]
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.
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)
(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.
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
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.
Thanks for the info, Dave.  Also, what's the version on your gtk2 package?
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
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
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.
(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.
My crash reports ids from my Fedora Core 6 vm:

cc477f9e-fb99-11dc-b74f-001a4bd43e5c
ad014a5c-fb99-11dc-b50c-001a4bd43e5c
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.
(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.
(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.
(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-*
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
(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
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.
Flags: blocking1.9+ → blocking1.9-
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.
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...)
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
(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 )
(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
Closing as WONTFIX per comment 31, comment 32, and comment 36.
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → WONTFIX
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.
Summary: Firefox 3 beta 4 crashes on print in OpenSuse 10.2 [@ 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 [@ libc-2.5.so@0x6b0a0 - libprintbackend-cups.so@0x7b06 ]
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?
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).
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
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).
Whiteboard: Fix: see comment #44
Crash Signature: [@ libc-2.5.so@0x6b0a0 - libprintbackend-cups.so@0x7b06 ]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: