Flash does not work under Linux since bug 708570 landed

VERIFIED FIXED in Firefox 11

Status

()

Core
Build Config
--
major
VERIFIED FIXED
5 years ago
5 years ago

People

(Reporter: WG9s, Assigned: glandium)

Tracking

({regression})

Trunk
mozilla12
x86
Linux
regression
Points:
---

Firefox Tracking Flags

(firefox11 verified)

Details

(Whiteboard: [qa!], URL)

Attachments

(4 attachments, 2 obsolete attachments)

(Reporter)

Description

5 years ago
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.
(Reporter)

Comment 1

5 years ago
Created attachment 588400 [details]
Errors from attempt to use flash

This was the stdout/stderr output created by attempting to load the page in the URL field of this bug.
(Reporter)

Comment 2

5 years ago
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).
(Reporter)

Comment 3

5 years ago
Created attachment 588421 [details] [diff] [review]
Workaround

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.
(Assignee)

Comment 4

5 years ago
Flash works perfectly fine on Linux with a nightly for me on Debian. There must be something fishy with fedora.
(Assignee)

Comment 5

5 years ago
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)

Updated

5 years ago
Assignee: nobody → mh+mozilla
(Assignee)

Comment 6

5 years ago
Created attachment 588445 [details] [diff] [review]
Allow to enable NSS lowhash API without requiring FREEBL_NO_DEPEND [checked in]

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)
(Assignee)

Comment 7

5 years ago
Created attachment 588447 [details] [diff] [review]
Enable NSS lowhash API so that Mozilla builds work on Fedora

This enables the lowhash API
Attachment #588447 - Flags: review?(kaie)
(Assignee)

Comment 8

5 years ago
Bill, can you try the two patches I just attaches, instead of the semi-broken one I posted earlier? (you will need both)
(Reporter)

Comment 9

5 years ago
(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.
(Reporter)

Updated

5 years ago
Attachment #588421 - Attachment is obsolete: true

Updated

5 years ago
Attachment #588445 - Flags: review?(kaie) → review?(rrelyea)

Updated

5 years ago
Attachment #588447 - Flags: review?(kaie) → review?(rrelyea)

Comment 10

5 years ago
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 11

5 years ago
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
(Assignee)

Comment 12

5 years ago
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.

Comment 13

5 years ago
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
(Assignee)

Comment 14

5 years ago
Created attachment 589009 [details] [diff] [review]
Enable NSS lowhash API so that Mozilla builds work on Fedora

The previous version enabled it on all platforms. This one enables on Linux only.
Attachment #589009 - Flags: review?(rrelyea)
(Assignee)

Updated

5 years ago
Attachment #588447 - Attachment is obsolete: true
Attachment #588447 - Flags: review?(rrelyea)

Comment 15

5 years ago
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+

Comment 16

5 years ago
These patches also fix an issue with playing sound on Fedora 16.
(Reporter)

Comment 17

5 years ago
(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.
(Assignee)

Comment 18

5 years ago
It's probably not only a plug-in issue.

Comment 19

5 years ago
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]
(Assignee)

Comment 20

5 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/44eadf6de374
https://hg.mozilla.org/integration/mozilla-inbound/rev/757813d7135e
Whiteboard: [inbound]
(Assignee)

Updated

5 years ago
Target Milestone: --- → mozilla12
https://hg.mozilla.org/mozilla-central/rev/44eadf6de374
https://hg.mozilla.org/mozilla-central/rev/757813d7135e
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Whiteboard: [inbound]
(Assignee)

Comment 22

5 years ago
Created attachment 591489 [details] [diff] [review]
Allow to enable NSS lowhash API without requiring FREEBL_NO_DEPEND - for aurora

[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?
(Assignee)

Updated

5 years ago
Attachment #589009 - Flags: approval-mozilla-aurora?
Attachment #589009 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Attachment #591489 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
(Assignee)

Comment 23

5 years ago
https://hg.mozilla.org/releases/mozilla-aurora/rev/fad7b6686caf
https://hg.mozilla.org/releases/mozilla-aurora/rev/471d0ae1db6d
status-firefox11: --- → fixed
Whiteboard: [qa+]

Comment 24

5 years ago
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 25

5 years ago
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.
(Assignee)

Comment 26

5 years ago
(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
status-firefox11: fixed → verified
Whiteboard: [qa+] → [qa!]
You need to log in before you can comment on or make changes to this bug.