I recently found sanitizer build failures, for example in libosmocore, which our gerrit build job doesn't catch. At first I thought something was amiss and maybe our gerrit sanitizer build were broken.
Instead, it turns out my debian9 gcc -fsanitize=address -fsanitize=undefined finds many more issues that the debian8 one does not. https://jenkins.osmocom.org/jenkins/job/gerrit-libosmocore/36/a2=default,a3=...
I already have a long series for mem leak fixes for libosmocore, mostly in the regression testing code, but I count three real mem leak fixes in libosmocore production code.
My plan is to merge the fixes and then actually move the libosmocore-gerrit to debian 9 (or at least add debian 9) to make sure we don't add insanities that the debian 9 build would find.
See https://gerrit.osmocom.org/4861 to https://gerrit.osmocom.org/4875.
I'm also taking a look at the other CellNet builds. The root motivation was to find out why osmo-hnbgw doesn't work for me anymore currently.
~N
On 17/11/17 02:24, Neels Hofmeyr wrote:
My plan is to merge the fixes and then actually move the libosmocore-gerrit to debian 9 (or at least add debian 9) to make sure we don't add insanities that the debian 9 build would find.
Another point in favor of moving to debian9 in jenkins build slaves :)
On Fri, Nov 17, 2017 at 11:02:32AM +0100, Pau Espin Pedrol wrote:
Another point in favor of moving to debian9 in jenkins build slaves :)
if somebody writes/completes the Dockerfile or ansible playbook for it, I'm all for it. But let's not again start with manually-created build slaves.
On Fri, Nov 17, 2017 at 11:57:17AM +0100, Harald Welte wrote:
On Fri, Nov 17, 2017 at 11:02:32AM +0100, Pau Espin Pedrol wrote:
Another point in favor of moving to debian9 in jenkins build slaves :)
if somebody writes/completes the Dockerfile or ansible playbook for it, I'm all for it. But let's not again start with manually-created build slaves.
I understand that we don't want to set up new build slaves without going for docker/ansible.
But for gerrit verifications, switching to deb9 is easy, since we have a deb9 slave ready:
jobs/gerrit-verifications.yml
- slave_axis: !!python/tuple [linux_amd64_debian8] + slave_axis: !!python/tuple [linux_amd64_debian9]
The hard part is/was to get all the reposes to pass the deb9 sanitizer scrutiny.
BTW, I changed the osmo-iuh-gerrit job manually to do deb9 as well, fully aware that the config might be overwritten by a job update anytime, just to quickly test what happens on deb9.
In other news...
I still haven't resolved why on my laptop osmo-hnbgw doesn't build without adding -lsctp -- on the deb9 slave, it links fine without it. I'm pretty stumped on that, have a patch that adds -lsctp again, but ???
Also still haven't resolved why osmo-hnbgw crashes for any attach request for me.
I have the gut feeling that these are related, looking forward to finding out what the heck is going on there and finally resolve this elaborate side track.
~N