Closed Bug 1946666 Opened 1 month ago Closed 1 month ago

error: failed to run custom build command for `gecko-profiler v0.1.0 (/builds/psumbera/mozilla-central-build/tools/profiler/rust-api)

Categories

(Firefox Build System :: General, defect)

defect

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: petr.sumbera, Unassigned)

Details

(Keywords: regression)

Steps to reproduce:

Build on Solaris x86_64 fails (Solaris SPARC passes):

error: failed to run custom build command for `gecko-profiler v0.1.0 (/builds/psumbera/mozilla-central-build/tools/profiler/rust-api)
 8:39.91 error: failed to run custom build command for `gecko-profiler v0.1.0 (/builds/psumbera/mozilla-central-build/tools/profiler/rust-api)`
 8:39.91 Caused by:
 8:39.94   process didn't exit successfully: `/builds/psumbera/mozilla-central-build/obj-x86_64-pc-solaris2.11/debug/build/gecko-profiler-532214ead673df3b/build-script-build` (exit status: 101)
 8:39.94   --- stdout
 8:39.94   cargo:rerun-if-changed=build.rs
 8:39.94   cargo:out_dir=/builds/psumbera/mozilla-central-build/obj-x86_64-pc-solaris2.11/x86_64-pc-solaris/debug/build/gecko-profiler-5ef8c2981d3f680f/out
 8:39.94   cargo:rerun-if-changed=/builds/psumbera/mozilla-central-build/obj-x86_64-pc-solaris2.11/dist/include/mozilla-config.h
 8:39.94   cargo:rerun-if-changed=/builds/psumbera/mozilla-central-build/obj-x86_64-pc-solaris2.11/tools/profiler/rust-api/extra-bindgen-flags
 8:39.94   cargo:rerun-if-changed=/builds/psumbera/mozilla-central-build/obj-x86_64-pc-solaris2.11/dist/include/GeckoProfiler.h
 8:39.94   cargo:rerun-if-changed=/builds/psumbera/mozilla-central-build/obj-x86_64-pc-solaris2.11/dist/include/ProfilerBindings.h
 8:39.94   cargo:rerun-if-env-changed=TARGET
 8:39.94   cargo:rerun-if-env-changed=BINDGEN_EXTRA_CLANG_ARGS_x86_64-pc-solaris
 8:39.94   cargo:rerun-if-env-changed=BINDGEN_EXTRA_CLANG_ARGS_x86_64_pc_solaris
 8:39.94   cargo:rerun-if-env-changed=BINDGEN_EXTRA_CLANG_ARGS
 8:39.94   cargo:rerun-if-changed=/builds/psumbera/mozilla-central-build/obj-x86_64-pc-solaris2.11/dist/include/GeckoProfiler.h
 8:39.94   cargo:rerun-if-changed=/builds/psumbera/mozilla-central-build/obj-x86_64-pc-solaris2.11/dist/include/ProfilerBindings.h
 8:39.94   cargo:rerun-if-changed=/builds/psumbera/mozilla-central-build/obj-x86_64-pc-solaris2.11/dist/include/BaseProfiler.h
 8:39.94   cargo:rerun-if-changed=/builds/psumbera/mozilla-central-build/obj-x86_64-pc-solaris2.11/dist/include/mozilla/BaseProfilerCounts.h
 8:39.94   cargo:rerun-if-changed=/builds/psumbera/mozilla-central-build/obj-x86_64-pc-solaris2.11/dist/include/mozilla/BaseProfilerLabels.h
 8:39.94   cargo:rerun-if-changed=/builds/psumbera/mozilla-central-build/obj-x86_64-pc-solaris2.11/dist/include/mozilla/BaseProfilerMarkers.h
 8:39.94   cargo:rerun-if-changed=/builds/psumbera/mozilla-central-build/obj-x86_64-pc-solaris2.11/dist/include/mozilla/BaseProfilerMarkersDetail.h
 8:39.94   cargo:rerun-if-changed=/builds/psumbera/mozilla-central-build/obj-x86_64-pc-solaris2.11/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h
 8:39.94   cargo:rerun-if-changed=/builds/psumbera/mozilla-central-build/obj-x86_64-pc-solaris2.11/dist/include/mozilla/BaseProfileJSONWriter.h
 8:39.94   cargo:rerun-if-changed=/builds/psumbera/mozilla-central-build/obj-x86_64-pc-solaris2.11/dist/include/mozilla/FailureLatch.h
 8:39.94   cargo:rerun-if-changed=/builds/psumbera/mozilla-central-build/obj-x86_64-pc-solaris2.11/dist/include/mozilla/Assertions.h
 8:39.94   cargo:rerun-if-changed=/usr/include/unistd.h
 8:39.94   cargo:rerun-if-changed=/usr/include/sys/feature_tests.h
 8:39.94   cargo:rerun-if-changed=/usr/include/sys/ccompile.h
 8:39.94   cargo:rerun-if-changed=/usr/include/sys/note.h
 8:39.94   cargo:rerun-if-changed=/usr/include/sys/isa_defs.h
 8:39.94   cargo:rerun-if-changed=/usr/include/sys/types.h
 8:39.94   cargo:rerun-if-changed=/usr/include/sys/feature_tests.h
 8:39.94   cargo:rerun-if-changed=/usr/include/sys/isa_defs.h
 8:39.94   cargo:rerun-if-changed=/usr/include/sys/machtypes.h
 8:39.94   cargo:rerun-if-changed=/usr/include/sys/feature_tests.h
 8:39.94   cargo:rerun-if-changed=/usr/include/ia32/sys/machtypes.h
 8:39.94   cargo:rerun-if-changed=/usr/include/sys/int_types.h
 8:39.94   cargo:rerun-if-changed=/usr/include/sys/feature_tests.h
 8:39.94   cargo:rerun-if-changed=/usr/include/sys/select.h
 8:39.94   cargo:rerun-if-changed=/usr/include/sys/feature_tests.h
 8:39.94   cargo:rerun-if-changed=/usr/include/sys/time_impl.h
 ..
  8:40.34   cargo:rerun-if-changed=/builds/psumbera/mozilla-central-build/obj-x86_64-pc-solaris2.11/dist/include/mozilla/TemplateLib.h
 8:40.34   cargo:rerun-if-changed=/usr/gcc/14/lib/gcc/x86_64-pc-solaris2.11/14.2.0/../../../../include/c++/14.2.0/type_traits
 8:40.34   cargo:rerun-if-changed=/usr/gcc/14/lib/gcc/x86_64-pc-solaris2.11/14.2.0/../../../../include/c++/14.2.0/utility
 8:40.34   cargo:rerun-if-changed=/builds/psumbera/mozilla-central-build/obj-x86_64-pc-solaris2.11/dist/include/mozilla/UniquePtr.h
 8:40.34   cargo:rerun-if-changed=/builds/psumbera/mozilla-central-build/obj-x86_64-pc-solaris2.11/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h
 8:40.34   cargo:rerun-if-changed=/usr/gcc/14/lib/gcc/x86_64-pc-solaris2.11/14.2.0/../../../../include/c++/14.2.0/cstddef
 8:40.34   cargo:rerun-if-changed=/usr/llvm/19/lib/amd64/clang/19/include/stdint.h
 8:40.34   --- stderr
 8:40.34   clang diag: /usr/llvm/19/lib/amd64/clang/19/include/__stddef_offsetof.h:16:24: warning: offset of on non-standard-layout type 'ArenaChunkBase' [-Winvalid-offsetof]
 8:40.34   thread 'main' panicked at third_party/rust/bindgen/ir/var.rs:323:25:
 8:40.34   Couldn't resolve constant type, and it wasn't an nondeductible auto type or unexposed type!
 8:40.34   stack backtrace:
 8:40.34      0:           0xd61985 - <unknown>
 8:40.34      1:           0xdc8990 - <unknown>
 8:40.34      2:           0xd652b4 - <unknown>
 8:40.34      3:           0xd61764 - <unknown>
 8:40.34      4:           0xd80fea - <unknown>
 8:40.34      5:           0xd80d06 - <unknown>
 8:40.34      6:           0xd8225e - <unknown>
 8:40.34      7:           0x97289c - <unknown>
 8:40.34      8:           0x9727d6 - <unknown>
 8:40.34      9:           0x8e0c9a - <unknown>
 8:40.34     10:           0x987597 - <unknown>
 8:40.34     11:           0x90b04f - <unknown>
 8:40.34     12:           0x93927e - <unknown>
 8:40.34     13:     0x7fdc0616d12f - <unknown>
 8:40.34     14:     0x7fdc0616d4c8 - <unknown>
 8:40.34     15:     0x7fdc0616da49 - <unknown>
 8:40.34     16:     0x7fdc0616c6f9 - <unknown>
 8:40.34     17:     0x7fdc0616cfa9 - <unknown>
 8:40.34     18:           0xb07b1d - <unknown>
 8:40.34     19:           0x936611 - <unknown>
 8:40.34     20:     0x7fdc0616d12f - <unknown>
 8:40.34     21:     0x7fdc0616d4c8 - <unknown>
 8:40.34     22:     0x7fdc0616da49 - <unknown>
 8:40.34     23:     0x7fdc0616cbf6 - <unknown>
 8:40.34     24:     0x7fdc0616cfa9 - <unknown>
 8:40.34     25:           0xb07b1d - <unknown>
 8:40.34     26:           0x92df59 - <unknown>
 8:40.34     27:           0x8a22e6 - <unknown>
 8:40.34     28:           0x888261 - <unknown>
 8:40.34     29:           0x8895d3 - <unknown>
 8:40.34     30:           0x888a89 - <unknown>
 8:40.34     31:           0xd810b7 - <unknown>
 8:40.34     32:           0xd5bfeb - <unknown>
 8:40.34     33:           0x8887fb - <unknown>
 8:40.34     34:           0x885ba3 - <unknown>
 8:40.34 warning: build failed, waiting for other jobs to finish...
Keywords: regression

The Bugbug bot thinks this bug should belong to the 'Firefox Build System::Toolchains' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Toolchains
Product: Firefox → Firefox Build System

The first bad revision is:
changeset: 772380:e8acbf46ade0
user: Jonathan Kew <jkew@mozilla.com>
date: Tue Feb 04 10:29:37 2025 -0800
description:
Bug 1945637 - Remove the separate 'normal' value of font-style types, as it is a synonym for 'oblique 0deg'; always serialize 'oblique 0deg' as 'normal'. r=firefox-style-system-reviewers,emilio

Component: Toolchains → Untriaged
Product: Firefox Build System → Firefox
Regressed by: 1945637

:jfkthame, since you are the author of the regressor, bug 1945637, could you take a look? Also, could you set the severity field?

For more information, please visit BugBot documentation.

Flags: needinfo?(jfkthame)
Component: Untriaged → General
Product: Firefox → Firefox Build System

The log excerpt in comment 1 doesn't seem to offer any clue as to what the troublesome symbol (variable or type) is, or point to a relevant source line... Petr, if you look either earlier or later in the log, can you find any further hints as to where it's failing? Unfortunately just the fact that it's hitting an assertion at rust/bindgen/ir/var.rs:323 doesn't really help me know what in the source is triggering this.

Interesting that it's apparently architecture-dependent:

Build on Solaris x86_64 fails (Solaris SPARC passes)

Do you have different rust and/or clang versions on the two architectures?

Flags: needinfo?(jfkthame) → needinfo?(petr.sumbera)

Ok this is problem on my side. Sorry for the noise! The problematic machine was updated to LLVM 19. While the working one still uses LLVM 13.

The issue is related to: https://bugzilla.mozilla.org/show_bug.cgi?id=1795899#c39

And I need to apply relevant patch or use old LLVM 13.

Status: UNCONFIRMED → RESOLVED
Closed: 1 month ago
Flags: needinfo?(petr.sumbera)
Resolution: --- → INVALID

Aha, I see - thanks for following up. So if it's related to a newer LLVM, we may end up encountering this across other platforms sometime soon, but I guess we'll deal with that if/when it happens.

If you do identify what's causing the issue, and come up with a reasonable (and backward-compatible) code patch that avoids the issue, perhaps we should go ahead and take it so that people can update LLVM without running into the problem. Or alternatively, is it possibly a bug/regression in LLVM that should be reported there?

This is probably only reproducible on Solaris due some specific header file contents. This is known to Emilio who is keeping it in mind via Bug 1795899.

Flags: needinfo?(emilio)

To be more precise. Used LLVM 19 was patches with the fix/workaround from Bug 1795899 but Mozilla sources didn't contain the other part of the fix.

It'd still be useful to know what in the regressing bug caused this tho, if you could.

Flags: needinfo?(emilio) → needinfo?(petr.sumbera)
Flags: needinfo?(petr.sumbera)
No longer regressed by: 1945637

Removed regression keyword. This problem was entirely caused by updating Clang from version 13 to 19 (patched for 1795899) on build system.

Not sure I can easily find regression for 1795899. E.g If there is some Mozilla commit which builds with Clang 19 (unpatched). If it's really important I can look at it.

You need to log in before you can comment on or make changes to this bug.