Skip to content

Conversation

@MaxIhlenfeldt
Copy link
Collaborator

@MaxIhlenfeldt MaxIhlenfeldt commented Nov 9, 2023

Release notes:
https://chromereleases.googleblog.com/2023/10/stable-channel-update-for-desktop_10.html
https://chromereleases.googleblog.com/2023/10/stable-channel-update-for-desktop_17.html
https://chromereleases.googleblog.com/2023/10/stable-channel-update-for-desktop_24.html

Build and patch changes:

Drop one backported patch that's included upstream now, and add five new
backports.

Update 0008-drop-gsimple-template-names.patch to use upstream's new GN
arg that controls whether -gsimple-template-names is used.

Drop one fix from 0015-Avoid-capturing-structured-bindings.patch where
the code that needed fixing was removed upstream.

Add two more fixes to
0017-Avoid-parenthesized-initialization-of-aggregates.patch.

Rebase remaining patches.

License changes:

Added licenses:

  • ios/components/third_party/compiler-rt/LICENSE.TXT
  • third_party/fuchsia-gn-sdk/LICENSE
  • third_party/libva_protected_content/LICENSE
  • third_party/updater/LICENSE

Removed licenses: none.

Updated licenses: none.

Test-built (big thanks to @nrpt-m):

  • chromium-ozone-wayland:
  • master, clang, MACHINE=qemux86-64
  • mickledore, clang, MACHINE=qemuarm64, qemux86-64
  • kirkstone, clang, MACHINE=qemux86-64, raspberrypi4-64
  • dunfell, clang**, MACHINE=qemux86-64
  • chromium-x11
  • master, clang, MACHINE=qemux86-64, qemuarm, qemuarm64, raspberrypi4-64
  • mickledore, clang, MACHINE=qemux86-64, qemuarm, qemuarm64, raspberrypi4-64
  • kirkstone, clang, MACHINE=qemux86-64, qemuarm, qemuarm64, raspberrypi4-64
  • dunfell, clang**, MACHINE=qemux86-64, qemuarm, qemuarm64, raspberrypi4-64***

** Please note that Chromium requires below set-up when on dunfell
branch.

  • The clang version to be >= 14 and for that, use the latest
    meta-clang/dunfell-clang14 branch.
  • Require the latest meta-oe with Nodejs 14.x support.
  • Add the PREFERRED_VERSION_nodejs-native = "14.%" in conf/local.conf
    file.

*** Please note that there currently is a problem on RPi4/dunfell where
Chromium crashes because of an illegal instruction error.

Signed-off-by: Max Ihlenfeldt max@igalia.com

@MaxIhlenfeldt MaxIhlenfeldt requested a review from rakuco November 9, 2023 11:15
@MaxIhlenfeldt MaxIhlenfeldt linked an issue Nov 9, 2023 that may be closed by this pull request
@MaxIhlenfeldt
Copy link
Collaborator Author

@nrpt-m as always, testing would be greatly appreciated! I'll update the commit message and PR description with the detailed changelog later, but I thought the sooner you can start the better 🙂

Copy link
Collaborator

@rakuco rakuco left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm modulo commit/PR message.

(I think I introduced the upstream build error that IWYU-Add-includes-for-size_t-and-int64_t-us.patch fixes, sorry about that 😄)

@MaxIhlenfeldt
Copy link
Collaborator Author

Just added the detailed changelog. I took the liberty of already including all the testing still being done in the "Test-built" section, I'll of course check again that it's correct once the testing is finished.

@nrpt-m
Copy link
Contributor

nrpt-m commented Nov 10, 2023

@MaxIhlenfeldt @rakuco
Have completed the builds & testing in master branch for all these below systems and chromium worked well in all these systems.

  • chromium-ozone-wayland: qemux86-64

  • chromium-x11: qemux86-64, qemuarm*, qemuarm64, raspberrypi4-64*

qemuarm*: Have observed some messages on console while testing chromium in qemuarm machine. I hope these won't cause any further issue.

[ 249.397647] Alignment trap: chromium-bin (842) PC=0x07e331ce Instr=0xe950a301 Address=0x347685aa FSR 0x221
[ 249.398120] Alignment trap: chromium-bin (842) PC=0x07e331ce Instr=0xe950a301 Address=0x347685b2 FSR 0x221
[ 249.398504] Alignment trap: chromium-bin (842) PC=0x07e331ce Instr=0xe950a301 Address=0x347685ba FSR 0x221

raspberrypi4-64*: With chromium-118, we haven't overserved "illegal instruction error" while launching chromium.

Next, starting with kirkstone, dunfell & mickledore branches.

@nrpt-m
Copy link
Contributor

nrpt-m commented Nov 11, 2023

@MaxIhlenfeldt @rakuco
Have completed the builds & testing in kirkstone branch for all these below systems and chromium worked well in all these systems.

  • chromium-ozone-wayland: qemux86-64

  • chromium-x11: qemux86-64, qemuarm, qemuarm64, raspberrypi4-64**

raspberrypi4-64**: Haven't overserved "illegal instruction error" while launching chromium with chromium-118. But, we have observed that while running the chromium, it can't complete loading of html5test.com. Have attached the errors.
chromium-118-kirkstone-rpi4-cannot-load-html5test-weblink.txt

If we access any other links like reddit.com it works fine so, it's not a a blocking chromium-118 problem.
If we use --ignore-certificate-errors and --ignore-ssl-errors options to ignore SSL error code than, html5test.com loads fine.

Next, starting with dunfell & mickledore branches.

@rakuco
Copy link
Collaborator

rakuco commented Nov 13, 2023

But, we have observed that while running the chromium, it can't complete loading of html5test.com. Have attached the errors. chromium-118-kirkstone-rpi4-cannot-load-html5test-weblink.txt

If we access any other links like reddit.com it works fine so, it's not a a blocking chromium-118 problem. If we use --ignore-certificate-errors and --ignore-ssl-errors options to ignore SSL error code than, html5test.com loads fine.

This looks unrelated to the recipe or OE/Yocto. html5test.com is trying to load https://api.whichbrowser.net/rel/detect.js but its TLS certificate expired last month.

Copy link
Collaborator

@kraj kraj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm. Please install.

@nrpt-m
Copy link
Contributor

nrpt-m commented Nov 14, 2023

@MaxIhlenfeldt @rakuco
Have completed the builds & testing in mickledore branch for all these below systems and chromium worked well in all these systems.

  • chromium-ozone-wayland: qemux86-64

  • chromium-x11: qemux86-64, qemuarm, qemuarm64, raspberrypi4-64**

raspberrypi4-64**: Haven't overserved "illegal instruction error" while launching chromium with chromium-118.
Next, starting with dunfell branch.

@nrpt-m
Copy link
Contributor

nrpt-m commented Nov 14, 2023

@MaxIhlenfeldt @rakuco
Have completed the builds & testing in dunfell branch for all these below systems and chromium worked well in all these systems.

  • chromium-ozone-wayland: qemux86-64

  • chromium-x11: qemux86-64, qemuarm, qemuarm64, raspberrypi4-64**

raspberrypi4-64**: We are getting illegal instruction error while running chromium. There is also a core dump file generated which is about 492MB. Have attached the log files.
Chromium-illegal-instruction-error-dunfell-rpi4-14Nov.txt
Chromium-dmesg-dunfell-rpi4-14Nov.txt

Please let me know if you need more info on this.

@MaxIhlenfeldt
Copy link
Collaborator Author

@nrpt-m can you upload the coredump to somewhere? From the logs it's not clear to me what exactly in Chromium is causing the illegal instruction error.

@nrpt-m
Copy link
Contributor

nrpt-m commented Nov 14, 2023

@nrpt-m can you upload the coredump to somewhere? From the logs it's not clear to me what exactly in Chromium is causing the illegal instruction error.

@MaxIhlenfeldt, coredump file type and size are not supported here to upload so, where can I upload the coredump ?

@MaxIhlenfeldt
Copy link
Collaborator Author

Maybe something like https://tempsend.com?

@nrpt-m
Copy link
Contributor

nrpt-m commented Nov 14, 2023

@MaxIhlenfeldt , Please find the coredump file at https://tempsend.com/rtxbp

@MaxIhlenfeldt
Copy link
Collaborator Author

Thanks! I think I also need the executable (i.e. usr/lib/chromium/chromium-bin from the final package) that generated the coredump, can you please upload it as well? (I hope it'll have enough symbols to be useful, else we might need a debug build)

@nrpt-m
Copy link
Contributor

nrpt-m commented Nov 14, 2023

Thanks! I think I also need the executable (i.e. usr/lib/chromium/chromium-bin from the final package) that generated the coredump, can you please upload it as well? (I hope it'll have enough symbols to be useful, else we might need a debug build)

@MaxIhlenfeldt , Please find the chromium executable at: https://tempsend.com/wdbwv

@MaxIhlenfeldt
Copy link
Collaborator Author

Thanks! Unfortunately, I can't get any useful information:

> gdb chromium-bin core
GNU gdb (GDB) 13.2

// ...

warning: malformed note - filename area is too big

warning: Can't open file  which was expanded to  during file-backed mapping note processing

warning: Can't open file  which was expanded to  during file-backed mapping note processing

// many more of these warnings

warning: exec file is newer than core file.

warning: Couldn't find general-purpose registers in core file.

warning: Unexpected size of section `.reg2' in core file.
Core was generated by `/usr/bin/chromium --use-gl=egl 1.1.1.1 --no-sandbox'.

warning: Couldn't find general-purpose registers in core file.

warning: Unexpected size of section `.reg2' in core file.
#0  <unavailable> in ?? ()
(gdb) bt
#0  <unavailable> in ?? ()
Backtrace stopped: not enough registers or memory available to unwind further

I'm not sure if we want to spend much more time on this, given that I have the 119 PR ready. Should we just merge this and if the issue still persists with 119, we can take a closer look (probably with a debug build)? @rakuco @nrpt-m

@rakuco
Copy link
Collaborator

rakuco commented Nov 14, 2023

AFAIR this illegal instruction error has been happening for many milestones. At least with this update, it only affects dunfell, so I'd go ahead and merge this PR.

Release notes:
    https://chromereleases.googleblog.com/2023/10/stable-channel-update-for-desktop_10.html
    https://chromereleases.googleblog.com/2023/10/stable-channel-update-for-desktop_17.html
    https://chromereleases.googleblog.com/2023/10/stable-channel-update-for-desktop_24.html

Build and patch changes:
------------------------

Drop one backported patch that's included upstream now, and add five new
backports.

Update 0008-drop-gsimple-template-names.patch to use upstream's new GN
arg that controls whether `-gsimple-template-names` is used.

Drop one fix from 0015-Avoid-capturing-structured-bindings.patch where
the code that needed fixing was removed upstream.

Add two more fixes to
0017-Avoid-parenthesized-initialization-of-aggregates.patch.

Rebase remaining patches.

License changes:
----------------

Added licenses:
  * ios/components/third_party/compiler-rt/LICENSE.TXT
  - https://chromium-review.googlesource.com/c/chromium/src/+/4833951

  * third_party/fuchsia-gn-sdk/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/4492524,

  * third_party/libva_protected_content/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/2523100

  * third_party/updater/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/3924483

Removed licenses: none.

Updated licenses: none.

Test-built (big thanks to @nrpt-m):
-----------------------------------

* chromium-ozone-wayland:
 - master, clang,     MACHINE=qemux86-64
 - mickledore, clang, MACHINE=qemuarm64, qemux86-64
 - kirkstone, clang,  MACHINE=qemux86-64, raspberrypi4-64
 - dunfell, clang**,  MACHINE=qemux86-64

* chromium-x11
 - master, clang,     MACHINE=qemux86-64, qemuarm, qemuarm64, raspberrypi4-64
 - mickledore, clang, MACHINE=qemux86-64, qemuarm, qemuarm64, raspberrypi4-64
 - kirkstone, clang,  MACHINE=qemux86-64, qemuarm, qemuarm64, raspberrypi4-64
 - dunfell, clang**,  MACHINE=qemux86-64, qemuarm, qemuarm64, raspberrypi4-64***

** Please note that Chromium requires below set-up when on dunfell
branch.
 - The clang version to be >= 14 and for that, use the latest
   meta-clang/dunfell-clang14 branch.
 - Require the latest meta-oe with Nodejs 14.x support.
 - Add the PREFERRED_VERSION_nodejs-native = "14.%" in conf/local.conf
   file.

*** Please note that there currently is a problem on RPi4/dunfell where
Chromium crashes because of an illegal instruction error.

Signed-off-by: Max Ihlenfeldt <max@igalia.com>
@MaxIhlenfeldt
Copy link
Collaborator Author

Updated the commit message and PR description to include the RPi4/dunfell error.

@MaxIhlenfeldt MaxIhlenfeldt merged commit 82e2184 into OSSystems:master Nov 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

Update to Chromium 118

4 participants