Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to Chromium 132.0.6834.83 #3143

Merged
merged 1 commit into from
Jan 19, 2025

Conversation

Ahrotahn
Copy link
Contributor

@Ahrotahn Ahrotahn commented Jan 9, 2025

This PR updates to Chromium 132.0.6834.83

Notes:

  • The rollup files are now duplicated for devtools-frontend, so another exclusion for the same file has been added to update_lists.py

  • The Inox safebrowsing patch had a small update for the changes in [5923123]

  • There was a new addition to the trk patch for [5964077]

  • disable-google-host-detection.patch had changes do to [5970653]

  • The pruned binaries patch had new additions for [5934367], [5998631], and [5917173]

  • The safebrowsing patch had changes for [5989132], [6001419], [5939832], [6006096], [6019823], [5958668], and [5990352]

  • remove-unused-preferences-fields.patch had removals for [5985667] and [5963058], changes for [5983026], and new additions for [5998292] and [6000926]

  • disable-capture-all-screens.patch had changes for [5998751]

  • Due to the change in [5926365] a new patch has been added: disable-chromelabs.patch
    Unbranded chromium builds return their channel as UNKNOWN so this means that ChromeLabs is now permanently shown.
    I had considered reimplementing the flag to keep that how it was previously, but would clash with the opt-in nature of the flags we add.
    Disabling ChromeLabs entirely seems like the best route since we only publish stable versions and the expiriments are still available at chrome://flags

  • The UI removal patch had changes for [6003547]

  • The clone script has been updated to prevent removing the 'out' directories under node_modules since they now ship folders with that name. I've also removed the instrumented_libs custom dep since it has had it's condition updated to skip the download for small checkouts.

  • I've updated the list of contingent paths in prune_binaries.py

  • If you're not yet on llvm 19+ then you may need to apply the following change since CTAD isn't available yet:

    --- a/pdf/pdfium/pdfium_api_wrappers.cc
    +++ b/pdf/pdfium/pdfium_api_wrappers.cc
    @@ -147,7 +147,7 @@
     
       // Number of characters, including the NUL.
       const size_t expected_size = base::checked_cast<size_t>(buflen_bytes / 2);
    -  PDFiumAPIStringBufferAdapter adapter(&name, expected_size,
    +  PDFiumAPIStringBufferAdapter<std::u16string> adapter(&name, expected_size,
                                            /*check_expected_size=*/true);
       unsigned long actual_buflen_bytes = 0;  // NOLINT(runtime/int)
       bool result =
  • Linux builds might also require removing the ELF CREL flag if you're not running the latest changes:

    --- a/build/config/compiler/BUILD.gn
    +++ b/build/config/compiler/BUILD.gn
    @@ -616,13 +616,6 @@
           cflags += [ "-ffp-contract=off" ]
         }
     
    -    # Enable ELF CREL (see crbug.com/357878242) for all platforms that use ELF
    -    # (excluding toolchains that use an older version of LLVM).
    -    # TODO(crbug.com/376278218): This causes segfault on Linux ARM builds.
    -    if (is_linux && !llvm_android_mainline && current_cpu != "arm" &&
    -        default_toolchain != "//build/toolchain/cros:target") {
    -      cflags += [ "-Wa,--crel,--allow-experimental-crel" ]
    -    }
       }
     
       # C11/C++11 compiler flags setup.

Change log
Blog post

@Ahrotahn
Copy link
Contributor Author

Ahrotahn commented Jan 9, 2025

I had to add a pylint exclusion section due to the length of the filename added in prune_binaries.py.
Also, it seems that they added a bunch of new test directories yesterday in [6154800], so I've updated the list of contingent paths to include all of those as well. (I've been seeing the improvements to the tarball scripts over the past month or so, thanks @iskunk!)

Edit: There's a few paths that we shouldn't prune. If I get some time in the future I'll see if we can carve out exceptions for some files when pruning contingent paths.

@iskunk
Copy link
Contributor

iskunk commented Jan 10, 2025

(I've been seeing the improvements to the tarball scripts over the past month or so, thanks @iskunk!)

FYI, I just landed another related change. It should now be possible to build u-c using the lite tarball. I checked that the Windows build works with it (in my cross build, anyway), as well as the regular Debian build. If you have the time, please give it a try, and let me know if anything is missing.

Edit: There's a few paths that we shouldn't prune. If I get some time in the future I'll see if we can carve out exceptions for some files when pruning contingent paths.

I take it the gn gen step failed? The upstream tarball scripts have pruning logic that leaves in GN-related files (see here and here). That's probably what would be needed here.

(I'm preparing a change to tighten up that pruning code, so would not advise copying it directly)

@Ahrotahn
Copy link
Contributor Author

Ahrotahn commented Jan 11, 2025

Yeah, contingent paths are completely removed. I forgot that I had set up file filtering in the clone script to deal with the test directories, so I've moved them there and added the paths removed from the lite tarball in their place. I'd like to eventually update how we prune those paths to account for that, consolidate the removal logic into a single location, and maybe make a new list for the paths instead of keeping them in the pruning script.

The good news is that I was able to successfully build with the lite tarball! There was a section in the trk and unused prefs patch that needed to be removed since those files are now pruned. I'd like to eventually update our Cirrus container to use the lite tarball in order to keep it's size down but I'll wait to be sure there aren't any unforeseen issues with that.

Also after looking at the changes to the lists I realized that there was a bug in update_lists.py that would prune paths that didn't need to be pruned. Before I moved components/test/data/ over I noticed that chromeos/components/test/data/ was also being pruned. This is because update_lists.py only checked if the path contained the one to be pruned. I updated that to check if the path leads with that path. Luckily it doesn't seem like we had any significant removals due to this previously.

@teeminus
Copy link
Contributor

The updated pruning script seems to break the windows build process:

[11616/51868] ACTION //tools/gritsettings:default_resource_ids(//build/toolchain/win:win_clang_x64)
FAILED: gen/tools/gritsettings/default_resource_ids
"C:/Program Files/Python310/python3.exe" ../../tools/grit/grit.py update_resource_ids -o gen/tools/gritsettings/default_resource_ids --add-header --depfile gen/tools/gritsettings/default_resource_ids.d --input ../../tools/gritsettings/resource_ids.spec
parse exception: run GRIT with the -x flag to debug .grd problems
Traceback (most recent call last):
  File "C:\ucw\build\src\tools\grit\grit.py", line 28, in <module>
    sys.exit(grit.grit_runner.Main(sys.argv[1:]))
  File "C:\ucw\build\src\tools\grit\grit\grit_runner.py", line 313, in Main
    return toolobject.Run(options, args[1:])
  File "C:\ucw\build\src\tools\grit\grit\tool\update_resource_ids\__init__.py", line 236, in Run
    for item, tag_name_to_usage in usage_gen:
  File "C:\ucw\build\src\tools\grit\grit\tool\update_resource_ids\reader.py", line 80, in GenerateResourceUsages
    tag_name_to_usage = _CountResourceUsage(grd_file, seen_files)
  File "C:\ucw\build\src\tools\grit\grit\tool\update_resource_ids\reader.py", line 25, in _CountResourceUsage
    root = grd_reader.Parse(grd,
  File "C:\ucw\build\src\tools\grit\grit\grd_reader.py", line 216, in Parse
    xml.sax.parse(filename_or_stream, handler)
  File "C:\Program Files\Python310\lib\xml\sax\__init__.py", line 33, in parse
    parser.parse(source)
  File "C:\Program Files\Python310\lib\xml\sax\expatreader.py", line 111, in parse
    xmlreader.IncrementalParser.parse(self, source)
  File "C:\Program Files\Python310\lib\xml\sax\xmlreader.py", line 125, in parse
    self.feed(buffer)
  File "C:\Program Files\Python310\lib\xml\sax\expatreader.py", line 217, in feed
    self._parser.Parse(data, isFinal)
  File "D:\a\1\s\Modules\pyexpat.c", line 470, in EndElement
  File "C:\Program Files\Python310\lib\xml\sax\expatreader.py", line 336, in end_element
    self._cont_handler.endElement(name)
  File "C:\ucw\build\src\tools\grit\grit\grd_reader.py", line 93, in endElement
    raise exception.FileNotFound(partname)
grit.exception.FileNotFound: The resource file was not found.: ..\..\ios/chrome/browser/ui/whats_new/strings\m132_strings.grdp

I wonder why the ios folder is required for the windows build. The path is specified here: https://github.com/chromium/chromium/tree/132.0.6834.83/tools/gritsettings/resource_ids.spec

I am not sure if we should not prune the ios folder or patch the resource_ids.spec. I think I would tend to not prune the ios path rather than patching the resource_ids.spec as it adds another file to keep track of while updating to a new release.

@Ahrotahn
Copy link
Contributor Author

Interesting, I guess that path will need to wait until I can update how we prune them. I just pushed a change with the ios path removed from the list. Hopefully that's the only one that's needed.

@teeminus
Copy link
Contributor

I ran into some linking errors:

lld-link: error: undefined symbol: public: __cdecl ChromeSafeBrowsingLocalStateDelegate::ChromeSafeBrowsingLocalStateDelegate(class content::WebUI *)
>>> referenced by ../../chrome/browser/ui/webui/safe_browsing/chrome_safe_browsing_ui.cc
>>>               obj/chrome/browser/ui/webui/safe_browsing/safe_browsing/chrome_safe_browsing_ui.obj

lld-link: error: undefined symbol: public: __cdecl optimization_guide::BertModelHandler::BertModelHandler(class optimization_guide::OptimizationGuideModelProvider *, class scoped_refptr<class base::SequencedTaskRunner>, enum optimization_guide::proto::OptimizationTarget, class std::__Cr::optional<class optimization_guide::proto::Any> const &)
>>> referenced by ../../components/safe_browsing/content/browser/notification_content_detection/notification_content_detection_model.cc
>>>               obj/components/safe_browsing/content/browser/notification_content_detection/notification_content_detection/notification_content_detection_model.obj

lld-link: error: undefined symbol: public: virtual __cdecl optimization_guide::BertModelHandler::~BertModelHandler(void)>>> referenced by ../../components/safe_browsing/content/browser/notification_content_detection/notification_content_detection_model.cc
>>>               obj/components/safe_browsing/content/browser/notification_content_detection/notification_content_detection/notification_content_detection_model.obj

I fixed the first one with the following patch:

--- a/chrome/browser/ui/webui/BUILD.gn
+++ b/chrome/browser/ui/webui/BUILD.gn
@@ -33,7 +33,6 @@ source_set("configs") {
     ":webui",
     "//chrome/browser/optimization_guide:optimization_guide",
     "//chrome/browser/ui",
-    "//chrome/browser/ui/webui/safe_browsing",
     "//components/compose:buildflags",
     "//components/lens:buildflags",
     "//components/security_interstitials/content:security_interstitial_page",

The following patch fixes the other linking errors:

--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -2243,7 +2243,6 @@ static_library("browser") {
     "//components/resources",
     "//components/safe_browsing/content/browser",
     "//components/safe_browsing/content/browser:safe_browsing_service",
-    "//components/safe_browsing/content/browser/notification_content_detection",
     "//components/safe_browsing/content/browser/password_protection",
     "//components/safe_browsing/content/browser/web_ui",
     "//components/safe_browsing/core/browser",
@@ -9127,8 +9126,6 @@ static_library("test_support") {
     "//components/reporting/util:status",
     "//components/reporting/util:status_macros",
     "//components/reporting/util:task_runner_context",
-    "//components/safe_browsing/content/browser/notification_content_detection:notification_content_detection",
-    "//components/safe_browsing/content/browser/notification_content_detection:test_utils",
     "//components/safe_browsing/core/common/proto:csd_proto",
     "//components/search_engines:test_support",
     "//components/security_interstitials/content:security_interstitial_page",

If no one else faces the same errors I would simply add those patches to the windows safebrowing patch.

@Ahrotahn
Copy link
Contributor Author

I think it's reasonable to add that to core since there doesn't seem to be any platform-specific gating for those sections.

@clickot
Copy link
Contributor

clickot commented Jan 13, 2025

on portable linux, i get the following error while generating build files with gn:

ERROR at //chrome/browser/vr/BUILD.gn:6:1: Unable to load "/repo/build/src/chrome/android/modules/buildflags.gni".
import("//chrome/android/modules/buildflags.gni")
^-----------------------------------------------
See //BUILD.gn:818:9: which caused the file to be included.
        "//chrome/browser/vr:vr_common_unittests",
        ^----------------------------------------

The file chrome/android/modules/buildflags.gni is obviously missing, but i don't have a glue why

@teeminus
Copy link
Contributor

'chrome/android' is pruned now.

@clickot
Copy link
Contributor

clickot commented Jan 13, 2025

@teeminus thanks, found it in prune_binaries.py

maybe a stupid question, but why does that break my build but seemingly no others? Does anybody have an idea why this might be?

@Ahrotahn
Copy link
Contributor Author

There may be differences in the buildflags used or some platform-specific differences.
I just removed that path. If we end up needing another then I'll remove that whole list of paths until I can work on those changes I mentioned earlier.

@clickot
Copy link
Contributor

clickot commented Jan 13, 2025

portable linux builds and runs fine now

Copy link
Member

@networkException networkException left a comment

Choose a reason for hiding this comment

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

Thanks a lot, looking good on NixOS

Great to see the tarballs improvements upstream!

@iskunk
Copy link
Contributor

iskunk commented Jan 16, 2025

FYI, my change to the upstream pruning code went in. Relevant bits are here and here.

Note that the code explicitly avoids deleting *.gni, *.grdp and others. (It always did this; my change was just to make the code less sloppy.)

As for why stuff in ios/ was needed for a Windows build and such, the impression I've gotten from working with this a bit is that the references to those files are just not conditionalized by platform in the way you expect---like the iOS file gets read regardless, but then the contents end up not being used on Windows. (Maybe those bits still make it into the final binaries...)

@teeminus
Copy link
Contributor

Builds and runs fine on windows, too.

@Cubik65536
Copy link
Member

Cubik65536 commented Jan 19, 2025

The build on macOS failed.

First, when building, the builder was looking for the Rust bindgen binary in the build/third_party/rust-toolchain/bin directory, whereas it is actuall in the build/src/third_party/rust-toolchain/bin.

Second, this error is happening, and I am not sure what is causing it:

[50718/50916] SOLINK 'obj/chrome/chrome_framework_shared_library/Chromium Framework' 'obj/chrome/chrome_framework_shared_library/Chromium Framework.TOC' 'Chromium Framework.dSYM/Contents/Info.plist' 'Chromium Framework.dSYM/Contents/Resources/DWARF/Chromium Framework'
FAILED: obj/chrome/chrome_framework_shared_library/Chromium Framework obj/chrome/chrome_framework_shared_library/Chromium Framework.TOC Chromium Framework.dSYM/Contents/Info.plist Chromium Framework.dSYM/Contents/Resources/DWARF/Chromium Framework
if [ ! -e "obj/chrome/chrome_framework_shared_library/Chromium Framework" -o ! -e "obj/chrome/chrome_framework_shared_library/Chromium Framework.TOC" ] || /Applications/Xcode-16.2.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool -l "obj/chrome/chrome_framework_shared_library/Chromium Framework" | grep -q LC_REEXPORT_DYLIB ; then TOOL_VERSION=1737235440 ../../build/toolchain/apple/linker_driver.py -Wcrl,driver,../../third_party/llvm-build/Release+Asserts/bin/clang++ -Wcrl,strippath,/Applications/Xcode-16.2.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip -Wcrl,installnametoolpath,../../third_party/llvm-build/Release+Asserts/bin/llvm-install-name-tool -shared  -Wcrl,dsym,. -Wcrl,dsymutilpath,/usr/bin/dsymutil -compatibility_version 6834.0.83 -current_version 6834.0.83 -Wl,-install_name,@executable_path/../Frameworks/Chromium\ Framework.framework/Versions/132.0.6834.83/Chromium\ Framework -Wl,--no-warn-duplicate-rpath -Wl,-no_warn_duplicate_libraries -fuse-ld=lld -Wl,--icf=all -Wl,--color-diagnostics -Wl,-mllvm,-instcombine-lower-dbg-declare=0 -Wl,-mllvm,-split-threshold-for-reg-with-hint=0 -Wl,-cache_path_lto,thinlto-cache -Wl,--thinlto-cache-policy=cache_size=10\%:cache_size_bytes=40g:cache_size_files=100000 -flto=thin -Wl,--thinlto-jobs=all -Wl,-mllvm,-import-instr-limit=30 -Wcrl,object_path_lto -Wl,-mllvm,-disable-auto-upgrade-debug-info -Wl,-mllvm,-inlinehint-threshold=360 -fwhole-program-vtables -Wl,--strict-auto-link -Wl,--no-call-graph-profile-sort --target=arm64-apple-macos -Wl,-mllvm,-enable-machine-outliner=never -no-canonical-prefixes -Wl,-dead_strip -Wl,-no_data_in_code_info -Wl,-no_function_starts -nostdlib++ -isysroot ../../../../../../../Applications/Xcode-16.2.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk -mmacos-version-min=11.0 -Wl,-ObjC -Wcrl,strip,-x,-S -Wl,--lto-O2 -Wl,-order_file -Wl,../../chrome/app/framework.order -Wl,-exported_symbols_list -Wl,../../chrome/app/framework.exports prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libstd.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/liballoc.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libcfg_if.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libcompiler_builtins.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libcore.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libgetopts.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libhashbrown.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libpanic_abort.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libpanic_unwind.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/librustc_demangle.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libstd_detect.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libtest.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libunicode_width.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libunwind.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libaddr2line.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libadler.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libgimli.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/liblibc.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libmemchr.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libminiz_oxide.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libobject.rlib -L/Applications/Xcode-16.2.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/lib -o "obj/chrome/chrome_framework_shared_library/Chromium Framework" "@obj/chrome/chrome_framework_shared_library/Chromium Framework.rsp" obj/third_party/rust/cxx/v1/lib/libcxx_lib.rlib obj/base/libbase_crust_ulogger.rlib obj/base/libbase_clogging_ulog_useverity_ubindgen.rlib obj/build/rust/chromium_prelude/libchromium.rlib obj/base/libbase_clogging_urust_ulog_uintegration_ubindgen.rlib obj/third_party/rust/log/v0_4/lib/liblog_lib.rlib obj/third_party/rust/serde_json_lenient/v0_2/wrapper/libthird_uparty_srust_sserde_ujson_ulenient_sv0_u2_swrapper_cwrapper.rlib obj/third_party/rust/serde/v1/lib/libserde_lib.rlib obj/third_party/rust/serde_json_lenient/v0_2/lib/libserde_json_lenient_lib.rlib obj/third_party/rust/itoa/v1/lib/libitoa_lib.rlib obj/third_party/rust/ryu/v1/lib/libryu_lib.rlib obj/skia/libskia_cbridge_urust_uside.rlib obj/third_party/rust/font_types/v0_7/lib/libfont_types_lib.rlib obj/third_party/rust/bytemuck/v1/lib/libbytemuck_lib.rlib obj/third_party/rust/read_fonts/v0_23/lib/libread_fonts_lib.rlib obj/third_party/rust/skrifa/v0_24/lib/libskrifa_lib.rlib obj/third_party/blink/common/rust_crash/libthird_uparty_sblink_scommon_srust_ucrash_crs.rlib obj/third_party/crabbyavif/libthird_uparty_scrabbyavif_ccrabbyavif.rlib obj/third_party/crabbyavif/libdav1d_sys.rlib obj/third_party/crabbyavif/liblibyuv_sys.rlib obj/third_party/rust/libc/v0_2/lib/liblibc_lib.rlib obj/components/qr_code_generator/libcomponents_sqr_ucode_ugenerator_cqr_ucode_ugenerator_uffi_uglue.rlib obj/third_party/rust/qr_code/v2/lib/libqr_code_lib.rlib && { /Applications/Xcode-16.2.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool -l "obj/chrome/chrome_framework_shared_library/Chromium Framework" | grep LC_ID_DYLIB -A 5; /Applications/Xcode-16.2.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm -gPp "obj/chrome/chrome_framework_shared_library/Chromium Framework" | cut -f1-2 -d' ' | grep -v U$$; true; } > "obj/chrome/chrome_framework_shared_library/Chromium Framework.TOC"; else TOOL_VERSION=1737235440 ../../build/toolchain/apple/linker_driver.py -Wcrl,driver,../../third_party/llvm-build/Release+Asserts/bin/clang++ -Wcrl,strippath,/Applications/Xcode-16.2.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip -Wcrl,installnametoolpath,../../third_party/llvm-build/Release+Asserts/bin/llvm-install-name-tool -shared  -Wcrl,dsym,. -Wcrl,dsymutilpath,/usr/bin/dsymutil -compatibility_version 6834.0.83 -current_version 6834.0.83 -Wl,-install_name,@executable_path/../Frameworks/Chromium\ Framework.framework/Versions/132.0.6834.83/Chromium\ Framework -Wl,--no-warn-duplicate-rpath -Wl,-no_warn_duplicate_libraries -fuse-ld=lld -Wl,--icf=all -Wl,--color-diagnostics -Wl,-mllvm,-instcombine-lower-dbg-declare=0 -Wl,-mllvm,-split-threshold-for-reg-with-hint=0 -Wl,-cache_path_lto,thinlto-cache -Wl,--thinlto-cache-policy=cache_size=10\%:cache_size_bytes=40g:cache_size_files=100000 -flto=thin -Wl,--thinlto-jobs=all -Wl,-mllvm,-import-instr-limit=30 -Wcrl,object_path_lto -Wl,-mllvm,-disable-auto-upgrade-debug-info -Wl,-mllvm,-inlinehint-threshold=360 -fwhole-program-vtables -Wl,--strict-auto-link -Wl,--no-call-graph-profile-sort --target=arm64-apple-macos -Wl,-mllvm,-enable-machine-outliner=never -no-canonical-prefixes -Wl,-dead_strip -Wl,-no_data_in_code_info -Wl,-no_function_starts -nostdlib++ -isysroot ../../../../../../../Applications/Xcode-16.2.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk -mmacos-version-min=11.0 -Wl,-ObjC -Wcrl,strip,-x,-S -Wl,--lto-O2 -Wl,-order_file -Wl,../../chrome/app/framework.order -Wl,-exported_symbols_list -Wl,../../chrome/app/framework.exports prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libstd.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/liballoc.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libcfg_if.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libcompiler_builtins.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libcore.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libgetopts.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libhashbrown.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libpanic_abort.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libpanic_unwind.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/librustc_demangle.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libstd_detect.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libtest.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libunicode_width.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libunwind.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libaddr2line.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libadler.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libgimli.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/liblibc.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libmemchr.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libminiz_oxide.rlib prebuilt_rustc_sysroot/lib/rustlib/aarch64-apple-darwin/lib/libobject.rlib -L/Applications/Xcode-16.2.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/usr/lib -o "obj/chrome/chrome_framework_shared_library/Chromium Framework" "@obj/chrome/chrome_framework_shared_library/Chromium Framework.rsp" obj/third_party/rust/cxx/v1/lib/libcxx_lib.rlib obj/base/libbase_crust_ulogger.rlib obj/base/libbase_clogging_ulog_useverity_ubindgen.rlib obj/build/rust/chromium_prelude/libchromium.rlib obj/base/libbase_clogging_urust_ulog_uintegration_ubindgen.rlib obj/third_party/rust/log/v0_4/lib/liblog_lib.rlib obj/third_party/rust/serde_json_lenient/v0_2/wrapper/libthird_uparty_srust_sserde_ujson_ulenient_sv0_u2_swrapper_cwrapper.rlib obj/third_party/rust/serde/v1/lib/libserde_lib.rlib obj/third_party/rust/serde_json_lenient/v0_2/lib/libserde_json_lenient_lib.rlib obj/third_party/rust/itoa/v1/lib/libitoa_lib.rlib obj/third_party/rust/ryu/v1/lib/libryu_lib.rlib obj/skia/libskia_cbridge_urust_uside.rlib obj/third_party/rust/font_types/v0_7/lib/libfont_types_lib.rlib obj/third_party/rust/bytemuck/v1/lib/libbytemuck_lib.rlib obj/third_party/rust/read_fonts/v0_23/lib/libread_fonts_lib.rlib obj/third_party/rust/skrifa/v0_24/lib/libskrifa_lib.rlib obj/third_party/blink/common/rust_crash/libthird_uparty_sblink_scommon_srust_ucrash_crs.rlib obj/third_party/crabbyavif/libthird_uparty_scrabbyavif_ccrabbyavif.rlib obj/third_party/crabbyavif/libdav1d_sys.rlib obj/third_party/crabbyavif/liblibyuv_sys.rlib obj/third_party/rust/libc/v0_2/lib/liblibc_lib.rlib obj/components/qr_code_generator/libcomponents_sqr_ucode_ugenerator_cqr_ucode_ugenerator_uffi_uglue.rlib obj/third_party/rust/qr_code/v2/lib/libqr_code_lib.rlib && { /Applications/Xcode-16.2.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool -l "obj/chrome/chrome_framework_shared_library/ChromiumFramework" | grep LC_ID_DYLIB -A 5; /Applications/Xcode-16.2.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm -gPp "obj/chrome/chrome_framework_shared_library/Chromium Framework" | cut -f1-2 -d' ' | grep -v U$$; true; } > "obj/chrome/chrome_framework_shared_library/Chromium Framework.tmp" && if ! cmp -s "obj/chrome/chrome_framework_shared_library/Chromium Framework.tmp" "obj/chrome/chrome_framework_shared_library/Chromium Framework.TOC"; then mv "obj/chrome/chrome_framework_shared_library/Chromium Framework.tmp" "obj/chrome/chrome_framework_shared_library/Chromium Framework.TOC" ; fi; fi
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Running pass "pgo-icall-prom" on module "obj/chrome/browser/libbrowser.a(render_view_context_menu.o)7813350"
LLVM ERROR: Failed to rename temporary file thinlto-cache/Thin-bf7677.tmp.o to thinlto-cache/llvmcache-74D26B8D7614E587C7756BC144172DE4EE560C8C: No such file or directory

clang++: error: unable to execute command: Abort trap: 6
clang++: error: linker command failed due to signal (use -v to see invocation)

I am testing with the previous version of Chromium to see if this is some issue related to my building environment (I had to reconfigure it recently).

@Ahrotahn
Copy link
Contributor Author

The path issue is most likely caused by changes in your build environment, but the linking issue looks similar to what's described in (381444313). Try building with the gn arg symbol_level=1 to see if that gets further.

@networkException
Copy link
Member

I'm tempted to tag this soon (skipping the required second approval) and publish another revision if the issue on macOS turns out to be best fixed here.

Copy link
Contributor

@PF4Public PF4Public left a comment

Choose a reason for hiding this comment

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

Sorry for the delayed approval I was in flight-mode. Literally in every sense of the word :)

@networkException networkException merged commit 984d79f into ungoogled-software:master Jan 19, 2025
3 checks passed
@Cubik65536
Copy link
Member

Cubik65536 commented Jan 19, 2025

The path issue is most likely caused by changes in your build environment, but the linking issue looks similar to what's described in (381444313). Try building with the gn arg symbol_level=1 to see if that gets further.

The path issue is not occuring in previous versions, so I am not sure what is happening, and I'll just use soft link as a walk around for now.

I will be testing symbol_level=1 as soon as I got time to do so.

Cubik65536 added a commit to iXORTech/ungoogled-chromium-macos that referenced this pull request Jan 19, 2025
Cubik65536 added a commit to iXORTech/ungoogled-chromium-macos that referenced this pull request Jan 19, 2025
@Cubik65536
Copy link
Member

Cubik65536 commented Jan 20, 2025

macOS builds fine with symbol_level=1.

@PF4Public
Copy link
Contributor

Failed to rename temporary file thinlto-cache/Thin-bf7677.tmp.o to thinlto-cache/llvmcache-74D26B8D7614E587C7756BC144172DE4EE560C8C: No such file or directory

I remembered now, I had a very similar issue on Linux. But I cannot remember how I fixed it :( It was either that filesystem running out of i-nodes, or a bad RAM, or a polluted thinlto-cache folder, or a corrupted/inconsistent between builds ccache needing to recache everything, or I just recreated the build folder completely from scratch. @Cubik65536 Does anything from the above apply to you?

@Cubik65536
Copy link
Member

Failed to rename temporary file thinlto-cache/Thin-bf7677.tmp.o to thinlto-cache/llvmcache-74D26B8D7614E587C7756BC144172DE4EE560C8C: No such file or directory

I remembered now, I had a very similar issue on Linux. But I cannot remember how I fixed it :( It was either that filesystem running out of i-nodes, or a bad RAM, or a polluted thinlto-cache folder, or a corrupted/inconsistent between builds ccache needing to recache everything, or I just recreated the build folder completely from scratch. @Cubik65536 Does anything from the above apply to you?

I don't think these apply to my case :(

Cubik65536 added a commit to ungoogled-software/ungoogled-chromium-macos that referenced this pull request Jan 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
7 participants