Closed Bug 1773630 Opened 4 years ago Closed 4 years ago

ROOT_CLIP_CHAIN error fails in firefox 102.0b5-1 with cbindgen 2.24.2

Categories

(Core :: Graphics: WebRender, defect)

Firefox 102
defect

Tracking

()

RESOLVED INVALID

People

(Reporter: voncloft, Unassigned)

References

Details

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

Steps to reproduce:

Upgraded bindgen to 2.42.2

Received following error in firefox 102

Actual results:

Got error
1:36.51 In file included from /var/cache/scratchpkg/work/firefox/src/firefox-102.0/accessible/atk/nsMaiInterfaceComponent.cpp:16:
1:36.51 In file included from /var/cache/scratchpkg/work/firefox/src/firefox-102.0/firefox-shared/dist/include/mozilla/dom/BrowserParent.h:23:
1:36.51 In file included from /var/cache/scratchpkg/work/firefox/src/firefox-102.0/firefox-shared/dist/include/mozilla/layout/RemoteLayerTreeOwner.h:17:
1:36.51 In file included from /var/cache/scratchpkg/work/firefox/src/firefox-102.0/firefox-shared/dist/include/nsDisplayList.h:48:
1:36.51 In file included from /var/cache/scratchpkg/work/firefox/src/firefox-102.0/firefox-shared/dist/include/nsCSSRenderingBorders.h:20:
1:36.51 In file included from /var/cache/scratchpkg/work/firefox/src/firefox-102.0/firefox-shared/dist/include/gfxUtils.h:23:
1:36.51 In file included from /var/cache/scratchpkg/work/firefox/src/firefox-102.0/firefox-shared/dist/include/mozilla/webrender/WebRenderTypes.h:11:
1:36.51 In file included from /var/cache/scratchpkg/work/firefox/src/firefox-102.0/firefox-shared/dist/include/mozilla/webrender/webrender_ffi.h:104:
1:36.51 /var/cache/scratchpkg/work/firefox/src/firefox-102.0/firefox-shared/dist/include/mozilla/webrender/webrender_ffi_generated.h:24:33: error: redefinition of 'ROOT_CLIP_CHAIN'

Expected results:

Should have built firefox and not error out

I patched with: https://raw.githubusercontent.com/canonical/firefox-snap/5622734942524846fb0eb7108918c8cd8557fde3/patches/fix-ftbfs-newer-cbindgen.patch

Awaiting results right now

The Bugbug bot thinks this bug should belong to the 'Core::Graphics: WebRender' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Graphics: WebRender
Product: Firefox → Core

patch worked

This is expected when building an older Firefox with a newer cbindgen unfortunately :(

Status: UNCONFIRMED → RESOLVED
Closed: 4 years ago
Resolution: --- → INVALID

There is a typo in the cbindgen version used in this bug. Could it please be corrected to 2.24.2 to avoid confusion?

This is expected when building an older Firefox with a newer cbindgen unfortunately :(

How do I know the recommended cbindgen version for a specific Firefox release? In the source I found a minimum version:

build/moz.configure/bindgen.configure:    cbindgen_min_version = Version("0.23.0")

I would also expect 0.23.x and 0.24.x to still be compatible, and not break backward compatibility. Is guess there is something special about cbindgen?

(In reply to Paul Menzel from comment #5)

There is a typo in the cbindgen version used in this bug. Could it please be corrected to 2.24.2 to avoid confusion?

I also did it wrong: 0.24.2 is the correct version. (The current release is 0.24.3.)

(In reply to Paul Menzel from comment #6)

How do I know the recommended cbindgen version for a specific Firefox release? In the source I found a minimum version:

build/moz.configure/bindgen.configure:    cbindgen_min_version = Version("0.23.0")

The version in that file is guaranteed to build as that's what we use in automation

I would also expect 0.23.x and 0.24.x to still be compatible, and not break backward compatibility. Is guess there is something special about cbindgen?

I'm very mindful of cbindgen doing breaking changes. 0.23.x and 0.24.x don't need to be backwards compatible between them generally tho (it's special with 0.* versions), but in any case in this situation I don't think it's reasonable to blame it on the tool. The issue is that cbindgen didn't understand a constant WR used, and someone needed that constant and added it manually. Instead of using another name (which would've prevented this issue) they used the exact same name cbindgen would've generated. So when cbindgen improved and was able to generate that constant, well, you get this bug. If we consider a breaking change in cbindgen any time we potentially generate new code then ~all cbindgen changes would be breaking...

Summary: ROOT_CLIP_CHAIN error fails in firefox 102.0b5-1 with cbindgen 2.42.2 → ROOT_CLIP_CHAIN error fails in firefox 102.0b5-1 with cbindgen 2.24.2
You need to log in before you can comment on or make changes to this bug.