Closed Bug 1560545 Opened 4 months ago Closed 4 months ago

libdrm > 2.4 is missing in build root so wayland-disabled builds are produced

Categories

(Core :: Widget: Gtk, defect, P2, major)

69 Branch
defect

Tracking

()

RESOLVED FIXED
mozilla69
Tracking Status
firefox-esr60 --- unaffected
firefox67 --- unaffected
firefox67.0.1 --- unaffected
firefox68 --- unaffected
firefox69 --- fixed

People

(Reporter: mthode, Assigned: glandium)

References

(Blocks 1 open bug, Regressed 1 open bug, Regression)

Details

(Keywords: regression)

Attachments

(3 files)

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:69.0) Gecko/20100101 Firefox/69.0

Steps to reproduce:

update nightly to 20190621093603 and try to launch via wayland (set GDK_BACKEND=wayland MOZ_ENABLE_WAYLAND=1)

Actual results:

Error: cannot open display: :0

Expected results:

firefox launching

Rolling back to https://archive.mozilla.org/pub/firefox/nightly/2019/06/2019-06-20-22-06-31-mozilla-central/ seems to fix it (last build before https://bugzilla.mozilla.org/show_bug.cgi?id=1557265 ).

Severity: normal → major
Component: Untriaged → General
Regressed by: 1557265

I can launch after unsetting the two envvars GDK_BACKEND=wayland and MOZ_ENABLE_WAYLAND=1
I can't open the my profile after trying to roll back though, even if it's just one build :( Is there a way I can do that?

I can start with MOZ_ENABLE_WAYLAND=true but it is clearly using x11 and reports as such in about:support. Starting with GDK_BACKEND=wayland gives the same Error: cannot open display: :0 on Ubuntu 19.04.

(In reply to Matthew Thode from comment #1)

I can't open the my profile after trying to roll back though, even if it's just one build :( Is there a way I can do that?

Use the command-line option firefox --allow-downgrade.

Blocks: wayland
Status: UNCONFIRMED → NEW
Has Regression Range: --- → yes
Has STR: --- → yes
Component: General → Widget: Gtk
Ever confirmed: true
Keywords: regression
Product: Firefox → Core
Priority: -- → P2
Assignee: nobody → stransky

It's because buildroots do not contain libdrm so wayland disabled builds are produced:

[task 2019-06-20T17:45:14.551Z] 17:45:14 INFO - checking for gtk+-wayland-3.0 >= 3.10 xkbcommon >= 0.4.1 libdrm > 2.4... no
[task 2019-06-20T17:45:14.551Z] 17:45:14 INFO - WARNING: Package libdrm was not found in the pkg-config search path.
[task 2019-06-20T17:45:14.551Z] 17:45:14 INFO - WARNING: Perhaps you should add the directory containing `libdrm.pc'
[task 2019-06-20T17:45:14.551Z] 17:45:14 INFO - WARNING: to the PKG_CONFIG_PATH environment variable
[task 2019-06-20T17:45:14.551Z] 17:45:14 INFO - WARNING: No package 'libdrm' found

Mike, can you look at it please? Thanks.

Assignee: stransky → nobody
Flags: needinfo?(mh+mozilla)
Summary: Firefox fails to launch via wayland anymore → libdrm > 2.4 is missing in build root so wayland-disabled builds are produced
Duplicate of this bug: 1560789
Duplicate of this bug: 1557662

There are two problems (maybe even three) here:

  • that the right version of libdrm is not present
  • that the check doesn't lead to an error at least on automation when it's not
  • maybe that the version check is wrong (because 2.4.1 is > 2.4, but it feels we either want >= 2.4 or >= 2.5)
Flags: needinfo?(mh+mozilla)

(In reply to Mike Hommey [:glandium] from comment #6)

There are two problems (maybe even three) here:

  • that the right version of libdrm is not present
  • that the check doesn't lead to an error at least on automation when it's
    not

Yes, we decided to make the Wayland backend optional so when the environment is not complete, Wayland backend is automatically disabled. there's no --enable-wayland switch which makes the build fail.

  • maybe that the version check is wrong (because 2.4.1 is > 2.4, but it
    feels we either want >= 2.4 or >= 2.5)

Which libdrm version you can use?

Flags: needinfo?(mh+mozilla)
  • maybe that the version check is wrong (because 2.4.1 is > 2.4, but it
    feels we either want >= 2.4 or >= 2.5)

Which libdrm version you can use?

What version of libdrm is required is the real question. The one that would be installed in the build environment would be 2.4.40, which does match > 2.4, but the question still remains. What is > 2.4 supposed to mean in the first place?

Flags: needinfo?(mh+mozilla)

there's no --enable-wayland switch which makes the build fail.

There actually is: --enable-default-toolkit=cairo-gtk3-wayland.

Assignee: nobody → mh+mozilla
Flags: needinfo?(stransky)

So that we don't end up disabling it by accident.

Attachment #9073734 - Attachment description: Bug 1560545 - Force-enable wayland support in Linux builds. → Bug 1560545 - Force-enable wayland support in Linux builds on automation.

(In reply to Mike Hommey [:glandium] from comment #8)

What version of libdrm is required is the real question. The one that would
be installed in the build environment would be 2.4.40, which does match >
2.4, but the question still remains. What is > 2.4 supposed to mean in the
first place?

I rebuilt Firefox with libdrm 2.4.40 and it works fine. The 2.4.40 is from 2012-11-06 so we can safely assume that any Wayland environment has it. So let's make 2.4.40 as a minimal requested version here.

Flags: needinfo?(stransky)
Duplicate of this bug: 1561372
Pushed by mh@glandium.org:
https://hg.mozilla.org/integration/autoland/rev/fd64770f1342
Install libdrm headers in the build docker images. r=mshal
https://hg.mozilla.org/integration/autoland/rev/e3e1ad8d7709
Force-enable wayland support in Linux builds on automation. r=chmanchester
https://hg.mozilla.org/integration/autoland/rev/31177fcc3123
Change libdrm version check in configure. r=chmanchester

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&selectedJob=253466517&resultStatus=testfailed%2Cbusted&fromchange=31177fcc31230e0c4d7274b2c66a09cfe23b9e94&tochange=1832d7bc30876c07c0584056c3135bef32561630

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=253466517&repo=autoland&lineNumber=1035

Backout link: https://hg.mozilla.org/integration/autoland/rev/1832d7bc30876c07c0584056c3135bef32561630

[task 2019-06-26T04:46:03.020Z] 04:46:03 INFO - ERROR: to the PKG_CONFIG_PATH environment variable
[task 2019-06-26T04:46:03.020Z] 04:46:03 INFO - ERROR: No package 'xkbcommon' found
[task 2019-06-26T04:46:03.056Z] 04:46:03 INFO - *** Fix above errors and then restart with
[task 2019-06-26T04:46:03.056Z] 04:46:03 INFO - "./mach build"
[task 2019-06-26T04:46:03.056Z] 04:46:03 INFO - client.mk:111: recipe for target 'configure' failed
[task 2019-06-26T04:46:03.056Z] 04:46:03 INFO - make: *** [configure] Error 1
[task 2019-06-26T04:46:03.147Z] 04:46:03 ERROR - Return code: 2
[task 2019-06-26T04:46:03.147Z] 04:46:03 WARNING - setting return code to 2
[task 2019-06-26T04:46:03.147Z] 04:46:03 FATAL - 'mach build -v' did not run successfully. Please check log for errors.
[task 2019-06-26T04:46:03.147Z] 04:46:03 FATAL - Running post_fatal callback...
[task 2019-06-26T04:46:03.147Z] 04:46:03 FATAL - Exiting -1

Flags: needinfo?(mh+mozilla)
Attachment #9073734 - Attachment description: Bug 1560545 - Force-enable wayland support in Linux builds on automation. → Bug 1560545 - Force-enable wayland support in Linux builds.
Pushed by mh@glandium.org:
https://hg.mozilla.org/integration/autoland/rev/fc18f760a984
Install libdrm headers in the build docker images. r=mshal
https://hg.mozilla.org/integration/autoland/rev/a961572fed14
Force-enable wayland support in Linux builds. r=chmanchester
https://hg.mozilla.org/integration/autoland/rev/b20b355373b4
Change libdrm version check in configure. r=chmanchester
Flags: needinfo?(mh+mozilla)
Regressions: 1578167
You need to log in before you can comment on or make changes to this bug.