Subject: pkg/33932: Mozilla crashes on attempt to print a secure page to a printer driven by CUPS
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <svs@ropnet.ru>
List: pkgsrc-bugs
Date: 07/06/2006 20:00:01
>Number:         33932
>Category:       pkg
>Synopsis:       Mozilla crashes on attempt to print a secure page to a printer driven by CUPS
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Jul 06 20:00:00 +0000 2006
>Originator:     Sergey Svishchev
>Release:        3.99.15
>Organization:
>Environment:
mozilla-1.7.12nb3   Full featured gecko-based browser
cups-1.1.23nb10     Common UNIX Printing System

>Description:
Mozilla crashes on attempt to print a secure page to a printer driven by CUPS.  Traceback is:

#0  0xb737a030 in SHA1_Final () from /usr/lib/libcrypto.so.2
#1  0xb7376199 in X509_check_private_key () from /usr/lib/libcrypto.so.2
#2  0xb73766b2 in EVP_DigestFinal_ex () from /usr/lib/libcrypto.so.2
#3  0xb73652be in RAND_SSLeay () from /usr/lib/libcrypto.so.2
#4  0xb7365523 in RAND_SSLeay () from /usr/lib/libcrypto.so.2
#5  0xb7364ebf in RAND_seed () from /usr/lib/libcrypto.so.2
#6  0xb74073ed in httpInitialize () from /usr/pkg/lib/libcups.so.2
#7  0xb7407533 in httpConnectEncrypt () from /usr/pkg/lib/libcups.so.2
#8  0xb7404c63 in cupsGetDests () from /usr/pkg/lib/libcups.so.2
#9  0xb8029165 in GlobalPrinters::InitializeGlobalPrinters() () from
/usr/pkg/lib/mozilla/components/libgfx_gtk.so
>How-To-Repeat:
Start up mozilla, load any secure page (e.g. https://www.thawte.com/).  Press Ctrl-P or select File -> Print.  Mozilla crashes.
>Fix:
No real fix is known, but a couple workarounds are available:

http://lists.freebsd.org/pipermail/freebsd-gnome/2004-December/009313.html

The problem is, once the SSL subsystem has been initialized in
Firefox/Thunderbird, the NSS libraries are dynamically loaded into the
running image.  Later, when one chooses to print, libcups is also
loaded.  Libcups brings with it OpenSSL.  Both OpenSSL and NSS share a
SHA1_Update() symbol.  These symbols conflict in the running image of
Firefox/Thunderbird.  What ends up happening is that the SHA1_Update
from NSS gets called by CUPS instead of the SHA1_Update from OpenSSL.
Thus, when SHA1_Final gets called from OpenSSL, bad things happen.

http://lists.freebsd.org/pipermail/freebsd-ports/2004-November/017495.html

Use -Bsymbolic when linking nss to avoid symbol conflicts with libraries
that include OpenSSL (e.g. CUPS).  This may help alleviate the problem with
Firefox crashing when trying to print when using CUPS.

http://lists.freebsd.org/pipermail/freebsd-ports/2005-April/022685.html

> -CONFIGURE_ARGS+=	--enable-gnutls
> +CONFIGURE_ARGS+=	--enable-gnutls --disable-openssl