| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
Provide a sane default for `CMAKE_GENERATOR` in the build script so that it can be invoked without having to set that in the environment.
The lsb-release command is missing on our images; just show the information from the file instead of relying on it.
libcrypto will read uninitialized memory as entropy. Suppress warnings from this behavior.
|
It gets better: the version of valgrind on the Ubuntu Xenial images has a broken --error-exitcode. root@40e03a14632b:/tmp# valgrind -q --leak-check=full --show-reachable=yes --error-exitcode=2 --suppressions=/src/script/valgrind.supp ./foo ==7019== 1,024 bytes in 1 blocks are definitely lost in loss record 1 of 1 ==7019== at 0x4C2DB4F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==7019== by 0x40059E: main (in /tmp/foo) ==7019== root@40e03a14632b:/tmp# echo $? 0 Sigh. |
Sorry, something went wrong.
Deleting the apt cache can be helpful for reducing the size of a container, but since we don't push it anywhere, it only hinders our ability to debug problems while working on the container. Keep it.
Use a multi-stage docker build so that we can cache early stages and not need to download the apt-provided dependencies during every build (when only later stages change).
The valgrind in the PPA is broken and ignores `--exit-errorcode`. Build and install our own.
Our docker builds are getting expensive, let's cache some of this.
We currently talk to Azure Repos for executing an online test (online::clone::path_whitespace). Add a simpler test to talk to Azure Repos to make it obvious that strange test failures are not likely the whitespace in the path, but actually a function of talking to Azure Repos itself.
valgrind will warn that OpenSSL will use undefined data in connect/read when talking to certain other TLS stacks. Thankfully, this only seems to occur when gcc is the compiler, so hopefully valgrind is just misunderstanding an optimization. Regardless, suppress this warning.
Provide usage hints to valgrind. We trust the data coming back from OpenSSL to have been properly initialized. (And if it has not, it's an OpenSSL bug, not a libgit2 bug.) We previously took the `VALGRIND` option to CMake as a hint to disable mmap. Remove that; it's broken. Now use it to pass on the `VALGRIND` definition so that sources can provide valgrind hints.
|
Merging this so that CI is reliable again. |
Sorry, something went wrong.
There was a problem hiding this comment.
Thanks a lot for these changes, they all look good to me. I'm always baffled by the amount of broken stuff we're dealing with when using Ubuntu. Broken libssh2 as it does produce memory leaks and other stuff by default, non-working valgrind options, a whole lot of suppressions...
Anyway, thanks for taking care of these issues!
Sorry, something went wrong.
| path: /tmp/dockercache | ||
| - script: | | ||
| if [ -f /tmp/dockercache/${{parameters.docker.image}}.tar ]; then docker load < /tmp/dockercache/${{parameters.docker.image}}.tar; fi | ||
| displayName: 'Load Docker cache' |
There was a problem hiding this comment.
🎉 🎉 🎉 Great change
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Our CI builds are currently flaky. Some of these issues are related to the upgrade to xenial for our Linux build and test runs. Some of them snuck in because that move destabilized our CI and we didn't catch problems.
Here are some issues:
Fixes:
i. Extend the suppressions for valgrind to include uninitialized usage stemming from OpenSSL.
ii. Mark memory returned from OpenSSL as initialized explicitly.
In addition, there are a few build process enhancements: