Firefox 61 for GNU/Linux requires DBus 1.5.12 for function dbus_validate_bus_name(). Release notes state that version 1.0 is required.

RESOLVED FIXED in Firefox -esr60

Status

defect
RESOLVED FIXED
11 months ago
22 days ago

People

(Reporter: ardovm, Assigned: ozoder)

Tracking

({regression})

61 Branch
mozilla63
Dependency tree / graph

Firefox Tracking Flags

(firefox-esr52 unaffected, firefox-esr60 fixed, firefox61 fixed, firefox62 fixed, firefox63 fixed)

Details

Attachments

(1 attachment)

Reporter

Description

11 months ago
User Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:61.0) Gecko/20100101 Firefox/61.0
Build ID: 20180627072135

Steps to reproduce:

Upgrade Firefox to version 61 and try to run it on Ubuntu 12.04


Actual results:

Firefox does not start and prints an error message:
./firefox: symbol lookup error: /home/user/firefox/libxul.so: undefined symbol: dbus_validate_bus_name


Expected results:

Release notes state that DBus 1.0 is required.
Function dbus_validate_bus_name() was added since DBus 1.5.12.
Firefox does not work on Ubuntu 12.04 because it ships with DBus 1.4.18
Reporter

Comment 1

11 months ago
This is a consequence of the fix to bug #1462571.

Comment 2

11 months ago
Can confirm. Got the same issue while using the self-updating package from the website installed in /opt which updated this morning. Running it yields:

/opt/firefox/firefox: symbol lookup error: /opt/firefox/libxul.so: undefined symbol: dbus_validate_bus_name

Is there a workaround?
Reporter

Comment 3

11 months ago
Hello Luke,

(In reply to luke from comment #2)
[...]
> Is there a workaround?

Apparently, yes: 
firefox --profile /path/to/profile/directory

(suggested in bug #1462571 comment #1)

Comment 4

11 months ago
(In reply to Arrigo Marchiori from comment #3)
> Apparently, yes: 
> firefox --profile /path/to/profile/directory

Excellent, this worked. Thanks!

Updated

11 months ago
Blocks: 1462571
Flags: needinfo?(stransky)
Keywords: regression
Yes, we should address that.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: needinfo?(stransky)
Assignee: nobody → ozoder
Comment hidden (mozreview-request)

Comment 7

11 months ago
mozreview-review
Comment on attachment 8989684 [details]
Bug 1472611 - Don't link DBus 1.5.12 symbol dbus_validate_bus_name(),

https://reviewboard.mozilla.org/r/254700/#review261538

::: toolkit/components/remote/nsDBusRemoteService.cpp:197
(Diff revision 1)
>      busName.Truncate(DBUS_MAXIMUM_NAME_LENGTH);
>  
> +  static auto sDBusValidateBusName =
> +      (bool (*)(const char *, DBusError *))
> +      dlsym(RTLD_DEFAULT, "dbus_validate_bus_name");
> +

sDBusValidateBusName can be null here so the sDBusValidateBusName(busName.get(), nullptr) call will crash browser.

Please check sDBusValidateBusName for null here adn return NS_ERROR_FAILURE in that case.

::: widget/xremoteclient/DBusRemoteClient.cpp:144
(Diff revision 1)
>        aDestinationName.Truncate(DBUS_MAXIMUM_NAME_LENGTH);
>  
> -    if (!dbus_validate_bus_name(aDestinationName.get(), nullptr)) {
> +    static auto sDBusValidateBusName =
> +      (bool (*)(const char *, DBusError *))
> +      dlsym(RTLD_DEFAULT, "dbus_validate_bus_name");
> +

do the null check as above
Attachment #8989684 - Flags: review?(stransky) → review-
Comment hidden (mozreview-request)

Comment 9

11 months ago
mozreview-review
Comment on attachment 8989684 [details]
Bug 1472611 - Don't link DBus 1.5.12 symbol dbus_validate_bus_name(),

https://reviewboard.mozilla.org/r/254700/#review261544
Attachment #8989684 - Flags: review?(stransky) → review+

Comment 10

11 months ago
Pushed by stransky@redhat.com:
https://hg.mozilla.org/integration/autoland/rev/6ace78c3a8a5
Don't link DBus 1.5.12 symbol dbus_validate_bus_name(), r=stransky

Comment 11

11 months ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/6ace78c3a8a5
Status: NEW → RESOLVED
Last Resolved: 11 months ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 63

Comment 12

11 months ago
I believe this patch is missing a semicolon here: https://hg.mozilla.org/mozilla-unified/rev/6ace78c3a8a5#l2.36

This causes compile failures on gcc 8.1.1 on arch linux.
stransky, mind sanity-checking comment 12 and pushing a followup if appropriate?
Flags: needinfo?(stransky)
(In reply to Daniel Holbert [:dholbert] from comment #13)
> stransky, mind sanity-checking comment 12 and pushing a followup if
> appropriate?

Sure, filed as Bug 1474265

Comment 15

11 months ago
[kathleen@dual ~]$ /opt/firefox.61/firefox
/opt/firefox.61/firefox: symbol lookup error: /opt/firefox.61/libxul.so: undefined symbol: dbus_validate_bus_name

On Fedora 17.
Flags: needinfo?(stransky)
Please nominate this patch for Beta/Release/ESR60 approval when you get a chance.
Component: Untriaged → X-remote
Flags: needinfo?(ozoder)
Product: Firefox → Core
Target Milestone: Firefox 63 → mozilla63
Comment on attachment 8989684 [details]
Bug 1472611 - Don't link DBus 1.5.12 symbol dbus_validate_bus_name(),

Approval Request Comment
[Feature/Bug causing the regression]: bug 1462571
[User impact if declined]: Fails to build on systems with Dbus < 1.5.12.
[Is this code covered by automated tests?]: no
[Has the fix been verified in Nightly?]: yes
[Needs manual test from QE? If yes, steps to reproduce]: none
[List of other uplifts needed for the feature/fix]: Bug 1474265 (Wayland regression)
[Is the change risky?]: no
[Why is the change risky/not risky?]: Linux only, replaces static linkage with a dynamic one.
[String changes made/needed]: none
Flags: needinfo?(ozoder)
Attachment #8989684 - Flags: approval-mozilla-beta?
Comment on attachment 8989684 [details]
Bug 1472611 - Don't link DBus 1.5.12 symbol dbus_validate_bus_name(),

[Approval Request Comment]
If this is not a sec:{high,crit} bug, please state case for ESR consideration:
User impact if declined: Fails to build on systems with Dbus < 1.5.12. 
Fix Landed on Version: 63
Risk to taking this patch (and alternatives if risky): none, Linux only, replaces static linkage with a dynamic one.
String or UUID changes made by this patch: none

See https://wiki.mozilla.org/Release_Management/ESR_Landing_Process for more info.
Attachment #8989684 - Flags: approval-mozilla-esr60?
I nominated this patch for Beta/ESR60 only, do you think we want it also at Release? Also nominated the follow up Bug 1474265 for Beta only as ESR does not support Wayland.
Comment on attachment 8989684 [details]
Bug 1472611 - Don't link DBus 1.5.12 symbol dbus_validate_bus_name(),

Fix for a linux-only build issue, let's uplift for beta 8 along with bug 1474265
Attachment #8989684 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Comment on attachment 8989684 [details]
Bug 1472611 - Don't link DBus 1.5.12 symbol dbus_validate_bus_name(),

Approved for ESR 60.2. Also nominating for release approval since it seems like a trivial ride-along patch to take if we find ourselves shipping another dot release during this cycle.
Attachment #8989684 - Flags: approval-mozilla-release?
Attachment #8989684 - Flags: approval-mozilla-esr60?
Attachment #8989684 - Flags: approval-mozilla-esr60+
Comment on attachment 8989684 [details]
Bug 1472611 - Don't link DBus 1.5.12 symbol dbus_validate_bus_name(),

Build bustage fix for some Linux distros. Approved for 61.0.2.
Attachment #8989684 - Flags: approval-mozilla-release? → approval-mozilla-release+
Depends on: 1498477

Updated

22 days ago
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.