Skip to content

[llvm]Add a simple Telemetry framework #102323

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

Merged
merged 99 commits into from
Dec 20, 2024
Merged

[llvm]Add a simple Telemetry framework #102323

merged 99 commits into from
Dec 20, 2024

Conversation

oontvoo
Copy link
Member

@oontvoo oontvoo commented Aug 7, 2024

Objective:

  • Provide a common framework in LLVM for collecting various usage metrics
  • Characteristics:
  • Extensible and configurable by:
    - tools in LLVM that want to use it
    - vendors in their downstream codebase
    - tools users (as allowed by vendor)

Background:
The framework was originally proposed only for LLDB, but there were quite a few requests that it should be moved to llvm/lib given telemetry is a common usage to a lot of tools, not just LLDB.

See more details on the design and discussions here on the RFC: https://discourse.llvm.org/t/rfc-lldb-telemetry-metrics/64588/20?u=oontvoo

See also PR/98528 where the framework is extended and used.

Objective:
  - Provide a common framework in LLVM for collecting various usage metrics
  - Characteristics:
      + Extensible and configurable by:
          * tools in LLVM that want to use it
          * vendors in their downstream codebase
          * tools users (as allowed by vendor)

Background:
The framework was originally proposed only for LLDB, but there were quite a few requests
that it should be moved to llvm/lib given telemetry is a common usage to a lot of tools,
not just LLDB.

See more details on the design and discussions here on the RFC: https://discourse.llvm.org/t/rfc-lldb-telemetry-metrics/64588/20?u=oontvoo
@aeubanks
Copy link
Contributor

aeubanks commented Aug 7, 2024

some nits:

just [llvm] is enough in the commit title, no need for [lib]
this PR isn't Proposeing, it's adding
commit titles should not end with a period

I think I'm missing the background to properly review the contents of this

@oontvoo oontvoo changed the title [llvm][lib]Propose a simple Telemetry framework. [llvm]Add a simple Telemetry framework Aug 7, 2024
@tschuett
Copy link

tschuett commented Aug 7, 2024

Please follow https://llvm.org/docs/CodingStandards.html#name-types-functions-variables-and-enumerators-properly.
Tests and/or a user would help us to better understand the intent.

@oontvoo oontvoo requested a review from jh7370 August 8, 2024 14:21
@oontvoo
Copy link
Member Author

oontvoo commented Aug 8, 2024

@jh7370 Here's the patch adding Telemetry as a common llvm framework that you'd requested. Please review. Thanks

@oontvoo
Copy link
Member Author

oontvoo commented Aug 8, 2024

Please follow https://llvm.org/docs/CodingStandards.html#name-types-functions-variables-and-enumerators-properly. Tests and/or a user would help us to better understand the intent.

Again, as mentioned there is NO current user of this - but it will be used by LLDB (see attached patch on my first comment), along with the RFC. I think that should be sufficient to demonstrate how this can be used.

@tschuett
Copy link

tschuett commented Aug 8, 2024

There are no contributions without tests.

@jh7370
Copy link
Collaborator

jh7370 commented Aug 9, 2024

@jh7370 Here's the patch adding Telemetry as a common llvm framework that you'd requested. Please review. Thanks

I'll try to find time next week to take a look at this.

@jh7370
Copy link
Collaborator

jh7370 commented Aug 16, 2024

Sorry, I haven't got around to looking at this yet: I've got some fires in my main line of work to deal with before I can sink my teeth into this.

Copy link
Collaborator

@jh7370 jh7370 left a comment

Choose a reason for hiding this comment

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

As noted elsewhere, please redo all your variable and function names to conform with the coding standards. It's surprisingly distracting having them wrong! Also, please reflow your comments to properly use the 80 character width, as it makes it a little harder to read when they are broken at somewhat arbitrary lengths.

To help reviewers, could you add some comments (potentially doxygen style) to the classes that you've added that describe their intended purpose, along with possibly a top-level comment highlighting the overall structure and how a tool might use this telemetry code - I'm aware that some of this is in the RFC, but ultimately people won't want to have to refer to an old RFC thread to discuss this. It might be even best to put the overall design and usage description under the llvm/docs folder.

I think you need at least one concrete implementation that can be used to write to a raw_ostream instance, which can be used for unit testing, and which helps to illustrate the interface.

virtual std::string name() const = 0;
};

class Telemeter {
Copy link
Collaborator

Choose a reason for hiding this comment

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

This is a weird name. Could you try to use English names only, please.

Copy link
Member Author

@oontvoo oontvoo Aug 21, 2024

Choose a reason for hiding this comment

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

It is English, AFAIK. https://www.oxfordlearnersdictionaries.com/us/definition/english/telemeter_2

P.S: Basically means a device for recording & sending telemetry, which is the appropriate name for this class

Copy link
Collaborator

Choose a reason for hiding this comment

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

Shows what I know 😄

Not sure it's a well-known word though, so it doesn't really help convey meaning though, which is the key thing.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Please don't resolve conversations I've been involved with (see https://discourse.llvm.org/t/rfc-github-pr-resolve-conversation-button/73178 for a lengthy discussion). I'll resolve these when I'm happy with the resolution. In particular, as noted, I don't think the name "Telemeter" is going to convey the meaning clearly enough. Furthermore, as noted earlier, having all the classes prefixed with Telemetry in their name seems unnecessary, given their presence in the telemetry namespace. Could they simply be called Destination, Config, Event etc?

Copy link
Member Author

@oontvoo oontvoo Sep 3, 2024

Choose a reason for hiding this comment

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

I've renamed the Destiantion, Config, etc to get rid of the prefix.

What are your suggestions for alternatives for Telemeter?
(prefer something that does not have Log or Logger in it - as someone pointed out it might cause confusions)

Copy link
Member Author

Choose a reason for hiding this comment

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

P.S: How about TelemetryCollector?
(It doesn't fully communicate the aspect of "also transmitting the collected data" which Telemeter does, but I suppose that's close enough)

Copy link
Member

Choose a reason for hiding this comment

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

FWIW, I had a similar reaction as @jh7370 when I saw the class name. Without the Telemetry prefix, it seems reasonable to use that as the class name? That seems to convey everything the class is doing.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I would go with Session, personally, because the class seems to most closely resemble our same-named class in our downstream implementation. I'd love to avoid Collector, mostly because for us our "telemetry collector" is actually a separate executable that monitors the file system for telemetry data files created by the individual tools, before forwarding that data onto the servers (in a roundabout way it actually does what this class is trying to do, just at a different point in the process, but I digress...)! However, neither of these points are especially strong, given they're more to do with how our downstream implementation works.

I see this class as being the thing that a) receives the user-created configuration data, b) receives the telemetry data, c) does things related to setup and teardown of the telemetry system. It then forwards that data onto the Destinations and generally manages things to do with telemetry. I therefore could be persuaded by Session, Manager, Service or even System.

Copy link
Member

Choose a reason for hiding this comment

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

I like Session, assuming this class is responsible for generating/storing the unique session ID. I would imagine in LLDB a session is created during Initialization and cleaned up during Termination.

Copy link
Member Author

Choose a reason for hiding this comment

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

(I believe this is resolved - we've agreed to name it telemetry::Manager)

@oontvoo
Copy link
Member Author

oontvoo commented Aug 29, 2024

Please follow https://llvm.org/docs/CodingStandards.html#name-types-functions-variables-and-enumerators-properly. Tests and/or a user would help us to better understand the intent.

Added the set of tests. PTAL.

Copy link

github-actions bot commented Aug 29, 2024

✅ With the latest revision this PR passed the C/C++ code formatter.

 - simplified tests + add more test to cover write(Key, Map)
 - make dispatch virtual with default impl, add an additional preDispatch
 - move Destination list management to base Manager
Copy link
Collaborator

@jh7370 jh7370 left a comment

Choose a reason for hiding this comment

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

I'm happy enough with the current state for this to be landed. We can iterate further after it's in tree, should we feel the need to.

I've got a final couple of comments, but neither of them are essential.

It might be worth getting another LLDB person to sign off, but I'll leave you to judge that.

using Enable_If_Map =
std::enable_if_t<Is_DenseMap<T>::value || Is_StdMap<T>::value>;

template <typename T, typename = Enable_If_Map<T>>
Copy link
Collaborator

Choose a reason for hiding this comment

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

I had a look, and it might be enough to just do typename = typename T::mapped_type instead of the Enable_if_Map template argument, to cover all map types (or more generally any type with a mapped_type sub-type.

I believe you can further restrict it to map types that reference a serializable type, as we have similar code in our codebase to achieve this. Loosely adapted, the code looks like this:


class Serializer;

// Provide a base definition for IsSerializableType which is "false".
template <typename T, typename SerializerTy = Serializer,
          typename = std::true_type>
struct IsSerializableType : std::false_type {};

// Specialize the template to provide a true_type instead, if the input type can be
// passed as the second argument to a write method of a SerializerTy& with
// StringRef first argument.
template <typename T, typename SerializerTy>
struct IsSerializableType<
    T, SerializerTy,
    typename std::is_same<decltype(std::declval<SerializerTy &>().write(
                              std::declval<StringRef>(), std::declval<T>())),
                          void>::type> : std::true_type {};

Putting these together, the following might work, although I haven't rigorously tested it:

template <typename T, typename MappedType = typename T::mapped_type, typename = std::enable_if_t<IsSerializableType<typename MappedType>::value>>
void write(StringRef KeyName, const T &Map) {
  // ...
}

Copy link
Collaborator

Choose a reason for hiding this comment

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

+1 for using mapped_type. I probably wouldn't bother checking that its serializable and just let the user get a compile error on the write(key, mapped_type()) call

Copy link
Member Author

Choose a reason for hiding this comment

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

done - i've removed all the complex enable_if with the simple mapped_type restriction.

Copy link
Collaborator

@labath labath left a comment

Choose a reason for hiding this comment

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

I can be the "lldb person" :)

virtual void beginObject(StringRef KeyName) = 0;
virtual void endObject() = 0;

template <typename T>
Copy link
Collaborator

Choose a reason for hiding this comment

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

Move these helpers (if you do end up having them) into a private: block.

using Enable_If_Map =
std::enable_if_t<Is_DenseMap<T>::value || Is_StdMap<T>::value>;

template <typename T, typename = Enable_If_Map<T>>
Copy link
Collaborator

Choose a reason for hiding this comment

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

+1 for using mapped_type. I probably wouldn't bother checking that its serializable and just let the user get a compile error on the write(key, mapped_type()) call

Comment on lines 42 to 43
virtual void beginObject(StringRef KeyName) = 0;
virtual void endObject() = 0;
Copy link
Collaborator

Choose a reason for hiding this comment

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

Question (for both of you) do you want begin/end object to be public, or should it be a private interface, accessible only through the map wrapper?

Copy link
Member Author

Choose a reason for hiding this comment

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

I think it should be public to allow for nesting objects.
Eg.,

s.beginObject("Parent");
s.beginObject("Child");
s.write("ChildAge", 100);
s.beginObject("GrandChild");
s.write("GrandKidAage", 10);
s.endObject();
s.endObject();
....

Copy link
Collaborator

Choose a reason for hiding this comment

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

Makes sense. Some of that could be achieved through types like map<string, map<string, ??>>, but this is definitely more flexible. (At the cost of potentially forgetting to call endObject, but if needed, we could solve that with a scoped RAII helper.)

Copy link
Member Author

Choose a reason for hiding this comment

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

I have an assert in the finalize() call to make sure all children have been "ended" properly.

Comment on lines 31 to 33
virtual void write(StringRef KeyName, bool Value) = 0;
virtual void write(StringRef KeyName, int Value) = 0;
virtual void write(StringRef KeyName, size_t Value) = 0;
virtual void write(StringRef KeyName, unsigned long long Value) = 0;
Copy link
Collaborator

Choose a reason for hiding this comment

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

Just repinging my idea for redirecting everything to two overloads (for signed vs. unsigned). (Doing that because you seems to have converged on something similar for map types as well).

Comment on lines 99 to 100
if (T == nullptr)
return false;
Copy link
Collaborator

Choose a reason for hiding this comment

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

I still believe there shouldn't be a null check here. we have llvm::(dyn_)cast*_if_present* for that.

oontvoo and others added 5 commits December 20, 2024 09:08
Co-authored-by: Pavel Labath <pavel@labath.sk>
Co-authored-by: Pavel Labath <pavel@labath.sk>
 - combine all the write(int-variants) into one (pavel's suggestion)
 - replace the complex enable_if logic with simply mapped_type and let users deal with compile errors if mis-use
@oontvoo oontvoo merged commit 8c00900 into llvm:main Dec 20, 2024
9 checks passed
@llvm-ci
Copy link
Collaborator

llvm-ci commented Dec 20, 2024

LLVM Buildbot has detected a new failure on builder flang-aarch64-latest-gcc running on linaro-flang-aarch64-latest-gcc while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/130/builds/7860

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
3.748 [6623/33/665] Building arm_cde.h...
3.749 [6623/32/666] Building arm_vector_types.h...
3.750 [6623/31/667] Building CXX object tools/llvm-diff/lib/CMakeFiles/obj.LLVMDiff.dir/DiffConsumer.cpp.o
3.751 [6623/30/668] Building CXX object tools/llvm-diff/lib/CMakeFiles/obj.LLVMDiff.dir/DifferenceEngine.cpp.o
3.752 [6623/29/669] Building CXX object tools/llvm-diff/lib/CMakeFiles/obj.LLVMDiff.dir/DiffLog.cpp.o
3.752 [6623/28/670] Building arm_neon.h...
3.753 [6623/27/671] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/CodeTemplate.cpp.o
3.754 [6623/26/672] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/Error.cpp.o
3.763 [6623/25/673] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/PerfHelper.cpp.o
3.763 [6623/24/674] Linking CXX shared library lib/libLLVMTelemetry.so.20.0git
FAILED: lib/libLLVMTelemetry.so.20.0git 
: && /usr/local/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-latest-gcc/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libLLVMTelemetry.so.20.0git -o lib/libLLVMTelemetry.so.20.0git lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:" && :
/usr/bin/ld: lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o: in function `llvm::ErrorList::join(llvm::Error, llvm::Error)':
Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0xb8): undefined reference to `llvm::ErrorList::ID'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0xbc): undefined reference to `llvm::ErrorList::ID'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0xec): undefined reference to `llvm::ErrorList::ID'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0xf0): undefined reference to `llvm::ErrorList::ID'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0x1bc): undefined reference to `vtable for llvm::ErrorList'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0x1c0): undefined reference to `vtable for llvm::ErrorList'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0x1d0): undefined reference to `llvm::ErrorList::ID'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0x1d4): undefined reference to `llvm::ErrorList::ID'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0x208): undefined reference to `llvm::ErrorList::ID'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0x20c): undefined reference to `llvm::ErrorList::ID'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0x2a8): undefined reference to `llvm::ErrorList::ID'
/usr/bin/ld: lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0x2ac): more undefined references to `llvm::ErrorList::ID' follow
/usr/bin/ld: lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o: in function `llvm::telemetry::Manager::dispatch(llvm::telemetry::TelemetryInfo*) [clone .localalias]':
Telemetry.cpp:(.text._ZN4llvm9telemetry7Manager8dispatchEPNS0_13TelemetryInfoE+0x1a8): undefined reference to `llvm::Error::fatalUncheckedError() const'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9telemetry7Manager8dispatchEPNS0_13TelemetryInfoE+0x1bc): undefined reference to `llvm::Error::fatalUncheckedError() const'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9telemetry7Manager8dispatchEPNS0_13TelemetryInfoE+0x1c4): undefined reference to `llvm::Error::fatalUncheckedError() const'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9telemetry7Manager8dispatchEPNS0_13TelemetryInfoE+0x1cc): undefined reference to `llvm::Error::fatalUncheckedError() const'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9telemetry7Manager8dispatchEPNS0_13TelemetryInfoE+0x1d4): undefined reference to `llvm::Error::fatalUncheckedError() const'
collect2: error: ld returned 1 exit status
3.773 [6623/23/675] Linking CXX executable bin/llvm-tblgen
3.774 [6623/22/676] Building riscv_vector_builtin_cg.inc...
3.783 [6623/21/677] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/Analysis.cpp.o
3.784 [6623/20/678] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/DisassemblerHelper.cpp.o
3.788 [6623/19/679] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/Clustering.cpp.o
3.790 [6623/18/680] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/BenchmarkResult.cpp.o
3.792 [6623/17/681] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/MCInstrDescView.cpp.o
../llvm-project/llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp: In static member function ‘static std::unique_ptr<llvm::exegesis::Instruction> llvm::exegesis::Instruction::create(const llvm::MCInstrInfo&, const llvm::exegesis::RegisterAliasingTrackerCache&, const llvm::exegesis::BitVectorCache&, unsigned int)’:
../llvm-project/llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp:114:17: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  114 |     const auto &OpInfo = Description->operands()[OpIndex];
      |                 ^~~~~~
../llvm-project/llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp:114:57: note: the temporary was destroyed at the end of the full expression ‘((const llvm::MCInstrDesc*)Description)->llvm::MCInstrDesc::operands().llvm::ArrayRef<llvm::MCOperandInfo>::operator[](((size_t)OpIndex))’
  114 |     const auto &OpInfo = Description->operands()[OpIndex];
      |                                                         ^
3.793 [6623/16/682] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/Assembler.cpp.o
3.794 [6623/15/683] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/RegisterValue.cpp.o
3.798 [6623/14/684] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/obj.LLVMExegesis.dir/RegisterAliasing.cpp.o

@llvm-ci
Copy link
Collaborator

llvm-ci commented Dec 20, 2024

LLVM Buildbot has detected a new failure on builder llvm-nvptx64-nvidia-ubuntu running on as-builder-7 while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/160/builds/10454

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
0.592 [2384/5/314] Linking CXX shared library lib/libLLVMTableGen.so.20.0git
0.613 [2383/5/315] Creating library symlink lib/libLLVMTableGen.so
0.614 [2381/6/316] Linking CXX shared library lib/libLLVMDebugInfoCodeView.so.20.0git
0.634 [2380/6/317] Creating library symlink lib/libLLVMDebugInfoCodeView.so
0.659 [2380/5/318] Linking CXX executable bin/FileCheck
0.679 [2380/4/319] Linking CXX shared library lib/libLLVMTableGenBasic.so.20.0git
0.692 [2379/4/320] Linking CXX executable bin/llvm-min-tblgen
0.699 [2379/3/321] Creating library symlink lib/libLLVMTableGenBasic.so
2.431 [2379/2/322] Building CXX object lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o
2.491 [2378/2/323] Linking CXX shared library lib/libLLVMTelemetry.so.20.0git
FAILED: lib/libLLVMTelemetry.so.20.0git 
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete -fuse-ld=gold   -Wl,--gc-sections -shared -Wl,-soname,libLLVMTelemetry.so.20.0git -o lib/libLLVMTelemetry.so.20.0git lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:" && :
lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:Telemetry.cpp:function llvm::ErrorList::join(llvm::Error, llvm::Error): error: undefined reference to 'llvm::ErrorList::ID'
lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:Telemetry.cpp:function llvm::ErrorList::join(llvm::Error, llvm::Error): error: undefined reference to 'vtable for llvm::ErrorList'
/usr/bin/ld.gold: the vtable symbol may be undefined because the class is missing its key function
lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:Telemetry.cpp:function llvm::ErrorList::join(llvm::Error, llvm::Error): error: undefined reference to 'llvm::ErrorList::ID'
lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:Telemetry.cpp:function llvm::telemetry::Manager::dispatch(llvm::telemetry::TelemetryInfo*) [clone .localalias]: error: undefined reference to 'llvm::Error::fatalUncheckedError() const'
lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:Telemetry.cpp:function llvm::telemetry::Manager::dispatch(llvm::telemetry::TelemetryInfo*) [clone .localalias]: error: undefined reference to 'llvm::Error::fatalUncheckedError() const'
lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:Telemetry.cpp:function llvm::telemetry::Manager::dispatch(llvm::telemetry::TelemetryInfo*) [clone .localalias]: error: undefined reference to 'llvm::Error::fatalUncheckedError() const'
lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:Telemetry.cpp:function llvm::telemetry::Manager::dispatch(llvm::telemetry::TelemetryInfo*) [clone .localalias]: error: undefined reference to 'llvm::Error::fatalUncheckedError() const'
collect2: error: ld returned 1 exit status
18.146 [2378/1/324] Configuring NATIVE LLVM...
-- The C compiler identification is GNU 11.4.0
-- The CXX compiler identification is GNU 11.4.0
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/cc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- bolt project is disabled
-- clang project is disabled
-- clang-tools-extra project is disabled
-- compiler-rt project is disabled
-- cross-project-tests project is disabled
-- libc project is disabled
-- libclc project is disabled
-- lld project is disabled
-- lldb project is disabled
-- mlir project is disabled
-- openmp project is disabled
-- polly project is disabled
-- pstl project is disabled

@llvm-ci
Copy link
Collaborator

llvm-ci commented Dec 20, 2024

LLVM Buildbot has detected a new failure on builder flang-aarch64-libcxx running on linaro-flang-aarch64-libcxx while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/89/builds/13167

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
5.352 [6665/15/625] Building CXX object lib/DebugInfo/BTF/CMakeFiles/LLVMDebugInfoBTF.dir/BTFContext.cpp.o
5.353 [6665/14/626] Building CXX object lib/ExecutionEngine/Orc/Shared/CMakeFiles/LLVMOrcShared.dir/AllocationActions.cpp.o
5.354 [6665/13/627] Building CXX object lib/ExecutionEngine/Orc/Shared/CMakeFiles/LLVMOrcShared.dir/MachOObjectFormat.cpp.o
5.355 [6665/12/628] Building CXX object lib/ExecutionEngine/Orc/Shared/CMakeFiles/LLVMOrcShared.dir/ObjectFormats.cpp.o
5.356 [6665/11/629] Building CXX object lib/ExecutionEngine/Orc/Shared/CMakeFiles/LLVMOrcShared.dir/OrcError.cpp.o
5.357 [6665/10/630] Building CXX object lib/ExecutionEngine/Orc/Shared/CMakeFiles/LLVMOrcShared.dir/OrcRTBridge.cpp.o
5.358 [6665/9/631] Building CXX object lib/ExecutionEngine/Orc/Shared/CMakeFiles/LLVMOrcShared.dir/SimpleRemoteEPCUtils.cpp.o
5.359 [6665/8/632] Building CXX object lib/ExecutionEngine/Orc/Shared/CMakeFiles/LLVMOrcShared.dir/SymbolStringPool.cpp.o
5.360 [6665/7/633] Linking CXX shared library lib/libLLVMTableGenCommon.so.20.0git
5.360 [6665/6/634] Linking CXX shared library lib/libLLVMTelemetry.so.20.0git
FAILED: lib/libLLVMTelemetry.so.20.0git 
: && /usr/local/bin/c++ -fPIC -stdlib=libc++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -stdlib=libc++ -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libLLVMTelemetry.so.20.0git -o lib/libLLVMTelemetry.so.20.0git lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:" && :
/usr/bin/ld: lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o: in function `llvm::telemetry::Manager::dispatch(llvm::telemetry::TelemetryInfo*)':
Telemetry.cpp:(.text._ZN4llvm9telemetry7Manager8dispatchEPNS0_13TelemetryInfoE+0x1a4): undefined reference to `llvm::Error::fatalUncheckedError() const'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9telemetry7Manager8dispatchEPNS0_13TelemetryInfoE+0x1b0): undefined reference to `llvm::Error::fatalUncheckedError() const'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9telemetry7Manager8dispatchEPNS0_13TelemetryInfoE+0x1bc): undefined reference to `llvm::Error::fatalUncheckedError() const'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9telemetry7Manager8dispatchEPNS0_13TelemetryInfoE+0x1c4): undefined reference to `llvm::Error::fatalUncheckedError() const'
/usr/bin/ld: lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o: in function `llvm::ErrorList::join(llvm::Error, llvm::Error)':
Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0x64): undefined reference to `llvm::ErrorList::ID'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0x6c): undefined reference to `llvm::ErrorList::ID'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0x90): undefined reference to `llvm::ErrorList::ID'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0x98): undefined reference to `llvm::ErrorList::ID'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0x144): undefined reference to `llvm::ErrorList::ID'
/usr/bin/ld: lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0x14c): more undefined references to `llvm::ErrorList::ID' follow
/usr/bin/ld: lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o: in function `llvm::ErrorList::join(llvm::Error, llvm::Error)':
Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0x1bc): undefined reference to `vtable for llvm::ErrorList'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0x1c0): undefined reference to `vtable for llvm::ErrorList'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0x1e8): undefined reference to `llvm::ErrorList::ID'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0x1fc): undefined reference to `llvm::ErrorList::ID'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0x20c): undefined reference to `llvm::ErrorList::ID'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0x218): undefined reference to `llvm::ErrorList::ID'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
5.361 [6665/5/635] Building CXX object tools/opt/CMakeFiles/obj.LLVMOptDriver.dir/NewPMDriver.cpp.o
5.364 [6665/4/636] Building CXX object tools/opt/CMakeFiles/obj.LLVMOptDriver.dir/optdriver.cpp.o
5.479 [6665/3/637] Linking CXX executable bin/llvm-tblgen
5.490 [6665/2/638] Linking CXX executable bin/mlir-tblgen
6.300 [6665/1/639] Building AArch64TargetParserDef.inc...
ninja: build stopped: subcommand failed.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Dec 20, 2024

LLVM Buildbot has detected a new failure on builder llvm-nvptx-nvidia-ubuntu running on as-builder-7 while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/180/builds/10452

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
0.574 [2384/5/314] Linking CXX shared library lib/libLLVMTableGen.so.20.0git
0.594 [2383/5/315] Creating library symlink lib/libLLVMTableGen.so
0.595 [2381/6/316] Linking CXX shared library lib/libLLVMDebugInfoCodeView.so.20.0git
0.615 [2380/6/317] Creating library symlink lib/libLLVMDebugInfoCodeView.so
0.639 [2380/5/318] Linking CXX executable bin/FileCheck
0.661 [2380/4/319] Linking CXX shared library lib/libLLVMTableGenBasic.so.20.0git
0.673 [2379/4/320] Linking CXX executable bin/llvm-min-tblgen
0.681 [2379/3/321] Creating library symlink lib/libLLVMTableGenBasic.so
2.317 [2379/2/322] Building CXX object lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o
2.378 [2378/2/323] Linking CXX shared library lib/libLLVMTelemetry.so.20.0git
FAILED: lib/libLLVMTelemetry.so.20.0git 
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete -fuse-ld=gold   -Wl,--gc-sections -shared -Wl,-soname,libLLVMTelemetry.so.20.0git -o lib/libLLVMTelemetry.so.20.0git lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:" && :
lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:Telemetry.cpp:function llvm::ErrorList::join(llvm::Error, llvm::Error): error: undefined reference to 'llvm::ErrorList::ID'
lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:Telemetry.cpp:function llvm::ErrorList::join(llvm::Error, llvm::Error): error: undefined reference to 'vtable for llvm::ErrorList'
/usr/bin/ld.gold: the vtable symbol may be undefined because the class is missing its key function
lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:Telemetry.cpp:function llvm::ErrorList::join(llvm::Error, llvm::Error): error: undefined reference to 'llvm::ErrorList::ID'
lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:Telemetry.cpp:function llvm::telemetry::Manager::dispatch(llvm::telemetry::TelemetryInfo*) [clone .localalias]: error: undefined reference to 'llvm::Error::fatalUncheckedError() const'
lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:Telemetry.cpp:function llvm::telemetry::Manager::dispatch(llvm::telemetry::TelemetryInfo*) [clone .localalias]: error: undefined reference to 'llvm::Error::fatalUncheckedError() const'
lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:Telemetry.cpp:function llvm::telemetry::Manager::dispatch(llvm::telemetry::TelemetryInfo*) [clone .localalias]: error: undefined reference to 'llvm::Error::fatalUncheckedError() const'
lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:Telemetry.cpp:function llvm::telemetry::Manager::dispatch(llvm::telemetry::TelemetryInfo*) [clone .localalias]: error: undefined reference to 'llvm::Error::fatalUncheckedError() const'
collect2: error: ld returned 1 exit status
18.312 [2378/1/324] Configuring NATIVE LLVM...
-- The C compiler identification is GNU 11.4.0
-- The CXX compiler identification is GNU 11.4.0
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/cc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- bolt project is disabled
-- clang project is disabled
-- clang-tools-extra project is disabled
-- compiler-rt project is disabled
-- cross-project-tests project is disabled
-- libc project is disabled
-- libclc project is disabled
-- lld project is disabled
-- lldb project is disabled
-- mlir project is disabled
-- openmp project is disabled
-- polly project is disabled
-- pstl project is disabled

oontvoo added a commit that referenced this pull request Dec 20, 2024
oontvoo added a commit that referenced this pull request Dec 20, 2024
@oontvoo
Copy link
Member Author

oontvoo commented Dec 20, 2024

(already reverted - Will look at the build failures and rollforward)

@llvm-ci
Copy link
Collaborator

llvm-ci commented Dec 20, 2024

LLVM Buildbot has detected a new failure on builder sanitizer-aarch64-linux running on sanitizer-buildbot7 while building llvm at step 2 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/51/builds/8062

Here is the relevant piece of the build log for the reference
Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure)
...
[450/5365] Building arm_sme.h...
[451/5365] Linking CXX static library lib/libLLVMFrontendOpenACC.a
[452/5365] Building DiagnosticIndexName.inc...
[453/5365] Building DiagnosticDriverKinds.inc...
[454/5365] Building DiagnosticCrossTUKinds.inc...
[455/5365] Building AttrPCHWrite.inc...
[456/5365] Building arm_vector_types.h...
[457/5365] Linking CXX static library lib/libLLVMCodeGenTypes.a
[458/5365] Building AttrParsedAttrImpl.inc...
[459/5365] Building CXX object lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o
FAILED: lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /home/b/sanitizer-aarch64-linux/build/llvm_build0/bin/clang++ -DGTEST_HAS_RTTI=0 -DLLVM_EXPORTS -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/b/sanitizer-aarch64-linux/build/build_default/lib/Telemetry -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Telemetry -I/home/b/sanitizer-aarch64-linux/build/build_default/include -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o -MF lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o.d -o lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o -c /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Telemetry/Telemetry.cpp
In file included from /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Telemetry/Telemetry.cpp:1:
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include/llvm/Telemetry/Telemetry.h:31:7: error: 'llvm::telemetry::Serializer' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor]
   31 | class Serializer {
      |       ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include/llvm/Telemetry/Telemetry.h:72:8: error: 'llvm::telemetry::Config' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor]
   72 | struct Config {
      |        ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include/llvm/Telemetry/Telemetry.h:141:7: error: 'llvm::telemetry::Manager' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor]
  141 | class Manager {
      |       ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Telemetry/Telemetry.cpp:12:12: error: moving a local object in a return statement prevents copy elision [-Werror,-Wpessimizing-move]
   12 |     return std::move(Err);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Telemetry/Telemetry.cpp:12:12: note: remove std::move call here
   12 |     return std::move(Err);
      |            ^~~~~~~~~~   ~
4 errors generated.
[460/5365] Building arm_sve_builtin_cg.inc...
[461/5365] Building riscv_vector.h...
[462/5365] Building arm_sve_builtins.inc...
[463/5365] Building arm_neon.h...
[464/5365] Building arm_mve.h...
[465/5365] Building arm_sve.h...
[466/5365] Building IntrinsicsAMDGPU.h...
[467/5365] Building IntrinsicsLoongArch.h...
[468/5365] Building IntrinsicsPowerPC.h...
[469/5365] Building IntrinsicsX86.h...
[470/5365] Building IntrinsicsSPIRV.h...
[471/5365] Building IntrinsicImpl.inc...
[472/5365] Building IntrinsicsMips.h...
[473/5365] Building IntrinsicsVE.h...
[474/5365] Building IntrinsicsNVPTX.h...
[475/5365] Building IntrinsicsRISCV.h...
[476/5365] Building riscv_vector_builtins.inc...
[477/5365] Building IntrinsicsARM.h...
[478/5365] Building IntrinsicsAArch64.h...
[479/5365] Building IntrinsicsHexagon.h...
Step 8 (build compiler-rt symbolizer) failure: build compiler-rt symbolizer (failure)
...
[450/5365] Building arm_sme.h...
[451/5365] Linking CXX static library lib/libLLVMFrontendOpenACC.a
[452/5365] Building DiagnosticIndexName.inc...
[453/5365] Building DiagnosticDriverKinds.inc...
[454/5365] Building DiagnosticCrossTUKinds.inc...
[455/5365] Building AttrPCHWrite.inc...
[456/5365] Building arm_vector_types.h...
[457/5365] Linking CXX static library lib/libLLVMCodeGenTypes.a
[458/5365] Building AttrParsedAttrImpl.inc...
[459/5365] Building CXX object lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o
FAILED: lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /home/b/sanitizer-aarch64-linux/build/llvm_build0/bin/clang++ -DGTEST_HAS_RTTI=0 -DLLVM_EXPORTS -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/b/sanitizer-aarch64-linux/build/build_default/lib/Telemetry -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Telemetry -I/home/b/sanitizer-aarch64-linux/build/build_default/include -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o -MF lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o.d -o lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o -c /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Telemetry/Telemetry.cpp
In file included from /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Telemetry/Telemetry.cpp:1:
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include/llvm/Telemetry/Telemetry.h:31:7: error: 'llvm::telemetry::Serializer' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor]
   31 | class Serializer {
      |       ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include/llvm/Telemetry/Telemetry.h:72:8: error: 'llvm::telemetry::Config' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor]
   72 | struct Config {
      |        ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include/llvm/Telemetry/Telemetry.h:141:7: error: 'llvm::telemetry::Manager' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor]
  141 | class Manager {
      |       ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Telemetry/Telemetry.cpp:12:12: error: moving a local object in a return statement prevents copy elision [-Werror,-Wpessimizing-move]
   12 |     return std::move(Err);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Telemetry/Telemetry.cpp:12:12: note: remove std::move call here
   12 |     return std::move(Err);
      |            ^~~~~~~~~~   ~
4 errors generated.
[460/5365] Building arm_sve_builtin_cg.inc...
[461/5365] Building riscv_vector.h...
[462/5365] Building arm_sve_builtins.inc...
[463/5365] Building arm_neon.h...
[464/5365] Building arm_mve.h...
[465/5365] Building arm_sve.h...
[466/5365] Building IntrinsicsAMDGPU.h...
[467/5365] Building IntrinsicsLoongArch.h...
[468/5365] Building IntrinsicsPowerPC.h...
[469/5365] Building IntrinsicsX86.h...
[470/5365] Building IntrinsicsSPIRV.h...
[471/5365] Building IntrinsicImpl.inc...
[472/5365] Building IntrinsicsMips.h...
[473/5365] Building IntrinsicsVE.h...
[474/5365] Building IntrinsicsNVPTX.h...
[475/5365] Building IntrinsicsRISCV.h...
[476/5365] Building riscv_vector_builtins.inc...
[477/5365] Building IntrinsicsARM.h...
[478/5365] Building IntrinsicsAArch64.h...
[479/5365] Building IntrinsicsHexagon.h...
Step 9 (test compiler-rt symbolizer) failure: test compiler-rt symbolizer (failure)
...
+ for F in $CC $CXX $TBLGEN $LINK $OPT $AR
+ [[ ! -x /home/b/sanitizer-aarch64-linux/build/build_default/bin/clang++ ]]
+ for F in $CC $CXX $TBLGEN $LINK $OPT $AR
+ [[ ! -x /home/b/sanitizer-aarch64-linux/build/build_default/bin/llvm-tblgen ]]
+ for F in $CC $CXX $TBLGEN $LINK $OPT $AR
+ [[ ! -x /home/b/sanitizer-aarch64-linux/build/build_default/bin/llvm-link ]]
+ echo 'Missing /home/b/sanitizer-aarch64-linux/build/build_default/bin/llvm-link'
+ exit 1
Missing /home/b/sanitizer-aarch64-linux/build/build_default/bin/llvm-link
[1259/1946] Building CXX object compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.aarch64.dir/sanitizer_unwind_fuchsia.cpp.o
FAILED: compiler-rt/lib/sanitizer_common/symbolizer/RTSanitizerCommonSymbolizerInternal.aarch64.o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/sanitizer_common/symbolizer/RTSanitizerCommonSymbolizerInternal.aarch64.o 
cd /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/sanitizer_common/symbolizer/RTSanitizerCommonSymbolizerInternal.aarch64 && FLAGS=-march=armv8-a CLANG=/home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/lib/sanitizer_common/symbolizer/RTSanitizerCommonSymbolizerInternal.aarch64.o
[1261/1946] Building CXX object compiler-rt/lib/interception/CMakeFiles/RTInterception.aarch64.dir/interception_linux.cpp.o
[1262/1946] Building CXX object compiler-rt/lib/interception/CMakeFiles/RTInterception.aarch64.dir/interception_mac.cpp.o
[1263/1946] Building CXX object compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.aarch64.dir/sanitizer_symbolizer_markup.cpp.o
[1264/1946] Building CXX object compiler-rt/lib/interception/CMakeFiles/RTInterception.aarch64.dir/interception_win.cpp.o
[1265/1946] Building CXX object compiler-rt/lib/interception/CMakeFiles/RTInterception.aarch64.dir/interception_type_test.cpp.o
[1266/1946] Building CXX object compiler-rt/lib/stats/CMakeFiles/clang_rt.stats_client-aarch64.dir/stats_client.cpp.o
[1267/1946] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/hash.cpp.o
[1268/1946] Building CXX object compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.aarch64.dir/sanitizer_unwind_linux_libcdep.cpp.o
[1269/1946] Building CXX object compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.aarch64.dir/sanitizer_thread_history.cpp.o
[1270/1946] Building CXX object compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.aarch64.dir/sanitizer_stack_store.cpp.o
[1271/1946] Building CXX object compiler-rt/lib/lsan/CMakeFiles/RTLSanCommon.aarch64.dir/lsan_common_fuchsia.cpp.o
[1272/1946] Building CXX object compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.aarch64.dir/sanitizer_symbolizer_libcdep.cpp.o
[1273/1946] Building CXX object compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.aarch64.dir/sanitizer_symbolizer_report.cpp.o
[1274/1946] Building CXX object libcxx/src/CMakeFiles/cxx_shared.dir/random_shuffle.cpp.o
[1275/1946] Building CXX object compiler-rt/lib/stats/CMakeFiles/clang_rt.stats-aarch64.dir/stats.cpp.o
[1276/1946] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/charconv.cpp.o
[1277/1946] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/system_error.cpp.o
[1278/1946] Building CXX object compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.aarch64.dir/sanitizer_symbolizer_posix_libcdep.cpp.o
[1279/1946] Building CXX object libcxx/src/CMakeFiles/cxx_shared.dir/charconv.cpp.o
[1280/1946] Building CXX object libcxx/src/CMakeFiles/cxx_shared.dir/random.cpp.o
[1281/1946] Building CXX object libcxx/src/CMakeFiles/cxx_shared.dir/filesystem/filesystem_error.cpp.o
[1282/1946] Building CXX object libcxx/src/CMakeFiles/cxx_shared.dir/fstream.cpp.o
[1283/1946] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/filesystem/filesystem_error.cpp.o
[1284/1946] Building CXX object libcxx/src/CMakeFiles/cxx_shared.dir/ios.cpp.o
[1285/1946] Building CXX object libcxx/src/CMakeFiles/cxx_shared.dir/condition_variable.cpp.o
[1286/1946] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/vector.cpp.o
[1287/1946] Building CXX object libcxx/src/CMakeFiles/cxx_shared.dir/strstream.cpp.o
[1288/1946] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/future.cpp.o
[1289/1946] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/ios.cpp.o
[1290/1946] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/fstream.cpp.o
[1291/1946] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/condition_variable.cpp.o
[1292/1946] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/memory.cpp.o
[1293/1946] Building CXX object libcxx/src/CMakeFiles/cxx_shared.dir/memory.cpp.o
[1294/1946] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/thread.cpp.o
[1295/1946] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/random_shuffle.cpp.o
[1296/1946] Building CXX object libcxx/src/CMakeFiles/cxx_shared.dir/atomic.cpp.o
[1297/1946] Building CXX object libcxx/src/CMakeFiles/cxx_shared.dir/thread.cpp.o
Step 10 (build compiler-rt debug) failure: build compiler-rt debug (failure)
...
[698/5365] Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/GlobalISel/CombinerUtils.cpp.o
[699/5365] Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/GlobalISel/CXXPredicates.cpp.o
[700/5365] Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/GlobalISel/GlobalISelMatchTable.cpp.o
[701/5365] Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/GlobalISel/GlobalISelMatchTableExecutorEmitter.cpp.o
[702/5365] Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/GlobalISel/PatternParser.cpp.o
[703/5365] Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/GlobalISel/Patterns.cpp.o
[704/5365] Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/AsmWriterInst.cpp.o
[705/5365] Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/CodeGenDAGPatterns.cpp.o
[706/5365] Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/CodeGenInstruction.cpp.o
[707/5365] Building CXX object lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o
FAILED: lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /home/b/sanitizer-aarch64-linux/build/llvm_build0/bin/clang++ -DGTEST_HAS_RTTI=0 -DLLVM_EXPORTS -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/b/sanitizer-aarch64-linux/build/build_default/lib/Telemetry -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Telemetry -I/home/b/sanitizer-aarch64-linux/build/build_default/include -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o -MF lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o.d -o lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o -c /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Telemetry/Telemetry.cpp
In file included from /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Telemetry/Telemetry.cpp:1:
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include/llvm/Telemetry/Telemetry.h:31:7: error: 'llvm::telemetry::Serializer' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor]
   31 | class Serializer {
      |       ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include/llvm/Telemetry/Telemetry.h:72:8: error: 'llvm::telemetry::Config' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor]
   72 | struct Config {
      |        ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include/llvm/Telemetry/Telemetry.h:141:7: error: 'llvm::telemetry::Manager' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor]
  141 | class Manager {
      |       ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Telemetry/Telemetry.cpp:12:12: error: moving a local object in a return statement prevents copy elision [-Werror,-Wpessimizing-move]
   12 |     return std::move(Err);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Telemetry/Telemetry.cpp:12:12: note: remove std::move call here
   12 |     return std::move(Err);
      |            ^~~~~~~~~~   ~
4 errors generated.
[708/5365] Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/CodeGenHwModes.cpp.o
[709/5365] Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/CodeGenInstAlias.cpp.o
[710/5365] Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/CodeGenRegisters.cpp.o
[711/5365] Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/CodeGenSchedule.cpp.o
[712/5365] Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/CodeGenTarget.cpp.o
[713/5365] Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/DAGISelMatcher.cpp.o
[714/5365] Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/InfoByHwMode.cpp.o
[715/5365] Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/OptEmitter.cpp.o
[716/5365] Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/PredicateExpander.cpp.o
[717/5365] Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/SubtargetFeatureInfo.cpp.o
[718/5365] Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/Types.cpp.o
[719/5365] Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/Utils.cpp.o
[720/5365] Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/VarLenCodeEmitterGen.cpp.o
[721/5365] Building CXX object lib/Remarks/CMakeFiles/LLVMRemarks.dir/BitstreamRemarkParser.cpp.o
[722/5365] Building CXX object lib/Remarks/CMakeFiles/LLVMRemarks.dir/BitstreamRemarkSerializer.cpp.o
[723/5365] Building CXX object lib/Remarks/CMakeFiles/LLVMRemarks.dir/Remark.cpp.o
[724/5365] Building CXX object lib/Remarks/CMakeFiles/LLVMRemarks.dir/RemarkFormat.cpp.o
[725/5365] Building CXX object lib/Remarks/CMakeFiles/LLVMRemarks.dir/RemarkLinker.cpp.o
[726/5365] Building CXX object lib/Remarks/CMakeFiles/LLVMRemarks.dir/RemarkParser.cpp.o
[727/5365] Building CXX object lib/Remarks/CMakeFiles/LLVMRemarks.dir/RemarkSerializer.cpp.o
Step 11 (test compiler-rt debug) failure: test compiler-rt debug (failure)
...
[1940/1944] Generating FuzzerUtils-aarch64-Test
[1941/1944] Generating FuzzerTestObjects.FuzzerUnittest.cpp.aarch64.o
[1942/1944] Generating FuzzerTestObjects.gtest-all.cc.aarch64.o
[1943/1944] Generating Fuzzer-aarch64-Test
[1943/1944] Running compiler_rt regression tests
llvm-lit: /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/utils/lit/lit/discovery.py:276: warning: input '/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/interception/Unit' contained no tests
llvm-lit: /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/utils/lit/lit/discovery.py:276: warning: input '/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/sanitizer_common/Unit' contained no tests
llvm-lit: /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/utils/lit/lit/main.py:72: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 3142 of 6169 tests, 72 workers --
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70
FAIL: TypeSanitizer-aarch64 :: anon-same-struct.c (2380 of 3142)
******************** TEST 'TypeSanitizer-aarch64 :: anon-same-struct.c' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
RUN: at line 1: /home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang  -fsanitize=type -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only   -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta   -O0 /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/test/tysan/anon-same-struct.c -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/tysan/AARCH64Config/Output/anon-same-struct.c.tmp &&  /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/tysan/AARCH64Config/Output/anon-same-struct.c.tmp >/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/tysan/AARCH64Config/Output/anon-same-struct.c.tmp.out 2>&1
+ /home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang -fsanitize=type -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -O0 /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/test/tysan/anon-same-struct.c -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/tysan/AARCH64Config/Output/anon-same-struct.c.tmp
ld: error: cannot open /home/b/sanitizer-aarch64-linux/build/build_default/lib/clang/20/lib/aarch64-unknown-linux-gnu/libclang_rt.tysan.a: No such file or directory
clang: error: linker command failed with exit code 1 (use -v to see invocation)

--

********************
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.
FAIL: TypeSanitizer-aarch64 :: anon-struct.c (2389 of 3142)
******************** TEST 'TypeSanitizer-aarch64 :: anon-struct.c' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
RUN: at line 1: /home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang  -fsanitize=type -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only   -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta   -O0 /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/test/tysan/anon-struct.c -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/tysan/AARCH64Config/Output/anon-struct.c.tmp &&  /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/tysan/AARCH64Config/Output/anon-struct.c.tmp >/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/tysan/AARCH64Config/Output/anon-struct.c.tmp.out 2>&1
+ /home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang -fsanitize=type -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -O0 /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/test/tysan/anon-struct.c -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/tysan/AARCH64Config/Output/anon-struct.c.tmp
ld: error: cannot open /home/b/sanitizer-aarch64-linux/build/build_default/lib/clang/20/lib/aarch64-unknown-linux-gnu/libclang_rt.tysan.a: No such file or directory
clang: error: linker command failed with exit code 1 (use -v to see invocation)

--

********************
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.
FAIL: TypeSanitizer-aarch64 :: int-long.c (2393 of 3142)
******************** TEST 'TypeSanitizer-aarch64 :: int-long.c' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
RUN: at line 1: /home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang  -fsanitize=type -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only   -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta   -O0 /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/test/tysan/int-long.c -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/tysan/AARCH64Config/Output/int-long.c.tmp &&  /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/tysan/AARCH64Config/Output/int-long.c.tmp >/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/tysan/AARCH64Config/Output/int-long.c.tmp.out 2>&1
+ /home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang -fsanitize=type -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -O0 /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/test/tysan/int-long.c -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/tysan/AARCH64Config/Output/int-long.c.tmp
ld: error: cannot open /home/b/sanitizer-aarch64-linux/build/build_default/lib/clang/20/lib/aarch64-unknown-linux-gnu/libclang_rt.tysan.a: No such file or directory
Step 12 (build compiler-rt tsan_debug) failure: build compiler-rt tsan_debug (failure)
...
[634/5346] Copying clang's immintrin.h...
[635/5346] Copying clang's invpcidintrin.h...
[636/5346] Copying clang's keylockerintrin.h...
[637/5346] Copying clang's lwpintrin.h...
[638/5346] Copying clang's lzcntintrin.h...
[639/5346] Copying clang's mm3dnow.h...
[640/5346] Copying clang's mmintrin.h...
[641/5346] Copying clang's movdirintrin.h...
[642/5346] Copying clang's movrs_avx10_2_512intrin.h...
[643/5346] Building CXX object lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o
FAILED: lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /home/b/sanitizer-aarch64-linux/build/llvm_build0/bin/clang++ -DGTEST_HAS_RTTI=0 -DLLVM_EXPORTS -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/b/sanitizer-aarch64-linux/build/build_default/lib/Telemetry -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Telemetry -I/home/b/sanitizer-aarch64-linux/build/build_default/include -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o -MF lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o.d -o lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o -c /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Telemetry/Telemetry.cpp
In file included from /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Telemetry/Telemetry.cpp:1:
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include/llvm/Telemetry/Telemetry.h:31:7: error: 'llvm::telemetry::Serializer' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor]
   31 | class Serializer {
      |       ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include/llvm/Telemetry/Telemetry.h:72:8: error: 'llvm::telemetry::Config' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor]
   72 | struct Config {
      |        ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include/llvm/Telemetry/Telemetry.h:141:7: error: 'llvm::telemetry::Manager' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor]
  141 | class Manager {
      |       ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Telemetry/Telemetry.cpp:12:12: error: moving a local object in a return statement prevents copy elision [-Werror,-Wpessimizing-move]
   12 |     return std::move(Err);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Telemetry/Telemetry.cpp:12:12: note: remove std::move call here
   12 |     return std::move(Err);
      |            ^~~~~~~~~~   ~
4 errors generated.
[644/5346] Building ARMTargetParserDef.inc...
[645/5346] Copying clang's movrs_avx10_2intrin.h...
[646/5346] Copying clang's movrsintrin.h...
[647/5346] Copying clang's mwaitxintrin.h...
[648/5346] Copying clang's nmmintrin.h...
[649/5346] Copying clang's pconfigintrin.h...
[650/5346] Copying clang's pkuintrin.h...
[651/5346] Copying clang's pmmintrin.h...
[652/5346] Copying clang's popcntintrin.h...
[653/5346] Copying clang's prfchiintrin.h...
[654/5346] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/ARMTargetDefEmitter.cpp.o
[655/5346] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/AsmMatcherEmitter.cpp.o
[656/5346] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/AsmWriterEmitter.cpp.o
[657/5346] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/Attributes.cpp.o
[658/5346] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CallingConvEmitter.cpp.o
[659/5346] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeEmitterGen.cpp.o
[660/5346] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeGenMapTable.cpp.o
[661/5346] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CompressInstEmitter.cpp.o
[662/5346] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CTagsEmitter.cpp.o
[663/5346] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelEmitter.cpp.o
Step 13 (build compiler-rt default) failure: build compiler-rt default (failure)
...
[430/5365] Building arm_sme_builtins_za_state.inc...
[431/5365] Building arm_cde_builtins.inc...
[432/5365] Building arm_cde_builtin_cg.inc...
[433/5365] Building arm_cde_builtin_sema.inc...
[434/5365] Building arm_cde_builtin_aliases.inc...
[435/5365] Building riscv_sifive_vector_builtins.inc...
[436/5365] Building riscv_sifive_vector_builtin_cg.inc...
[437/5365] Building riscv_sifive_vector_builtin_sema.inc...
[438/5365] Building AttrParserStringSwitches.inc...
[439/5365] Building CXX object lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o
FAILED: lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /home/b/sanitizer-aarch64-linux/build/llvm_build0/bin/clang++ -DGTEST_HAS_RTTI=0 -DLLVM_EXPORTS -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/b/sanitizer-aarch64-linux/build/build_default/lib/Telemetry -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Telemetry -I/home/b/sanitizer-aarch64-linux/build/build_default/include -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o -MF lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o.d -o lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o -c /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Telemetry/Telemetry.cpp
In file included from /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Telemetry/Telemetry.cpp:1:
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include/llvm/Telemetry/Telemetry.h:31:7: error: 'llvm::telemetry::Serializer' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor]
   31 | class Serializer {
      |       ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include/llvm/Telemetry/Telemetry.h:72:8: error: 'llvm::telemetry::Config' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor]
   72 | struct Config {
      |        ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include/llvm/Telemetry/Telemetry.h:141:7: error: 'llvm::telemetry::Manager' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor]
  141 | class Manager {
      |       ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Telemetry/Telemetry.cpp:12:12: error: moving a local object in a return statement prevents copy elision [-Werror,-Wpessimizing-move]
   12 |     return std::move(Err);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Telemetry/Telemetry.cpp:12:12: note: remove std::move call here
   12 |     return std::move(Err);
      |            ^~~~~~~~~~   ~
4 errors generated.
[440/5365] Building arm_sve_builtin_cg.inc...
[441/5365] Building arm_sve_streaming_attrs.inc...
[442/5365] Building AttrSubMatchRulesParserStringSwitches.inc...
[443/5365] Building AttrTemplateInstantiate.inc...
[444/5365] Building AttrParsedAttrList.inc...
[445/5365] Building AttrParsedAttrKinds.inc...
[446/5365] Building AttrSpellingListIndex.inc...
[447/5365] Building AttrParsedAttrImpl.inc...
[448/5365] Building AttrPCHWrite.inc...
[449/5365] Building Checkers.inc...
[450/5365] Building Nodes.inc...
[451/5365] Building NodeClasses.inc...
[452/5365] Building arm_fp16.h...
[453/5365] Building arm_bf16.h...
[454/5365] Building arm_cde.h...
[455/5365] Building AttrPCHRead.inc...
[456/5365] Building arm_vector_types.h...
[457/5365] Building arm_sme.h...
[458/5365] Building arm_sve_sema_rangechecks.inc...
[459/5365] Linking CXX static library lib/libLLVMFrontendOpenACC.a
Step 14 (test compiler-rt default) failure: test compiler-rt default (failure)
...
[1940/1944] Generating FuzzerUtils-aarch64-Test
[1941/1944] Generating FuzzerTestObjects.FuzzerUnittest.cpp.aarch64.o
[1942/1944] Generating FuzzerTestObjects.gtest-all.cc.aarch64.o
[1943/1944] Generating Fuzzer-aarch64-Test
[1943/1944] Running compiler_rt regression tests
llvm-lit: /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/utils/lit/lit/discovery.py:276: warning: input '/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/interception/Unit' contained no tests
llvm-lit: /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/utils/lit/lit/discovery.py:276: warning: input '/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/sanitizer_common/Unit' contained no tests
llvm-lit: /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/utils/lit/lit/main.py:72: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 6168 tests, 72 workers --
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 
FAIL: TypeSanitizer-aarch64 :: anon-struct.c (4995 of 6168)
******************** TEST 'TypeSanitizer-aarch64 :: anon-struct.c' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
RUN: at line 1: /home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang  -fsanitize=type -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only   -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta   -O0 /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/test/tysan/anon-struct.c -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/tysan/AARCH64Config/Output/anon-struct.c.tmp &&  /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/tysan/AARCH64Config/Output/anon-struct.c.tmp >/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/tysan/AARCH64Config/Output/anon-struct.c.tmp.out 2>&1
+ /home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang -fsanitize=type -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -O0 /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/test/tysan/anon-struct.c -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/tysan/AARCH64Config/Output/anon-struct.c.tmp
ld: error: cannot open /home/b/sanitizer-aarch64-linux/build/build_default/lib/clang/20/lib/aarch64-unknown-linux-gnu/libclang_rt.tysan.a: No such file or directory
clang: error: linker command failed with exit code 1 (use -v to see invocation)

--

********************
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 
FAIL: TypeSanitizer-aarch64 :: anon-same-struct.c (4999 of 6168)
******************** TEST 'TypeSanitizer-aarch64 :: anon-same-struct.c' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
RUN: at line 1: /home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang  -fsanitize=type -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only   -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta   -O0 /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/test/tysan/anon-same-struct.c -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/tysan/AARCH64Config/Output/anon-same-struct.c.tmp &&  /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/tysan/AARCH64Config/Output/anon-same-struct.c.tmp >/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/tysan/AARCH64Config/Output/anon-same-struct.c.tmp.out 2>&1
+ /home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang -fsanitize=type -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -O0 /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/test/tysan/anon-same-struct.c -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/tysan/AARCH64Config/Output/anon-same-struct.c.tmp
ld: error: cannot open /home/b/sanitizer-aarch64-linux/build/build_default/lib/clang/20/lib/aarch64-unknown-linux-gnu/libclang_rt.tysan.a: No such file or directory
clang: error: linker command failed with exit code 1 (use -v to see invocation)

--

********************
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 
FAIL: TypeSanitizer-aarch64 :: basic.c (5000 of 6168)
******************** TEST 'TypeSanitizer-aarch64 :: basic.c' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
RUN: at line 1: /home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang  -fsanitize=type -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only   -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta   -O0 /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/test/tysan/basic.c -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/tysan/AARCH64Config/Output/basic.c.tmp &&  /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/tysan/AARCH64Config/Output/basic.c.tmp 10 >/home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/tysan/AARCH64Config/Output/basic.c.tmp.out.0 2>&1
+ /home/b/sanitizer-aarch64-linux/build/build_default/./bin/clang -fsanitize=type -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -O0 /home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/test/tysan/basic.c -o /home/b/sanitizer-aarch64-linux/build/build_default/runtimes/runtimes-bins/compiler-rt/test/tysan/AARCH64Config/Output/basic.c.tmp
ld: error: cannot open /home/b/sanitizer-aarch64-linux/build/build_default/lib/clang/20/lib/aarch64-unknown-linux-gnu/libclang_rt.tysan.a: No such file or directory

@llvm-ci
Copy link
Collaborator

llvm-ci commented Dec 20, 2024

LLVM Buildbot has detected a new failure on builder ppc64le-lld-multistage-test running on ppc64le-lld-multistage-test while building llvm at step 12 "build-stage2-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/168/builds/6819

Here is the relevant piece of the build log for the reference
Step 12 (build-stage2-unified-tree) failure: build (failure)
...
8.729 [6011/203/165] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/TypeSize.cpp.o
8.736 [6011/202/166] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/CSKYAttributeParser.cpp.o
8.762 [6011/201/167] Building CXX object lib/WindowsManifest/CMakeFiles/LLVMWindowsManifest.dir/WindowsManifestMerger.cpp.o
8.778 [6011/200/168] Building CXX object lib/LineEditor/CMakeFiles/LLVMLineEditor.dir/LineEditor.cpp.o
8.826 [6011/199/169] Building CXX object third-party/benchmark/src/CMakeFiles/benchmark.dir/reporter.cc.o
8.844 [6011/198/170] Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/Formatters.cpp.o
8.918 [6011/197/171] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ErrorHandling.cpp.o
8.934 [6011/196/172] Building CXX object third-party/benchmark/src/CMakeFiles/benchmark.dir/benchmark_api_internal.cc.o
8.939 [6011/195/173] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/UnicodeNameToCodepointGenerated.cpp.o
8.961 [6011/194/174] Building CXX object lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o
FAILED: lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o 
ccache /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/install/stage1/bin/clang++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage2/lib/Telemetry -I/home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/lib/Telemetry -I/home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage2/include -I/home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o -MF lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o.d -o lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o -c /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/lib/Telemetry/Telemetry.cpp
In file included from /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/lib/Telemetry/Telemetry.cpp:1:
/home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/include/llvm/Telemetry/Telemetry.h:31:7: error: 'llvm::telemetry::Serializer' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor]
   31 | class Serializer {
      |       ^
/home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/include/llvm/Telemetry/Telemetry.h:72:8: error: 'llvm::telemetry::Config' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor]
   72 | struct Config {
      |        ^
/home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/include/llvm/Telemetry/Telemetry.h:141:7: error: 'llvm::telemetry::Manager' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor]
  141 | class Manager {
      |       ^
/home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/lib/Telemetry/Telemetry.cpp:12:12: error: moving a local object in a return statement prevents copy elision [-Werror,-Wpessimizing-move]
   12 |     return std::move(Err);
      |            ^
/home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/lib/Telemetry/Telemetry.cpp:12:12: note: remove std::move call here
   12 |     return std::move(Err);
      |            ^~~~~~~~~~   ~
4 errors generated.
9.022 [6011/193/175] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DynamicLibrary.cpp.o
9.022 [6011/192/176] Building CXX object third-party/benchmark/src/CMakeFiles/benchmark.dir/csv_reporter.cc.o
9.081 [6011/191/177] Building CXX object third-party/benchmark/src/CMakeFiles/benchmark.dir/string_util.cc.o
9.107 [6011/190/178] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Debug.cpp.o
9.119 [6011/189/179] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ToolOutputFile.cpp.o
9.119 [6011/188/180] Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugSubsectionRecord.cpp.o
9.138 [6011/187/181] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ScaledNumber.cpp.o
9.157 [6011/186/182] Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugCrossExSubsection.cpp.o
9.177 [6011/185/183] Building CXX object lib/DebugInfo/MSF/CMakeFiles/LLVMDebugInfoMSF.dir/MSFCommon.cpp.o
9.197 [6011/184/184] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BinaryStreamRef.cpp.o
9.245 [6011/183/185] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/GraphWriter.cpp.o
9.246 [6011/182/186] Building CXX object third-party/benchmark/src/CMakeFiles/benchmark.dir/json_reporter.cc.o
9.265 [6011/181/187] Building CXX object lib/Option/CMakeFiles/LLVMOption.dir/Arg.cpp.o
9.267 [6011/180/188] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/StringMatcher.cpp.o
9.299 [6011/179/189] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BinaryStreamWriter.cpp.o
9.416 [6011/178/190] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DataExtractor.cpp.o
9.451 [6011/177/191] Building CXX object utils/not/CMakeFiles/not.dir/not.cpp.o
9.497 [6011/176/192] Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugSymbolsSubsection.cpp.o
9.514 [6011/175/193] Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/TypeHashing.cpp.o
9.515 [6011/174/194] Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugSymbolRVASubsection.cpp.o

@llvm-ci
Copy link
Collaborator

llvm-ci commented Dec 20, 2024

LLVM Buildbot has detected a new failure on builder flang-aarch64-sharedlibs running on linaro-flang-aarch64-sharedlibs while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/80/builds/7959

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
442.591 [5481/4/2032] Creating library symlink lib/libLLVMJITLink.so
442.734 [5481/3/2033] Linking CXX shared library lib/libLLVMRuntimeDyld.so.20.0git
442.921 [5481/2/2034] Linking CXX shared library lib/libLLVMSymbolize.so.20.0git
442.947 [5479/3/2035] Creating library symlink lib/libLLVMSymbolize.so
442.957 [5479/2/2036] Creating library symlink lib/libLLVMRuntimeDyld.so
443.007 [5472/8/2037] Linking CXX shared library lib/libLLVMDebugInfoLogicalView.so.20.0git
443.172 [5472/7/2038] Building CXX object lib/ToolDrivers/llvm-dlltool/CMakeFiles/LLVMDlltoolDriver.dir/DlltoolDriver.cpp.o
443.179 [5472/6/2039] Building CXX object lib/TextAPI/BinaryReader/CMakeFiles/LLVMTextAPIBinaryReader.dir/DylibReader.cpp.o
443.219 [5472/5/2040] Building CXX object lib/XRay/CMakeFiles/LLVMXRay.dir/BlockIndexer.cpp.o
443.266 [5472/4/2041] Linking CXX shared library lib/libLLVMTelemetry.so.20.0git
FAILED: lib/libLLVMTelemetry.so.20.0git 
: && /usr/local/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-sharedlibs/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libLLVMTelemetry.so.20.0git -o lib/libLLVMTelemetry.so.20.0git lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:" && :
/usr/bin/ld: lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o: in function `llvm::telemetry::Manager::dispatch(llvm::telemetry::TelemetryInfo*)':
Telemetry.cpp:(.text._ZN4llvm9telemetry7Manager8dispatchEPNS0_13TelemetryInfoE+0x1a4): undefined reference to `llvm::Error::fatalUncheckedError() const'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9telemetry7Manager8dispatchEPNS0_13TelemetryInfoE+0x1b0): undefined reference to `llvm::Error::fatalUncheckedError() const'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9telemetry7Manager8dispatchEPNS0_13TelemetryInfoE+0x1bc): undefined reference to `llvm::Error::fatalUncheckedError() const'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9telemetry7Manager8dispatchEPNS0_13TelemetryInfoE+0x1c4): undefined reference to `llvm::Error::fatalUncheckedError() const'
/usr/bin/ld: lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o: in function `llvm::ErrorList::join(llvm::Error, llvm::Error)':
Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0x6c): undefined reference to `llvm::ErrorList::ID'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0x74): undefined reference to `llvm::ErrorList::ID'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0x98): undefined reference to `llvm::ErrorList::ID'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0xa0): undefined reference to `llvm::ErrorList::ID'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0x158): undefined reference to `llvm::ErrorList::ID'
/usr/bin/ld: lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:Telemetry.cpp:(.text._ZN4llvm9ErrorList4joinENS_5ErrorES1_[_ZN4llvm9ErrorList4joinENS_5ErrorES1_]+0x160): more undefined references to `llvm::ErrorList::ID' follow
/usr/bin/ld: lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o: in function `llvm::ErrorList::ErrorList(std::unique_ptr<llvm::ErrorInfoBase, std::default_delete<llvm::ErrorInfoBase> >, std::unique_ptr<llvm::ErrorInfoBase, std::default_delete<llvm::ErrorInfoBase> >)':
Telemetry.cpp:(.text._ZN4llvm9ErrorListC2ESt10unique_ptrINS_13ErrorInfoBaseESt14default_deleteIS2_EES5_[_ZN4llvm9ErrorListC2ESt10unique_ptrINS_13ErrorInfoBaseESt14default_deleteIS2_EES5_]+0x14): undefined reference to `vtable for llvm::ErrorList'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9ErrorListC2ESt10unique_ptrINS_13ErrorInfoBaseESt14default_deleteIS2_EES5_[_ZN4llvm9ErrorListC2ESt10unique_ptrINS_13ErrorInfoBaseESt14default_deleteIS2_EES5_]+0x24): undefined reference to `vtable for llvm::ErrorList'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9ErrorListC2ESt10unique_ptrINS_13ErrorInfoBaseESt14default_deleteIS2_EES5_[_ZN4llvm9ErrorListC2ESt10unique_ptrINS_13ErrorInfoBaseESt14default_deleteIS2_EES5_]+0x34): undefined reference to `llvm::ErrorList::ID'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9ErrorListC2ESt10unique_ptrINS_13ErrorInfoBaseESt14default_deleteIS2_EES5_[_ZN4llvm9ErrorListC2ESt10unique_ptrINS_13ErrorInfoBaseESt14default_deleteIS2_EES5_]+0x48): undefined reference to `llvm::ErrorList::ID'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9ErrorListC2ESt10unique_ptrINS_13ErrorInfoBaseESt14default_deleteIS2_EES5_[_ZN4llvm9ErrorListC2ESt10unique_ptrINS_13ErrorInfoBaseESt14default_deleteIS2_EES5_]+0x58): undefined reference to `llvm::ErrorList::ID'
/usr/bin/ld: Telemetry.cpp:(.text._ZN4llvm9ErrorListC2ESt10unique_ptrINS_13ErrorInfoBaseESt14default_deleteIS2_EES5_[_ZN4llvm9ErrorListC2ESt10unique_ptrINS_13ErrorInfoBaseESt14default_deleteIS2_EES5_]+0x64): undefined reference to `llvm::ErrorList::ID'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
443.311 [5472/3/2042] Building CXX object lib/ToolDrivers/llvm-lib/CMakeFiles/LLVMLibDriver.dir/LibDriver.cpp.o
443.415 [5472/2/2043] Linking CXX shared library lib/libLLVMProfileData.so.20.0git
443.427 [5472/1/2044] Linking CXX shared library lib/libLLVMDebuginfod.so.20.0git
ninja: build stopped: subcommand failed.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Dec 20, 2024

LLVM Buildbot has detected a new failure on builder polly-x86_64-linux-shared running on polly-x86_64-gce2 while building llvm at step 5 "build".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/97/builds/3787

Here is the relevant piece of the build log for the reference
Step 5 (build) failure: 'ninja' (failure)
...
[2094/4275] Creating library symlink lib/libLLVMHipStdPar.so
[2095/4275] Creating library symlink lib/libLLVMExecutionEngine.so
[2096/4275] Linking CXX shared library lib/libLLVMMCJIT.so.20.0git
[2097/4275] Linking CXX shared library lib/libLLVMLinker.so.20.0git
[2098/4275] Creating library symlink lib/libLLVMMCJIT.so
[2099/4275] Creating library symlink lib/libLLVMLinker.so
[2100/4275] Creating library symlink lib/libLLVMSandboxIR.so
[2101/4275] Linking CXX shared library lib/libLLVMScalarOpts.so.20.0git
[2102/4275] Creating library symlink lib/libLLVMScalarOpts.so
[2103/4275] Linking CXX shared library lib/libLLVMTelemetry.so.20.0git
FAILED: lib/libLLVMTelemetry.so.20.0git 
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete -fuse-ld=lld -Wl,--color-diagnostics   -Wl,--gc-sections -shared -Wl,-soname,libLLVMTelemetry.so.20.0git -o lib/libLLVMTelemetry.so.20.0git lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:" && :
ld.lld: error: undefined symbol: llvm::ErrorList::ID
>>> referenced by Telemetry.cpp
>>>               lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:(llvm::ErrorList::join(llvm::Error, llvm::Error))
>>> referenced by Telemetry.cpp
>>>               lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:(llvm::ErrorList::join(llvm::Error, llvm::Error))

ld.lld: error: undefined symbol: vtable for llvm::ErrorList
>>> referenced by Telemetry.cpp
>>>               lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:(llvm::ErrorList::join(llvm::Error, llvm::Error))
>>> the vtable symbol may be undefined because the class is missing its key function (see https://lld.llvm.org/missingkeyfunction)

ld.lld: error: undefined symbol: llvm::Error::fatalUncheckedError() const
>>> referenced by Telemetry.cpp
>>>               lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:(llvm::telemetry::Manager::dispatch(llvm::telemetry::TelemetryInfo*) (.localalias))
>>> referenced by Telemetry.cpp
>>>               lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:(llvm::telemetry::Manager::dispatch(llvm::telemetry::TelemetryInfo*) (.localalias))
>>> referenced by Telemetry.cpp
>>>               lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:(llvm::telemetry::Manager::dispatch(llvm::telemetry::TelemetryInfo*) (.localalias))
>>> referenced 2 more times
collect2: error: ld returned 1 exit status
[2104/4275] Linking CXX shared library lib/libLLVMFuzzMutate.so.20.0git
[2105/4275] Linking CXX shared library lib/libLLVMVectorize.so.20.0git
ninja: build stopped: subcommand failed.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Dec 20, 2024

LLVM Buildbot has detected a new failure on builder polly-x86_64-linux-shared-plugin running on polly-x86_64-gce2 while building llvm at step 5 "build".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/118/builds/3761

Here is the relevant piece of the build log for the reference
Step 5 (build) failure: 'ninja' (failure)
...
[1923/4275] Building CXX object lib/TextAPI/CMakeFiles/LLVMTextAPI.dir/SymbolSet.cpp.o
[1924/4275] Creating library symlink lib/libLLVMNVPTXDesc.so
[1925/4275] Building CXX object lib/TextAPI/CMakeFiles/LLVMTextAPI.dir/Target.cpp.o
[1926/4275] Building CXX object lib/TextAPI/CMakeFiles/LLVMTextAPI.dir/TextAPIError.cpp.o
[1927/4275] Building CXX object lib/TextAPI/CMakeFiles/LLVMTextAPI.dir/TextStubCommon.cpp.o
[1928/4275] Building CXX object lib/TextAPI/CMakeFiles/LLVMTextAPI.dir/TextStub.cpp.o
[1929/4275] Building CXX object lib/TextAPI/CMakeFiles/LLVMTextAPI.dir/Utils.cpp.o
[1930/4275] Building CXX object lib/TextAPI/BinaryReader/CMakeFiles/LLVMTextAPIBinaryReader.dir/DylibReader.cpp.o
[1931/4275] Building CXX object lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o
[1932/4275] Linking CXX shared library lib/libLLVMTelemetry.so.20.0git
FAILED: lib/libLLVMTelemetry.so.20.0git 
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete -fuse-ld=lld -Wl,--color-diagnostics   -Wl,--gc-sections -shared -Wl,-soname,libLLVMTelemetry.so.20.0git -o lib/libLLVMTelemetry.so.20.0git lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:" && :
ld.lld: error: undefined symbol: llvm::ErrorList::ID
>>> referenced by Telemetry.cpp
>>>               lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:(llvm::ErrorList::join(llvm::Error, llvm::Error))
>>> referenced by Telemetry.cpp
>>>               lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:(llvm::ErrorList::join(llvm::Error, llvm::Error))

ld.lld: error: undefined symbol: vtable for llvm::ErrorList
>>> referenced by Telemetry.cpp
>>>               lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:(llvm::ErrorList::join(llvm::Error, llvm::Error))
>>> the vtable symbol may be undefined because the class is missing its key function (see https://lld.llvm.org/missingkeyfunction)

ld.lld: error: undefined symbol: llvm::Error::fatalUncheckedError() const
>>> referenced by Telemetry.cpp
>>>               lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:(llvm::telemetry::Manager::dispatch(llvm::telemetry::TelemetryInfo*) (.localalias))
>>> referenced by Telemetry.cpp
>>>               lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:(llvm::telemetry::Manager::dispatch(llvm::telemetry::TelemetryInfo*) (.localalias))
>>> referenced by Telemetry.cpp
>>>               lib/Telemetry/CMakeFiles/LLVMTelemetry.dir/Telemetry.cpp.o:(llvm::telemetry::Manager::dispatch(llvm::telemetry::TelemetryInfo*) (.localalias))
>>> referenced 2 more times
collect2: error: ld returned 1 exit status
[1933/4275] Linking CXX shared library lib/libLLVMTextAPI.so.20.0git
[1934/4275] Building X86GenSubtargetInfo.inc...
ninja: build stopped: subcommand failed.

Copy link
Collaborator

@jh7370 jh7370 left a comment

Choose a reason for hiding this comment

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

I appreciate what @labath was saying about signed/unsigned overloads, but I don't think those are going to be always sufficient. There are a couple of different cases.

  1. Our downstream API (which isn't part of our downstream LLVM code, so doesn't have access to LLVM types) uses a non-LLVM JSON implementation for its serialization. That JSON library has different overloads for 32-bit and 64-bit integers, I presume to provide a faster path for writing the 32-bit version. Switching to (effectively) only have long long and unsigned long long support would mean that performance advantage is lost, because we'd be forced to use the 64-bit version.

  2. Admittedly, I believe it's only used by testing code at the moment, but we have a downstream concrete Serializer type that converts the values into a std:::variant-like class to be stored in a dictionary. We don't want to lose the type information in this context, i.e. we want to be able to distinguish between e.g. int and long long. Although this case is primarily for our unit tests, I don't see why there couldn't be a real-world use-case that requires the original type information somewhere down the line and since implementing the overloads isn't exactly complex, I would really like to have them all.

Finally, although the overloads were removed, the documentation wasn't updated, so anybody blindly copying it would end up with build failures with the current version.

@labath
Copy link
Collaborator

labath commented Dec 23, 2024

That makes sense. I'm not pushing for this, I just wanted to make sure that this option is considered. Implementation that don't want/need the type information can always implement the forwarding themselves.

@oontvoo
Copy link
Member Author

oontvoo commented Dec 23, 2024

I appreciate what @labath was saying about signed/unsigned overloads, but I don't think those are going to be always sufficient. There are a couple of different cases.

  1. Our downstream API (which isn't part of our downstream LLVM code, so doesn't have access to LLVM types) uses a non-LLVM JSON implementation for its serialization. That JSON library has different overloads for 32-bit and 64-bit integers, I presume to provide a faster path for writing the 32-bit version. Switching to (effectively) only have long long and unsigned long long support would mean that performance advantage is lost, because we'd be forced to use the 64-bit version.
  2. Admittedly, I believe it's only used by testing code at the moment, but we have a downstream concrete Serializer type that converts the values into a std:::variant-like class to be stored in a dictionary. We don't want to lose the type information in this context, i.e. we want to be able to distinguish between e.g. int and long long. Although this case is primarily for our unit tests, I don't see why there couldn't be a real-world use-case that requires the original type information somewhere down the line and since implementing the overloads isn't exactly complex, I would really like to have them all.

Finally, although the overloads were removed, the documentation wasn't updated, so anybody blindly copying it would end up with build failures with the current version.

Thanks - i'll revert the code back to previous revision (with all the overloads listed explicitly)l
Also updated the docs

@jh7370
Copy link
Collaborator

jh7370 commented Jan 9, 2025

FWIW, I had a brainwave over the Christmas break (and only just got back to working, hence the delayed comment) that we could get the best of both worlds by providing a default implementation for all the shorter types (i.e. int, long, unsigned int and unsigned long) that simply calls the long long-form overload. Downstream implementations can then implement the long long and unsigned long long overloads, plus any others that they need to have more specific behaviour with. Thoughts?

@labath
Copy link
Collaborator

labath commented Jan 10, 2025

SGTM (@oontvoo is OOO for the next two weeks)

github-actions bot pushed a commit to arm/arm-toolchain that referenced this pull request Jan 10, 2025
qiaojbao pushed a commit to GPUOpen-Drivers/llvm-project that referenced this pull request Feb 7, 2025
Local branch amd-gfx 4088678 Merged main:53d080c5b5df into amd-gfx:f0fbc982ed3b
Remote branch main 8c00900 [llvm]Add a simple Telemetry framework (llvm#102323)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.