Granulate / gprofiler

gProfiler is a system-wide profiler, combining multiple sampling profilers to produce unified visualization of what your CPU is spending time on.
https://profiler.granulate.io
Apache License 2.0
745 stars 54 forks source link

Yum repo issue while building executable #913

Closed hsane2001 closed 2 weeks ago

hsane2001 commented 1 month ago

The "build_x86_64_executable.sh" fails on yum update with "HTTP Error 504 - Gateway Timeout" while running the centos image "NODE_PACKAGE_BUILDER_GLIBC=centos/devtoolset-7-toolchain-centos7@sha256:24d4c230cb1fe8e68cefe068458f52f69a1915dd6f6c3ad18aa37c2b8fa3e4e1". This is the step where the executable.Dockerfile runs "async_profiler_env_glibc.sh" script and any yum commands fail within it. Proxy and /etc/resolv.conf are configured correctly. The repo file however seems to have all baseurls commented out, not sure if expected.

Base OS: Ubuntu 23.04

Jongy commented 1 month ago

Can you please post full logs?

In any case, I get the following now:

 > [async-profiler-builder-glibc 4/6] RUN ./async_profiler_env_glibc.sh:
0.557 Loaded plugins: fastestmirror, ovl
0.650 Determining fastest mirrors
2.163 Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=aarch64&repo=os&infra=container error was
2.163 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"
2.164
2.164
2.164  One of the configured repositories failed (Unknown),
2.164  and yum doesn't have enough cached data to continue. At this point the only
2.164  safe thing yum can do is fail. There are a few ways to work "fix" this:
2.164
2.164      1. Contact the upstream for the repository and get them to fix the problem.
2.164
2.164      2. Reconfigure the baseurl/etc. for the repository, to point to a working
2.164         upstream. This is most often useful if you are using a newer
2.164         distribution release than is supported by the repository (and the
2.164         packages for the previous distribution release still work).
2.164
2.164      3. Run the command with the repository temporarily disabled
2.164             yum --disablerepo=<repoid> ...
2.164
2.164      4. Disable the repository permanently, so yum won't use it by default. Yum
2.164         will then just ignore the repository until you permanently enable it
2.164         again or use --enablerepo for temporary usage:
2.164
2.164             yum-config-manager --disable <repoid>
2.164         or
2.164             subscription-manager repos --disable=<repoid>
2.164
2.164      5. Configure the failing repository to be skipped, if it is unavailable.
2.164         Note that yum will try to contact the repo. when it runs most commands,
2.164         so will have to try and fail each time (and thus. yum will be be much
2.164         slower). If it is a very temporary problem though, this is often a nice
2.164         compromise:
2.164
2.164             yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true
2.164
2.164 Cannot find a valid baseurl for repo: base/7/aarch64
------

and for mirrorlist.centos.org I get Could not resolve host: mirrorlist.centos.org. Super weird

hsane2001 commented 1 month ago

Yes, this is the exact error I get. Not sure which logs, but I have attached the output from the build script. gprofiler_build_log.txt

Jongy commented 1 month ago

We should likely try this - https://stackoverflow.com/a/78693402

You can give it a try and if it works for you, open a PR :) I'll be able to review it later this week.