Closed Bug 717906 Opened 13 years ago Closed 13 years ago

Flash does not work under Linux since bug 708570 landed

Categories

(Firefox Build System :: General, defect)

x86
Linux
defect
Not set
major

Tracking

(firefox11 verified)

VERIFIED FIXED
mozilla12
Tracking Status
firefox11 --- verified

People

(Reporter: wgianopoulos, Assigned: glandium)

References

()

Details

(Keywords: regression, Whiteboard: [qa!])

Attachments

(4 files, 2 obsolete files)

Flash no longer works correctly in Linux Nightly builds. Oddly enough, an hg bisect identified bug 708570 as the cause The first bad revision is: changeset: 83783:d208399b9194 user: Mike Hommey <mh+mozilla@glandium.org> date: Tue Jan 10 09:10:53 2012 +0100 summary: Bug 708570 - Make libfreebl depend on nspr. r=ted I had to do clobber builds for each bisect attempt to actually track this down.
This was the stdout/stderr output created by attempting to load the page in the URL field of this bug.
Evidently without the patch for bug 708570 Firefox is able to load canberra-gtk-module just fine. In case it is important in duplicating, this is occurring under fedora 16 running the GNOME3 desktop (which is the fedora 16 default).
Attached patch Workaround (obsolete) — Splinter Review
For the purposes of my own builds, rather than backing out bug 708570, I applied this workaround as I use the same source tree to build Linux and Android. Android bug 712284 depends on the patch for bug 708570, and this way I did not have to back that out as well.
Flash works perfectly fine on Linux with a nightly for me on Debian. There must be something fishy with fedora.
So, the problem is that fedora system libraries are depending on libfreebl3.so, and more than that, expect the NSSRAWHASH_3.12.3 symbol version to be there. This is completely unrelated to the requirement of freebl to be using nspr stubs or not, but nss mixes both: disabling one disables both. Can you check whether the following works for you: diff --git a/security/nss/lib/freebl/Makefile b/security/nss/lib/freebl/Makefile --- a/security/nss/lib/freebl/Makefile +++ b/security/nss/lib/freebl/Makefile @@ -71,16 +71,19 @@ ifdef USE_64 endif ifdef USE_ABI32_FPU DEFINES += -DNSS_USE_ABI32_FPU endif ifeq ($(FREEBL_NO_DEPEND),1) DEFINES += -DFREEBL_NO_DEPEND +endif + +ifndef FOOBAR LOWHASH_SRCS = stubs.c nsslowhash.c LOWHASH_EXPORTS = nsslowhash.h MAPFILE_SOURCE = freebl_hash.def else MAPFILE_SOURCE = freebl.def endif # FREEBL_USE_PRELINK Obviously, we'll need to replace FOOBAR with something nicer.
Assignee: nobody → mh+mozilla
The rationale here is that we don't need the nspr stubs in mozilla builds. However, fedora system libs depend on nss, and when ours don't contain the lowhash API, that breaks. There's no reason this should be bound to being dependent on nspr or not, so this patch decouples both. It however doesn't change defaults, but allows for an override.
Attachment #588445 - Flags: review?(kaie)
This enables the lowhash API
Attachment #588447 - Flags: review?(kaie)
Bill, can you try the two patches I just attaches, instead of the semi-broken one I posted earlier? (you will need both)
(In reply to Mike Hommey [:glandium] from comment #8) > Bill, can you try the two patches I just attaches, instead of the > semi-broken one I posted earlier? (you will need both) Works fine for me with those 2 patches applied.
Attachment #588421 - Attachment is obsolete: true
Attachment #588445 - Flags: review?(kaie) → review?(rrelyea)
Attachment #588447 - Flags: review?(kaie) → review?(rrelyea)
Comment on attachment 588445 [details] [diff] [review] Allow to enable NSS lowhash API without requiring FREEBL_NO_DEPEND [checked in] r+ rrelyea
Attachment #588445 - Flags: review?(rrelyea) → review+
Comment on attachment 588447 [details] [diff] [review] Enable NSS lowhash API so that Mozilla builds work on Fedora Isn't the sense of these flags wrong? I thought the problem was a freebl no depend issue. The lowhash issue shouldn't generate a problem since neither mozilla nor flash uses it. bob
The problem is fedora system libraries using NSSRAWHASH versioned symbols, which are only there if building with lowhash. Since firefox loads its own NSS, for good reason, system libraries end up linked against firefox's NSS, and since it doesn't contain the NSSRAWHASH symbols, that breaks. Enabling lowhash fixes the issue.
OK. Does the build only turn on the rawhash for Linux? If so I'll r+. It shouldn't be turned on for other platforms. bob
The previous version enabled it on all platforms. This one enables on Linux only.
Attachment #589009 - Flags: review?(rrelyea)
Attachment #588447 - Attachment is obsolete: true
Attachment #588447 - Flags: review?(rrelyea)
Comment on attachment 589009 [details] [diff] [review] Enable NSS lowhash API so that Mozilla builds work on Fedora r+ rrelyea. Thanks!
Attachment #589009 - Flags: review?(rrelyea) → review+
These patches also fix an issue with playing sound on Fedora 16.
(In reply to Ian Neal from comment #16) > These patches also fix an issue with playing sound on Fedora 16. I suspect it is a general plug-in issue. Just flash was the only one I had installed.
It's probably not only a plug-in issue.
Comment on attachment 588445 [details] [diff] [review] Allow to enable NSS lowhash API without requiring FREEBL_NO_DEPEND [checked in] I've checked in the NSS portion of this bug for NSS 3.13.2 Checking in security/coreconf/Linux.mk; /cvsroot/mozilla/security/coreconf/Linux.mk,v <-- Linux.mk new revision: 1.50; previous revision: 1.49 done Checking in security/nss/lib/freebl/Makefile; /cvsroot/mozilla/security/nss/lib/freebl/Makefile,v <-- Makefile new revision: 1.119; previous revision: 1.118 done Checking in security/nss/lib/freebl/manifest.mn; /cvsroot/mozilla/security/nss/lib/freebl/manifest.mn,v <-- manifest.mn new revision: 1.62; previous revision: 1.61 done Checking in security/nss/lib/freebl/nsslowhash.c; /cvsroot/mozilla/security/nss/lib/freebl/nsslowhash.c,v <-- nsslowhash.c new revision: 1.7; previous revision: 1.6 done
Attachment #588445 - Attachment description: Allow to enable NSS lowhash API without requiring FREEBL_NO_DEPEND → Allow to enable NSS lowhash API without requiring FREEBL_NO_DEPEND [checked in]
Target Milestone: --- → mozilla12
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Whiteboard: [inbound]
[Approval Request Comment] Regression caused by bug 708570. User impact if declined: Breaks flash and other random things on Fedora Linux if we take bug 708570.
Attachment #591489 - Flags: review+
Attachment #591489 - Flags: approval-mozilla-aurora?
Attachment #589009 - Flags: approval-mozilla-aurora?
Attachment #589009 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Attachment #591489 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Whiteboard: [qa+]
Comment on attachment 588445 [details] [diff] [review] Allow to enable NSS lowhash API without requiring FREEBL_NO_DEPEND [checked in] In security/coreconf/Linux.mk: > ifeq (2.6,$(firstword $(sort 2.6 $(OS_RELEASE)))) > ifndef FREEBL_NO_DEPEND > FREEBL_NO_DEPEND = 1 >+FREEBL_LOWHASH = 1 > endif > endif We should set FREEBL_LOWHASH to 1 for all versions of Linux, and even when FREEBL_NO_DEPEND is set to 0 in the environment. This will allow some system programs to work on Fedora when LD_LIBRARY_PATH is set to point to a regular build of NSS.
Comment on attachment 589009 [details] [diff] [review] Enable NSS lowhash API so that Mozilla builds work on Fedora In security/manager/Makefile.in: > DEFAULT_GMAKE_FLAGS += FREEBL_NO_DEPEND=0 >+ifeq ($(OS_TARGET),Linux) >+DEFAULT_GMAKE_FLAGS += FREEBL_LOWHASH=1 >+endif This should be set in security/coreconf/Linux.mk instead, as I noted above.
(In reply to Wan-Teh Chang from comment #24) > We should set FREEBL_LOWHASH to 1 for all versions of Linux, > and even when FREEBL_NO_DEPEND is set to 0 in the environment. > > This will allow some system programs to work on Fedora when > LD_LIBRARY_PATH is set to point to a regular build of NSS. You should file a new bug.
No problems here with Firefox 11.0b5 on Fedora 16 x64 -- marking verified.
Status: RESOLVED → VERIFIED
Whiteboard: [qa+] → [qa!]
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: