Open Viatorus opened 2 years ago
@muttleyxd ?
Hi! I forked muttleyxd's repository, bisected between v.13.0.0 and v14.0.0 and I was able to locate the first bad commit - 6a605b97a2006bd391f129a606483656b7c6fb28 as I'm not familiar with these regions of LLVM codebase. I've yet to try to understand this commit in terms of why it has such effects, but hopefully this investigation will push things further for us.
Ok, I checked out LLVM repository on the first "wrong" commit and I noticed the following:
and Github Actions is set to Ubuntu 20.04 for this project.
But because it worked on 22.04, I suppose this problem isn't really an issue of that particular commit from LLVM. I have no idea why it happens, but the only thing that comes to my mind is differences in glibc versions. I tested it by compiling this program:
#include <gnu/libc-version.h>
#include <stdio.h>
int main()
{
printf("glibc_release: %s\n", gnu_get_libc_release());
printf("glibc_version: %s\n", gnu_get_libc_version());
}
which produces:
glibc_release: stable
glibc_version: 2.31
glibc_release: stable
glibc_version: 2.35
glibc_release: stable
glibc_version: 2.35
Thank you for investigating. I compiled version 14.0.5 under Ubuntu 22.04 without LTO (otherwise link time never ends) which runs quite well also under Ubuntu 22, Gentoo and Arch Linux.
Thank you again!
ubuntu-22.04 is now available for github runners: https://github.com/actions/runner-images/issues/5998
I can confirm building clang-tidy-14 using ubuntu-22.04 in CI does fix this.
The latest release which includes Clang v15 still have Segmentation fault (tested on Ubuntu 20.04.5 LTS)
$ clang-tidy-15 --version
Segmentation fault
I confirm that higher version of clang-tidy linux amd64 are still segfaulting
./clang-tidy-16_linux-amd64
Segmentation fault
same segfault on centos 7.6
Hello,
Running clang-tidy 14 on my available systems (ubuntu 22.02, Gentoo or arch linux) results in a segfault.
clang-format 14 doesn't segfault, nor does clang-tidy 13, 12...
Any idea?
This is an extract running the program with valgrind: