Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@k-takata
Copy link
Member

It seems that #1884 failed because libgtk2.0-dev was missing.

If libgtk2.0-dev is installed, almost all jobs passes: https://travis-ci.org/k-takata/vim/builds/259091225
But still one job fails: https://travis-ci.org/k-takata/vim/jobs/259091233

==8520==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 520 byte(s) in 1 object(s) allocated from:

    #0 0x4e48eb in __interceptor_malloc /home/ben/development/llvm/3.5/final/llvm.src/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:40:3

    #1 0x2b8c938b58a8 in XtMalloc (/usr/lib/x86_64-linux-gnu/libXt.so.6+0x138a8)
...

Any ideas?

@chrisbra
Copy link
Member

chrisbra commented Aug 2, 2017

isn't that a leak in the X libraries?

@k-takata
Copy link
Member Author

k-takata commented Aug 2, 2017

If so, only we can do is disabling this test?

@brammool
Copy link
Contributor

brammool commented Aug 2, 2017

valgrind always reports leaks in X libraries. It's probably related to their own way of allocating memory. Nothing we can do about it, ignore....

@dpelle
Copy link
Member

dpelle commented Aug 2, 2017

This link explains how to suppress reporting of some leaks with lsan:
https://github.com/google/sanitizers/wiki/AddressSanitizerLeakSanitizer

@k-takata k-takata force-pushed the update-to-trusty2 branch from 758ce51 to c7ddf98 Compare August 3, 2017 14:36
@k-takata
Copy link
Member Author

k-takata commented Aug 3, 2017

It seems that the leaks in X libraries were successfully suppressed, however, another problem occurred.
https://travis-ci.org/vim/vim/jobs/260612726

Executing Test_ruby_evaluate_dict()
�[?2004l�[?1l�>�[?12l�[?25h�[?1049lVim: Caught deadly signal ABRT

@chrisbra
Copy link
Member

chrisbra commented Aug 3, 2017

that is seems to be a problem on the Mac builds. Perhaps because it is linking against the wrong ruby headers? I don't have a mac, so not sure.

Also unfortunately, we don't see the leak logfile because of this:

�[0K$ if [ -n "$ASAN_OPTIONS" ]; then for log in $(find -type f -name 'asan.*' -size +0); do cat "$log"; err=1; done; fi
find: illegal option -- t
usage: find [-H | -L | -P] [-EXdsx] [-f path] path ... [expression]
       find [-H | -L | -P] [-EXdsx] -f path [path ...] [expression]

There is one remaining problem on the linux system: the po check script aborts somehow:

make[2]: Entering directory `/home/travis/build/vim/vim/src/po'
../vim -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq af.po
make[2]: *** [af.ck] Error 1
make[2]: Leaving directory `/home/travis/build/vim/vim/src/po'
make[1]: *** [scripttests] Error 2
make[1]: Leaving directory `/home/travis/build/vim/vim/src'
make: *** [test] Error 2

Unfortunately, we don't see the error here...

@k-takata
Copy link
Member Author

k-takata commented Aug 3, 2017

Sorry, I mistakenly updated the build matrix. ASAN should have been skipped on macOS.

Latest log:
https://travis-ci.org/vim/vim/jobs/260637207

@k-takata
Copy link
Member Author

k-takata commented Aug 3, 2017

https://travis-ci.org/k-takata/vim/jobs/260685607#L9852

==11194==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 48 byte(s) in 6 object(s) allocated from:
    #0 0x4e48eb in __interceptor_malloc /home/ben/development/llvm/3.5/final/llvm.src/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:40:3
    #1 0x2b1e137c4b49 in __strdup (/lib/x86_64-linux-gnu/libc.so.6+0x88b49)

-----------------------------------------------------
Suppressions used:
  count      bytes template
     35       1688 libX11.so.6
      7        652 libXt.so.6
-----------------------------------------------------

SUMMARY: AddressSanitizer: 48 byte(s) leaked in 6 allocation(s).

Now the leaks in X libraries were successfully suppressed, but another leak detected.

@chrisbra
Copy link
Member

chrisbra commented Aug 3, 2017

Hm,
so apparently, it broke on test11. I just tried here locally (but don't have trusty here) and couldn't not reproduce this issue.
Perhaps we should disable the sanitizer builds, if they don't work correctly. Does it work, if you use gcc instead of clang?

diff --git a/.travis.yml b/.travis.yml
index 17f041807..9a0b44dfa 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -46,7 +46,7 @@ matrix:
             FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no ASAN_OPTIONS="print_stacktrace=1 log_path=asan"
             "CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
     - os: linux
-      compiler: gcc
+      compiler: clang
       env: BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
             FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no ASAN_OPTIONS="print_stacktrace=1 log_path=asan"
             "CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"

@codecov-io
Copy link

codecov-io commented Aug 4, 2017

Codecov Report

Merging #1897 into master will decrease coverage by 0.3%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #1897      +/-   ##
==========================================
- Coverage   75.08%   74.78%   -0.31%     
==========================================
  Files          76       77       +1     
  Lines      125301   125674     +373     
  Branches        0    28120   +28120     
==========================================
- Hits        94088    93988     -100     
- Misses      31213    31686     +473
Impacted Files Coverage Δ
src/pty.c 55.55% <0%> (-16.67%) ⬇️
src/os_unix.c 52.69% <0%> (-4.71%) ⬇️
src/if_cscope.c 73.94% <0%> (-2.42%) ⬇️
src/if_perl.xs 85.74% <0%> (-0.67%) ⬇️
src/memline.c 72.22% <0%> (-0.4%) ⬇️
src/farsi.c 59.03% <0%> (-0.29%) ⬇️
src/message.c 68.09% <0%> (-0.27%) ⬇️
src/list.c 88.63% <0%> (-0.26%) ⬇️
src/if_python3.c 77.03% <0%> (-0.26%) ⬇️
src/term.c 52.76% <0%> (-0.24%) ⬇️
... and 44 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2f3a90a...c5d7438. Read the comment docs.

@chrisbra
Copy link
Member

chrisbra commented Aug 5, 2017

did ASAN with gcc work?

@k-takata
Copy link
Member Author

k-takata commented Aug 5, 2017

Yes, it worked. However, the coverage decreased about 4% on coveralls and about 1% on codecov.
It seems that if_python3 is not covered, but not sure why.

@chrisbra
Copy link
Member

chrisbra commented Aug 5, 2017

Hm, I believe this is a problem of coverage and clang:

�[0K$ if [ "$COVERAGE" = "yes" ]; then ~/.local/bin/coveralls -b $SRCDIR -x .xs -e ${SRCDIR}/xxd -e ${SRCDIR}/if_perl.c --encodings utf-8 latin-1 EUC-KR; fi
/home/travis/build/vim/vim/src/objects/gui_gtk_x11.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/if_perl.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/os_unix.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/quickfix.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/if_lua.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/tag.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/channel.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/normal.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/netbeans.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/pathdef.gcno:version '402*', prefer '408*'
/home/travis/build/vim/vim/src/objects/pathdef.gcno:no functions found
/home/travis/build/vim/vim/src/objects/popupmnu.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/pty.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/if_python3.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/sha256.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/option.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/arabic.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/crypt.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/if_python.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/buffer.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/crypt_zip.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/blowfish.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/diff.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/main.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/dict.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/mark.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/digraph.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/move.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/hashtab.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/farsi.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/memfile.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/fileio.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/if_xcmdsrv.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/mbyte.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/ex_eval.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/fold.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/list.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/json.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/charset.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/if_cscope.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/hardcopy.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/ex_cmds2.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/misc1.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/menu.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/ex_getln.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/getchar.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/if_ruby.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/memline.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/edit.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/misc2.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/if_perlsfio.gcno:version '402*', prefer '408*'
/home/travis/build/vim/vim/src/objects/if_perlsfio.gcno:no functions found
/home/travis/build/vim/vim/src/objects/ex_cmds.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/version.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/eval.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/ex_docmd.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/evalfunc.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/ops.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/terminal.gcno:version '402*', prefer '408*'
/home/travis/build/vim/vim/src/objects/terminal.gcno:no functions found
/home/travis/build/vim/vim/src/objects/search.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/message.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/spellfile.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/ui.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/term.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/undo.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/screen.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/spell.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/userfunc.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/syntax.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/gui_gtk_f.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/regexp.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/gui.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/gui_beval.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/gui_gtk.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
/home/travis/build/vim/vim/src/objects/window.gcno:version '402*', prefer '408*'
Segmentation fault (core dumped)
{u'url': u'https://coveralls.io/jobs/28216800', u'message': u'Job #3641.5'}

travis_time:end:064ac904:start=1501855002675320804,finish=1501855013262221121,duration=10586900317
�[0Ktravis_fold:end:after_success.1
�[0Ktravis_fold:start:after_success.2
�[0Ktravis_time:start:01257b68
�[0K$ if [ "$COVERAGE" = "yes" ]; then  cd $SRCDIR && bash <(curl -s https://codecov.io/bash) ; fi

  _____          _
 / ____|        | |
| |     ___   __| | ___  ___ _____   __
| |    / _ \ / _` |/ _ \/ __/ _ \ \ / /
| |___| (_) | (_| |  __/ (_| (_) \ V /
 \_____\___/ \__,_|\___|\___\___/ \_/
                              Bash-d109cc7


�[0;90m==>�[0m Travis CI detected.
    �[0;90mproject root:�[0m /home/travis/build/vim/vim
    �[0;32mYaml not found, that's ok! Learn more at�[0m �[0;36mhttp://docs.codecov.io/docs/codecov-yaml�[0m
�[0;90m==>�[0m Running gcov in /home/travis/build/vim/vim �[0;90m(disable via -X gcov)�[0m
/home/travis/build/vim/vim/src/xxd/xxd.gcno:version '402*', prefer '408*'
find: `gcov' terminated by signal 11
�[0;90m==>�[0m Python coveragepy not found
�[0;90m==>�[0m Searching for coverage reports in:
    �[0;32m+�[0m /home/travis/build/vim/vim
�[0;31m-->�[0m No coverage report found.
    Please visit �[0;36mhttp://docs.codecov.io/docs/supported-languages�[0m

travis_time:end:01257b68:start=1501855013267967160,finish=1501855014060411389,duration=792444229
�[0Ktravis_fold:end:after_success.2
�[0K
Done. Your build exited with 0.

I googled this message: :version '402*', prefer '408*', it seems to be about a version mismatch:
https://stackoverflow.com/q/12454175/789222

I don't know why we use cpp-coveralls=0.3.2, can you try with the latest version cpp-coveralls=0.4.0?

@k-takata
Copy link
Member Author

k-takata commented Aug 6, 2017

The gcov version mismatch was solved by using llvm-cov instead of gcov when compiler is clang.

if_python3 didn't worked because python 3.5 which was installed by pyenv was used.
I tried to use pyenv global system to use system python, but it didn't work. So I modified $PATH manually: https://github.com/vim/vim/pull/1897/files#diff-354f30a63fb0907d4ad57269548329e3R84
(It would be nice if someone find a better solution for this.)

I added scripts for showing all if_xx versions: src/testdir/if_ver-1.vim and src/testdir/if_ver-2.vim.
Now we can check if the interfaces work correctly: https://travis-ci.org/vim/vim/jobs/261453975#L1381-L1398

The coverage still decreases a bit, but I suppose it is because of compiler version or something, and I don't think there are anything we can do for this.

I think this PR is ready to be merged.

@k-takata k-takata changed the title [WIP] Update to trusty (2nd try) Update to trusty (2nd try) Aug 6, 2017
@brammool brammool closed this in 02113ed Aug 6, 2017
@k-takata k-takata deleted the update-to-trusty2 branch July 17, 2018 04:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants