Closed Bug 1472611 Opened 6 years ago Closed 6 years ago

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.

Categories

(Core Graveyard :: X-remote, defect)

61 Branch
defect
Not set
normal

Tracking

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

RESOLVED FIXED
mozilla63
Tracking Status
firefox-esr52 --- unaffected
firefox-esr60 --- fixed
firefox61 --- fixed
firefox62 --- fixed
firefox63 --- fixed

People

(Reporter: ardovm, Assigned: ozoder)

References

Details

(Keywords: regression)

Attachments

(1 file)

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
This is a consequence of the fix to bug #1462571.
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?
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)
(In reply to Arrigo Marchiori from comment #3)
> Apparently, yes: 
> firefox --profile /path/to/profile/directory

Excellent, this worked. Thanks!
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 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 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+
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
https://hg.mozilla.org/mozilla-central/rev/6ace78c3a8a5
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 63
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
[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
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: