Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: gcov: "merge mismatch" errors #10332

Closed
blueyed opened this issue Jun 25, 2019 · 3 comments
Closed

ci: gcov: "merge mismatch" errors #10332

blueyed opened this issue Jun 25, 2019 · 3 comments
Labels
ci automation for build, test, and release
Milestone

Comments

@blueyed
Copy link
Contributor

blueyed commented Jun 25, 2019

This issue is meant to track "merge mismatch" errors due to using gcov.

With https://travis-ci.org/neovim/neovim/jobs/550297606 (restarted) "merge mismatch" errors showed up:

profiling:/home/travis/build/neovim/neovim/build/src/nvim/CMakeFiles/nvim.dir/fileio.c.gcda:Merge mismatch for function 48

edit: Restarting it then worked - so likely not a ccache issue.

I will try clearing the ccache with gcov jobs, to ensure it is not causing problems in this regard.

https://travis-ci.org/neovim/neovim/jobs/553494382:

profiling:/home/travis/build/neovim/neovim/build/src/nvim/CMakeFiles/nvim.dir/shada.c.gcda:Merge mismatch for function 5

blueyed added a commit to blueyed/neovim that referenced this issue Jun 25, 2019
Meant to avoid "merge mismatch" errors, but just a guess.

Ref: neovim#10332
@justinmk justinmk added the ci automation for build, test, and release label Jun 25, 2019
@justinmk justinmk added this to the todo milestone Jun 25, 2019
blueyed added a commit to blueyed/neovim that referenced this issue Jun 25, 2019
Meant to avoid "merge mismatch" errors, but just a guess.

Ref: neovim#10332
@blueyed
Copy link
Contributor Author

blueyed commented Jul 8, 2019

After #10404:

Travis

Not via GCOV_ERROR_FILE (!?)...

https://travis-ci.org/neovim/neovim/jobs/555720182

build/src/nvim/CMakeFiles/nvim.dir/ops.c.gcda:Merge mismatch for function 62

https://travis-ci.org/neovim/neovim/jobs/555885437

build/src/nvim/CMakeFiles/nvim.dir/eval.c.gcda:Merge mismatch for function 62

https://travis-ci.org/neovim/neovim/jobs/555023022:

[----------] Running tests from /home/travis/build/neovim/neovim/test/functional/core/startup_spec.lua
[ RUN      ] startup pipe at both ends: has("ttyin")==0 has("ttyout")==0: 19.24 ms OK
[ RUN      ] startup with --embed: has("ttyin")==0 has("ttyout")==0: 14.28 ms OK
[ RUN      ] startup in a TTY: has("ttyin")==1 has("ttyout")==1: 33.93 ms OK
[ RUN      ] startup output to pipe: has("ttyin")==1 has("ttyout")==0: 31.74 ms OK
[ RUN      ] startup input from pipe: has("ttyin")==0 has("ttyout")==1: 35.04 ms OK
[ RUN      ] startup input from pipe (implicit) #7679: ERR
test/functional/ui/screen.lua:554: Row 1 did not match.
Expected:
  |*^foo                      |
  |~                        |
  |0 1                      |
  |                         |
Actual:
  |*^profiling:/home/travis/bu|
  |ild/neovim/neovim/build/s|
  |rc/nvim/CMakeFiles/nvim.d|
  |                         |
To print the expect() call that would assert the current screen state, use
screen:snapshot_util(). In case of non-deterministic failures, use
screen:redraw_debug() to show all intermediate screen states.  
stack traceback:
	test/functional/ui/screen.lua:554: in function '_wait'
	test/functional/ui/screen.lua:366: in function 'expect'
	...uild/neovim/neovim/test/functional/core/startup_spec.lua:111: in function <...uild/neovim/neovim/test/functional/core/startup_spec.lua:99>
[ RUN      ] startup input from pipe + file args #7679: FAIL
...uild/neovim/neovim/test/functional/core/startup_spec.lua:119: Expected objects to be the same.
Passed in:
(string) 'ohyeah
0 0 bufs=3profiling:/home/travis/build/neovim/neovim/build/src/nvim/CMakeFiles/nvim.dir/eval.c.gcda:Merge mismatch for function 488
'
Expected:
(string) 'ohyeah
0 0 bufs=3'
stack traceback:
	...uild/neovim/neovim/test/functional/core/startup_spec.lua:119: in function <...uild/neovim/neovim/test/functional/core/startup_spec.lua:118>

More:

profiling:/home/travis/build/neovim/neovim/build/src/nvim/CMakeFiles/nvim.dir/ops.c.gcda:Merge mismatch for function 37

From https://travis-ci.org/neovim/neovim/jobs/560116343:

[----------] Running tests from /home/travis/build/neovim/neovim/test/functional/core/channels_spec.lua
[ RUN      ] channels can connect to socket: 0.03 ms SKIP
[ RUN      ] channels can use stdio channel: FAIL
test/functional/helpers.lua:113: Expected objects to be the same.
Passed in:
(table: 0x4081bd08) {
  [1] = 'notification'
  [2] = 'stderr'
 *[3] = {
    [1] = 3
   *[2] = {
     *[1] = 'profiling:/home/travis/build/neovim/neovim/build/src/nvim/CMakeFiles/nvim.dir/ops.c.gcda:Merge mismatch for function 37'
      [2] = '' } } }
Expected:
(table: 0x4b537ae8) {
  [1] = 'notification'
  [2] = 'stderr'
 *[3] = {
    [1] = 3
   *[2] = {
     *[1] = '' } } }
stack traceback:
	test/functional/helpers.lua:113: in function 'expect_twostreams'
	...ild/neovim/neovim/test/functional/core/channels_spec.lua:93: in function <...ild/neovim/neovim/test/functional/core/channels_spec.lua:61>
[ RUN      ] channels can use stdio channel with pty: FAIL
...ild/neovim/neovim/test/functional/core/channels_spec.lua:106: Expected objects to be the same.
Passed in:
(table: 0x41a2d838) {
  [1] = 'notification'
  [2] = 'stdout'
 *[3] = {
    [1] = 3
   *[2] = {
'
      [2] = '' } } }
Expected:
(table: 0x40bd56e0) {
  [1] = 'notification'
  [2] = 'stdout'
 *[3] = {
    [1] = 3
   *[2] = {
     *[1] = '[1, ['TEXT', ''], 'stdin']' } } }
stack traceback:
	...ild/neovim/neovim/test/functional/core/channels_spec.lua:106: in function 'expect_twoline'
	...ild/neovim/neovim/test/functional/core/channels_spec.lua:132: in function <...ild/neovim/neovim/test/functional/core/channels_spec.lua:110>

blueyed added a commit to blueyed/neovim that referenced this issue Jul 15, 2019
…pveyor]

Still unclear why it gets not used (always at least), but this should
help with finding out about it (since it gets run / checked always now).

Ref: neovim#10332
blueyed added a commit to blueyed/neovim that referenced this issue Jul 16, 2019
…pveyor]

Still unclear why it gets not used (always at least), but this should
help with finding out about it (since it gets run / checked always now).

Ref: neovim#10332
blueyed added a commit to blueyed/neovim that referenced this issue Jul 16, 2019
…pveyor]

Still unclear why it gets not used (always at least), but this should
help with finding out about it (since it gets run / checked always now).

Ref: neovim#10332
@blueyed
Copy link
Contributor Author

blueyed commented Jul 17, 2019

For reference: #10480 was merged now, using gcc9 for the coverage job on Linux. Hopefully this fixes problems in this regard, but should at least provide GCOV_ERROR_FILE now.

@justinmk
Copy link
Member

related: #13312

Let's see how it goes if/when we restore the gcov build job.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci automation for build, test, and release
Projects
None yet
Development

No branches or pull requests

2 participants