Dear authors of Tbf,
can you make sense of this build failure? https://jenkins.osmocom.org/jenkins/job/Osmocom_Sanitizer/373/console
It shows that the expected stderr output of the TbfTest deviates, and the test exits prematurely.
interesting output:
+tbf_dl.cpp:766:65: runtime error: load of value 32767, which is not a valid value for type 'egprs_puncturing_values'
-- got ack for BSN=1258 -- got ack for BSN=1259 -- got ack for BSN=1260 +- got NACK for BSN=1258 +- got NACK for BSN=1259 +- got NACK for BSN=1260
To help reproducing it, find below the jenkins script that runs this sanitizer build.
Thanks for any patches that could fix our sanitizer build!
~Neels
#!/bin/sh
set -ex
export BUILDDIR=$PWD/build/ export PKG_CONFIG_PATH=$BUILDDIR/lib/pkgconfig export LD_LIBRARY_PATH=$BUILDDIR/lib/ export PATH="$PATH:$HOME/osmo-ci/scripts"
build() { RET=$PWD git clone git://git.osmocom.org/$1 source/$1 cd source/$1 git checkout -b build-branch origin/$2 cd $3 autoreconf --install --force ./configure --prefix=$BUILDDIR $4 make check CFLAGS+="-fsanitize=address -fsanitize=undefined" CXXFLAGS+="-fsanitize=address -fsanitize=undefined" ASAN_OPTIONS="detect_leaks=0" UBSAN_OPTIONS="print_stacktrace=1:halt_on_error=1" \ || cat-testlogs.sh make install CFLAGS+="-fsanitize=address -fsanitize=undefined" CXXFLAGS+="-fsanitize=address -fsanitize=undefined" cd $RET }
rm -rf $BUILDDIR rm -rf source mkdir -p source mkdir -p $BUILDDIR/include/sysmocom/femtobts
git clone git://git.sysmocom.de/sysmo-bts/layer1-api.git source/layer1-api/ cp source/layer1-api/include/* $BUILDDIR/include/sysmocom/femtobts/
build libosmocore $LIBOSMOCORE_BRANCH ./ build libosmo-abis $LIBOSMOABIS_BRANCH ./ build libosmo-netif $LIBOSMONETIF_BRANCH ./ build libosmo-sccp $LIBOSMOSCCP_BRANCH ./ # gcc ice's #build libsmpp34 $LIBSMPP_BRANCH build openggsn $OPENGGSN_BRANCH ./ build openbsc $OPENBSC_BRANCH ./openbsc "--enable-nat --enable-osmo-bsc --enable-vty-tests --enable-external-tests" build osmo-pcu $OSMOPCU_BRANCH ./ "--enable-sysmocom-dsp --enable-vty-tests" build osmo-bts $OSMOBTS_BRANCH ./ "--enable-sysmocom-bts --enable-trx"
<bump>
TbfTest still fails for the sanitizer build: https://jenkins.osmocom.org/jenkins/job/Osmocom_Sanitizer/382/console
Aravind, can you find out the cause? You seem to be the most recent contributor to the TbfTest.
Thanks! ~N
On Wed, Nov 30, 2016 at 04:14:19AM +0100, Neels Hofmeyr wrote:
Dear authors of Tbf,
can you make sense of this build failure? https://jenkins.osmocom.org/jenkins/job/Osmocom_Sanitizer/373/console
It shows that the expected stderr output of the TbfTest deviates, and the test exits prematurely.
interesting output:
+tbf_dl.cpp:766:65: runtime error: load of value 32767, which is not a valid value for type 'egprs_puncturing_values'
-- got ack for BSN=1258 -- got ack for BSN=1259 -- got ack for BSN=1260 +- got NACK for BSN=1258 +- got NACK for BSN=1259 +- got NACK for BSN=1260
To help reproducing it, find below the jenkins script that runs this sanitizer build.
Thanks for any patches that could fix our sanitizer build!
~Neels
#!/bin/sh
set -ex
export BUILDDIR=$PWD/build/ export PKG_CONFIG_PATH=$BUILDDIR/lib/pkgconfig export LD_LIBRARY_PATH=$BUILDDIR/lib/ export PATH="$PATH:$HOME/osmo-ci/scripts"
build() { RET=$PWD git clone git://git.osmocom.org/$1 source/$1 cd source/$1 git checkout -b build-branch origin/$2 cd $3 autoreconf --install --force ./configure --prefix=$BUILDDIR $4 make check CFLAGS+="-fsanitize=address -fsanitize=undefined" CXXFLAGS+="-fsanitize=address -fsanitize=undefined" ASAN_OPTIONS="detect_leaks=0" UBSAN_OPTIONS="print_stacktrace=1:halt_on_error=1" \ || cat-testlogs.sh make install CFLAGS+="-fsanitize=address -fsanitize=undefined" CXXFLAGS+="-fsanitize=address -fsanitize=undefined" cd $RET }
rm -rf $BUILDDIR rm -rf source mkdir -p source mkdir -p $BUILDDIR/include/sysmocom/femtobts
git clone git://git.sysmocom.de/sysmo-bts/layer1-api.git source/layer1-api/ cp source/layer1-api/include/* $BUILDDIR/include/sysmocom/femtobts/
build libosmocore $LIBOSMOCORE_BRANCH ./ build libosmo-abis $LIBOSMOABIS_BRANCH ./ build libosmo-netif $LIBOSMONETIF_BRANCH ./ build libosmo-sccp $LIBOSMOSCCP_BRANCH ./ # gcc ice's #build libsmpp34 $LIBSMPP_BRANCH build openggsn $OPENGGSN_BRANCH ./ build openbsc $OPENBSC_BRANCH ./openbsc "--enable-nat --enable-osmo-bsc --enable-vty-tests --enable-external-tests" build osmo-pcu $OSMOPCU_BRANCH ./ "--enable-sysmocom-dsp --enable-vty-tests" build osmo-bts $OSMOBTS_BRANCH ./ "--enable-sysmocom-bts --enable-trx"
--
- Neels Hofmeyr nhofmeyr@sysmocom.de http://www.sysmocom.de/
 =======================================================================
- sysmocom - systems for mobile communications GmbH
 - Alt-Moabit 93
 - 10559 Berlin, Germany
 - Sitz / Registered office: Berlin, HRB 134158 B
 - Geschäftsführer / Managing Directors: Harald Welte
 
On Thu, Dec 08, 2016 at 08:48:46AM +0000, Aravind Sirsikar wrote:
Can you please let me know how to reproduce this sanitizer build issue at my local machine?
My mail contained the build script of the sanitizer build. https://lists.osmocom.org/pipermail/openbsc/2016-November/009901.html
Thanks for taking this on!
~Neels
Hi Neels,
https://lists.osmocom.org/pipermail/openbsc/2016-November/009901.html
The script you shared, expects arguments $1, $2, $3, $4. Please let me know what are these values.
Thanks, Aravind Sirsikar
On Fri, Dec 09, 2016 at 06:57:18AM +0000, Aravind Sirsikar wrote:
Hi Neels,
https://lists.osmocom.org/pipermail/openbsc/2016-November/009901.html
The script you shared, expects arguments $1, $2, $3, $4. Please let me know what are these values.
No, it doesn't :) That's just the internal function expecting $N arguments, they are passed in upon invocation further below.
The variables passed in by jenkins are the branch names to build, they are all simply 'master' and AFAICT can simply be omitted as well.
I do see that you have submitted a patch that was already merged: https://gerrit.osmocom.org/1398
However, the sanitizer build still shows the same error message, with your patch in: https://jenkins.osmocom.org/jenkins/job/Osmocom_Sanitizer/384/console
+tbf_dl.cpp:766:65: runtime error: load of value 32766, which is not a valid value for type 'egprs_puncturing_values'
Have you actually reproduced the error and fixed it, or have you just taken a shot in the dark with your patch? ;)
Anyway, thanks again, I highly appreciate that you're investigating; none of us at sysmocom can possibly fit it in our schedules right now.
~Neels
Hi Aravind,
as said before I appreciate that you attempt to fix the sanitizer build, but unless you will actually reproduce the error on your machine and confirm a fix, we can go on merging random patches of yours indefinitely.
Your second patch to fix asan is in, and the second time the very same problem persists:
+tbf_dl.cpp:766:65: runtime error: load of value 32766, which is not a valid value for type 'egprs_puncturing_values'
I sent the sanitizer build instructions before, but if it helps I can attach my personal asan build script that is able to reproduce the same sanitizer failure. It builds in a subdir 'build-2G' of each git.
~N