Firefox/Thunderbird segfault on print/print preview #3606

Closed
michaelrsweet opened this Issue Jun 18, 2010 · 2 comments

Comments

Projects
None yet
1 participant
Collaborator

michaelrsweet commented Jun 18, 2010

Version: 1.4.4
CUPS.org User: rpfuller

On Linux, trying to print or print preview in Firefox (3.6.3) or Thunderbird (3.0.4) results in the application segfaulting.

Using http://svn.easysw.com/public/cups/branches/branch-1.4 r9103 works, r9104 fails.

r9104 | mike | 2010-04-12 05:03:53 +0100 (Mon, 12 Apr 2010) | 2 lines
Mirror fix for threading + GNU TLS and OpenSSL from trunk (STR #3461)

Rather incomplete symbols wise, but best I have, trace:

Program received signal SIGSEGV, Segmentation fault.
0xedb45590 in ?? ()
(gdb) where
#0 0xedb45590 in ?? ()
#1 0xf5b36a39 in CRYPTO_lock () from /lib/libcrypto.so.0
#2 0x00000009 in ?? ()
#3 0x00000001 in ?? ()
#4 0xf5c2508b in ?? () from /lib/libcrypto.so.0
#5 0xed9d69e5 in _httpCreate () from /usr/lib/libcups.so.2
#6 0xed9d6b00 in httpConnectEncrypt () from /usr/lib/libcups.so.2
#7 0xed9ecbed in _cupsConnect () from /usr/lib/libcups.so.2
#8 0xed9ed771 in cupsDoIORequest () from /usr/lib/libcups.so.2
#9 0xed9ed81b in cupsDoRequest () from /usr/lib/libcups.so.2
#10 0xed9cceea in ?? () from /usr/lib/libcups.so.2
#11 0xed9cd573 in cupsGetDests2 () from /usr/lib/libcups.so.2
#12 0xed9cd965 in cupsGetDests () from /usr/lib/libcups.so.2
#13 0x089a1933 in ?? ()
#14 0x08223536 in ?? ()
#15 0x08223621 in ?? ()
#16 0x082236a3 in ?? ()
#17 0x08234542 in ?? ()
#18 0xf75dcf7b in NS_InvokeByIndex_P () from /usr/lib/thunderbird/libxpcom_core.so
#19 0x081287e8 in ?? ()
#20 0x0812f5ad in ?? ()
#21 0xf7649b70 in js_Invoke () from /usr/lib/thunderbird/libmozjs.so
#22 0xf7649eb7 in ?? () from /usr/lib/thunderbird/libmozjs.so
#23 0xf7649fef in ?? () from /usr/lib/thunderbird/libmozjs.so
#24 0xf7651c80 in ?? () from /usr/lib/thunderbird/libmozjs.so
#25 0xf7652a7c in ?? () from /usr/lib/thunderbird/libmozjs.so
#26 0xf763ab5d in ?? () from /usr/lib/thunderbird/libmozjs.so
#27 0xf7649b83 in js_Invoke () from /usr/lib/thunderbird/libmozjs.so
#28 0x08153f16 in ?? ()
#29 0x081510ff in ?? ()
#30 0xf75dda84 in ?? () from /usr/lib/thunderbird/libxpcom_core.so
#31 0x087ec58f in ?? ()
#32 0x087ed895 in ?? ()
#33 0xf75d01d2 in ?? () from /usr/lib/thunderbird/libxpcom_core.so
#34 0xf75a031b in NS_ProcessNextEvent_P(nsIThread*, int) () from /usr/lib/thunderbird/libxpcom_core.so
#35 0x0822fb64 in ?? ()
#36 0x08726ba8 in ?? ()
#37 0x0807d1d1 in ?? ()
#38 0x08079ff3 in ?? ()
#39 0xf670eb86 in __libc_start_main () from /lib/libc.so.6
#40 0x08079e91 in ?? ()

Collaborator

michaelrsweet commented Jun 18, 2010

CUPS.org User: mike

The problem is that the Mozilla apps are dlopen'ing libcups, which then initializes the SSL library. They then dlclose libcups after the print dialog goes away which leaves the OpenSSL threading stuff pointing at functions that are no longer in the process address space.

One of two things needs to happen - Firefox/Thunderbird need to stop using dlopen/dlclose (or at least dlclose) for libcups, or OpenSSL and GNU TLS need to actually support threading out of the box and not depend on the application or library to provide threading support.

Collaborator

michaelrsweet commented Dec 1, 2010

CUPS.org User: Bourdieu

Actually this patch :
http://www.linuxfromscratch.org/patches/blfs/svn/cups-1.4.4-fix_broken_locking-1.patch

from blfs, fixes this bug for 1.4.4 and 1.4.5 versions.

Nevertheless, one of the upstream projects should really fix this, since it's a critical bug for people who are affected by it.

michaelrsweet added this to the Stable milestone Mar 17, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment