OSSystems / meta-browser

OpenEmbedded/Yocto BSP layer for Web Browsers
MIT License
183 stars 189 forks source link

chromium: update to 118.0.5993.117 #768

Closed MaxIhlenfeldt closed 9 months ago

MaxIhlenfeldt commented 9 months ago

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:

Removed licenses: none.

Updated licenses: none.

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

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

*** 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 commented 9 months ago

@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 :slightly_smiling_face:

MaxIhlenfeldt commented 9 months ago

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 commented 9 months ago

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

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 commented 9 months ago

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

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 commented 9 months ago

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.

nrpt-m commented 9 months ago

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

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

nrpt-m commented 9 months ago

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

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 commented 9 months ago

@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 commented 9 months ago

@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 commented 9 months ago

Maybe something like https://tempsend.com?

nrpt-m commented 9 months ago

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

MaxIhlenfeldt commented 9 months ago

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 commented 9 months ago

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 commented 9 months ago

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 commented 9 months ago

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.

MaxIhlenfeldt commented 9 months ago

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