[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gnustep-base 1.24.7 tests fail with SIGSEGV on PPA buildbot but not
From: |
René J . V . Bertin |
Subject: |
Re: gnustep-base 1.24.7 tests fail with SIGSEGV on PPA buildbot but not locally |
Date: |
Thu, 04 Dec 2014 17:57:29 +0100 |
User-agent: |
KMail/4.13.3 (Darwin/13.3.0; KDE/4.14.3; x86_64; git-a78fb52; 2014-10-10) |
On Thursday December 04 2014 17:20:15 Riccardo Mottola wrote:
Hi,
> tests leave core files!
Well, they only leave them when the system is configured appropriately, but
more importantly, Ubuntu/Launchpad buildbots are ephemeral: they're set up
freshly for each package build, and destroyed immediately afterwards. So even
if I could access them, I doubt it'd be of much use...
> I also supect some of your configure options
>
> ./configure CC="clang" CXX="clang++" LD="clang"
> CPPFLAGS="-D_FORTIFY_SOURCE=2" CFLAGS="-g -O2 -fstack-protector
> --param=ssp-buffer-size=4 -Wformat -Werror=format-security -O3 -fvectorize -g
> -fblocks -fPIC -pthread" \
> OBJCFLAGS="-g -O2 -fstack-protector --param=ssp-buffer-size=4
> -Wformat -Werror=format-security -O3 -fvectorize -g -fblocks -fPIC -pthread"
> LDFLAGS="-Wl,-Bsymbolic-functions -Wl,-z,relro " \
> --disable-bfd --disable-mixedabi --with-installation-domain=SYSTEM
>
> could you leave out all the CFLAGS and CPPLAGS as a test?
I ran exactly the same build procedure (Debian packaging layers atop GNUStep's
own build system) locally on my own system, and there it worked fine. So I did
something else that led me to the problem: I tweaked gnustep-tests and made
sure that my version was used. I first tried to set up signal traps in it that
would connect a debugger to crashing process, but that didn't work out. So I
added a "--backtrace" option, which basically runs the test from inside a
debugger, and always asks for a backtrace when execution stops.
I surely could have whipped up something more elegant, but this crude approach
showed that the crash occurred under
[NSStringClass performSelector: @selector(initialize)]
and that led me to realise that Ubuntu's dependency list didn't include
gnustep-libobjc2 ... Apparently the code *links* fine against the GNU/GCC ObjC
runtime (libobjc4) but applications won't run ...
If you feel like sifting through almost 350kB of output log:
https://launchpad.net/~rjvbertin/+archive/ubuntu/misc/+build/6617906/+files/buildlog_ubuntu-trusty-amd64.gnustep-base_1.24.7-1ubuntu3-rjvb-ppa20141204e_UPLOADING.txt.gz
;)
Thanks for trying to help in any case :)
R.