On Tue, May 14, 2019 at 12:32 AM Jeffrey Walton <[email protected]> wrote: > > Cancel... A reboot fixed it.
My bad... This issue is still present. (I retested on the wrong machine). I see a difference, but I am not clear why. First, the successful tests, like Runners 1 and 2, use my "-Wl,-R,/var/sanitize/lib64 -Wl,--enable-new-dtags". The runpath can be overridden with LD_LIBRARY_PATH. libtool: link: gcc -g2 -O2 -fsanitize=address -fno-omit-frame-pointer -march=native -fPIC -pthread -fsanitize=address -Wl,-R -Wl,/var/sanitize/lib64 -Wl,--enable-new-dtags -o test-verify test-verify.o -Wl,--no-as-needed -L/var/sanitize/lib64 libtests.a ../../lib/gl/.libs/libgnu.a libtests.a -ldl -lpthread -pthread gmake[4]: Leaving directory '/home/build/libidn-1.35/lib/gltests' gmake check-TESTS gmake[4]: Entering directory '/home/build/libidn-1.35/lib/gltests' gmake[5]: Entering directory '/home/build/libidn-1.35/lib/gltests' PASS: test-alloca-opt PASS: test-c-ctype ... However, the Gnulib tests fail, and they discard/override my flags and use "-Wl,-rpath -Wl,/var/sanitize/lib64": libtool: link: gcc -g2 -O2 -fsanitize=address -fno-omit-frame-pointer -march=native -fPIC -pthread -fsanitize=address -Wl,-R -Wl,/var/sanitize/lib64 -Wl,--enable-new-dtags -o tst_tld tst_tld.o -Wl,--no-as-needed -L/var/sanitize/lib64 libutils.a ../lib/.libs/libidn.so ../gl/.libs/libgnu.a -ldl -lpthread -pthread -Wl,-rpath -Wl,/home/build/libidn-1.35/lib/.libs -Wl,-rpath -Wl,/var/sanitize/lib64 gmake[2]: Leaving directory '/home/build/libidn-1.35/tests' gmake check-TESTS gmake[2]: Entering directory '/home/build/libidn-1.35/tests' gmake[3]: Entering directory '/home/build/libidn-1.35/tests' FAIL: tst_stringprep FAIL: tst_punycode ... I think that means the test runner has to find the runtime libraries at /var/sanitize/lib64 or FAIL. FAIL because (1) rpaths (ass opposed to runpaths) cannot be overridden with LD_LIBRARY_PATH, and (2) the libraries are not yet installed. Does anyone have an idea how to fix this? Jeff > On Mon, May 13, 2019 at 3:37 PM Jeffrey Walton <[email protected]> wrote: > > > > Hi Everyone, > > > > I'm catching some failed self tests during IDN testing with Asan. The > > first two tests runners are OK. The third runner fails as shown below. > > > > When I check tests/test-suite.log I see: > > > > FAIL: tst_stringprep > > ==================== > > > > ==3648==ASan runtime does not come first in initial library list; you > > should either link runtime to your application or manually preload it > > with LD_PRELOAD. > > FAIL tst_stringprep (exit status: 1) > > > > libidn.so looks OK: > > > > $ ldd libidn-1.35/lib/.libs/libidn.so > > linux-vdso.so.1 (0x00007ffdbda7d000) > > libasan.so.5 => /lib64/libasan.so.5 (0x00007f25b7a04000) > > ... > > > > The third test runner uses -fsanitize=address as requested. I > > inspected all messages with 'libtool: link:', and they look OK. All > > links that produce artifacts use the sanitizer option. I did not see > > use of LD_PRELOAD, so I don't believe it is causing the error. > > > > Why is the third test runner failing? > > > > ======================================== > > > > # Tail of third runner build > > ... > > /bin/sh ../libtool --tag=CC --mode=link gcc -g2 -O2 > > -fsanitize=address -fno-omit-frame-pointer -march=native -fPIC > > -pthread -no-install -L/var/sanitize/lib64 -fsanitize=address > > -Wl,-R,/var/sanitize/lib64 -Wl,--enable-new-dtags -o tst_tld tst_tld.o > > libutils.a ../lib/libidn.la ../gl/libgnu.la -ldl -lpthread > > -Wl,--no-as-needed > > libtool: link: gcc -g2 -O2 -fsanitize=address -fno-omit-frame-pointer > > -march=native -fPIC -pthread -fsanitize=address -Wl,-R > > -Wl,/var/sanitize/lib64 -Wl,--enable-new-dtags -o tst_tld tst_tld.o > > -Wl,--no-as-needed -L/var/sanitize/lib64 libutils.a > > ../lib/.libs/libidn.so ../gl/.libs/libgnu.a -ldl -lpthread -pthread > > -Wl,-rpath -Wl,/home/build/libidn-1.35/lib/.libs -Wl,-rpath > > -Wl,/var/sanitize/lib64 > > gmake[2]: Leaving directory '/home/build/libidn-1.35/tests' > > gmake check-TESTS > > gmake[2]: Entering directory '/home/build/libidn-1.35/tests' > > gmake[3]: Entering directory '/home/build/libidn-1.35/tests' > > FAIL: tst_stringprep > > FAIL: tst_punycode > > FAIL: tst_idna > > FAIL: tst_idna2 > > FAIL: tst_idna3 > > FAIL: tst_idna4 > > FAIL: tst_nfkc > > FAIL: tst_pr29 > > FAIL: tst_strerror > > FAIL: tst_toutf8 > > FAIL: tst_symbols > > FAIL: tst_badutf8 > > FAIL: tst_utf8crash > > FAIL: tst_toascii64oob > > FAIL: tst_badutf8nfkc > > FAIL: tst_tld _______________________________________________ Help-libidn mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-libidn
