Skip to content
This repository has been archived by the owner on Oct 4, 2019. It is now read-only.

tests fail sporadically on CI #245

Closed
whilei opened this issue May 25, 2017 · 2 comments
Closed

tests fail sporadically on CI #245

whilei opened this issue May 25, 2017 · 2 comments
Assignees
Projects

Comments

@whilei
Copy link
Contributor

whilei commented May 25, 2017

Multiple tests fail seemingly without relation to one another and all unpredictably/inconsistently. Often in downloader_test.go. Seemingly most frequently on Travis.

My best guess is either insufficient sleep time to set data, which may mean that a solution involves swapping sleep for a waiter for anticipated value.

This Issue should be used to track downloader CI test fails in order to establish a better picture of when and where they happen, and propose/address solution attempts. Tracked failures should be when only the presented test is the source of failure.


Branch: master, Commit: 5d69faf
Failed on: Linux [Travis]

--- FAIL: TestFailedSyncProgress63Full (1.09s)
	downloader_test.go:1596: failed to synchronise blocks: retrieved hash chain is invalid
	downloader_test.go:1611: Final progress mismatch: have 0/940/1009, want 0-504/1009/1009

https://travis-ci.org/ethereumproject/go-ethereum/jobs/235704306


Branch: monetary-policy, Commit: 8d344a8
Failed on: Linux [Travis]

--- FAIL: TestFastCriticalRestarts63 (15.26s)
	downloader_test.go:1788: failed to synchronise blocks in slow sync: no peers available or all tried for download

https://travis-ci.org/ethereumproject/go-ethereum/jobs/235838136


Branch: accounts-cachedb, Commit: 44d9eaa
Failed on: OSX [Travis]

--- FAIL: TestPeerProtoReadMsg (0.00s)
	peer_test.go:93: peer returned: Subprotocol error

https://travis-ci.org/ethereumproject/go-ethereum/jobs/234563051


Branch: release-3.4.0, Commit: 712e861
Failed on: OSX [Travis]

--- FAIL: TestFastCriticalRestarts64 (9.17s)
	downloader_test.go:1788: failed to synchronise blocks in slow sync: no peers available or all tried for download

https://travis-ci.org/ethereumproject/go-ethereum/jobs/234563051


Branch: changelog, Commit: f97403c2
Failed on: Windows [AppVeyor]

--- FAIL: TestMissingHeaderAttack62 (0.50s)
	downloader_test.go:1170: failed to synchronise blocks: retrieved hash chain is invalid

https://ci.appveyor.com/project/splix/go-ethereum/build/1.0.390#L137


Branch: account-filepath, Commit: ba03cb3
Failed on: Linux [Travis]

--- FAIL: TestFastCriticalRestarts63 (12.82s)
	downloader_test.go:1788: failed to synchronise blocks in slow sync: no peers available or all tried for download

https://travis-ci.org/ethereumproject/go-ethereum/jobs/236465111


Branch: add-status-command, Commit: abae4da
Failed on: Linux [Travis]

--- FAIL: TestFakedSyncProgress63Full (1.49s)
	downloader_test.go:1677: failed to synchronise blocks: retrieved hash chain is invalid
	downloader_test.go:1693: Final progress mismatch: have 0/936/1009, want 0-1009/1009/1009

https://travis-ci.org/ethereumproject/go-ethereum/jobs/237559982


Branch: add-status-command, Commit: 81fb1d9
Failed on: Linux [Travis]

--- FAIL: TestPeerProtoReadMsg (0.00s)
	peer_test.go:93: peer returned: Subprotocol error

https://travis-ci.org/ethereumproject/go-ethereum/jobs/238081913


Branch: monetary-policy, Commit: e2b8789
Failed on: Windows [AppVeyor]

--- FAIL: TestDirectMessage (1.16s)
	whisper_test.go:118: direct message receive timeout

https://ci.appveyor.com/project/splix/go-ethereum/build/1.0.435

@whilei
Copy link
Contributor Author

whilei commented May 26, 2017

50ff54c: An attempt to solve TestFastCriticalRestarts.
Successes: 1, Fails: 0.

whilei added a commit to whilei/go-ethereum that referenced this issue Jun 2, 2017
Solution: provide -short flag on CI tests,
skipping tests that are known to fail

I figure it is better to have known absences of
information than unpredictable false negatives in
foreign test environment... consider it a patch
until the root of the tests' problems can be
resolved.

Rel ethereumproject#245
whilei added a commit to whilei/go-ethereum that referenced this issue Jun 2, 2017
Solution: provide option to skip tests with env variable
set in .travis.yml

Rel: ethereumproject#245
whilei added a commit to whilei/go-ethereum that referenced this issue Jun 5, 2017
Problem: migration tests curl times out on CI sometimes

Solution: provide option to skip tests with env variable
set in .travis.yml

Problem: downloader_test is unpredictable

Solution: copy EF's implementation (shameless!)

Problem: non idiomatic range loop

Solution: make idiomatic

Problem: peer test fails sometimes (times out)

Solution: remove done channel (per EF)

Rel ethereumproject#245
whilei added a commit to whilei/go-ethereum that referenced this issue Jun 5, 2017
Problem: migration tests curl times out on CI sometimes

Solution: provide option to skip tests with env variable
set in .travis.yml

Problem: downloader_test is unpredictable

Solution: copy EF's implementation (shameless!)

Problem: non idiomatic range loop

Solution: make idiomatic

Problem: peer test fails sometimes (times out)

Solution: remove done channel  and create
errProtocolReturn error (per EF)

Rel ethereumproject#245
whilei added a commit to whilei/go-ethereum that referenced this issue Jun 5, 2017
Problem: migration tests curl times out on CI sometimes

Solution: provide option to skip tests with env variable
set in .travis.yml

Problem: downloader_test is unpredictable

Solution: copy EF's implementation (shameless!)

Problem: non idiomatic range loop

Solution: make idiomatic

Problem: peer test fails sometimes (times out)

Solution: remove done channel  and create
errProtocolReturn error (per EF)

Rel ethereumproject#245
whilei added a commit to whilei/go-ethereum that referenced this issue Jun 5, 2017
Problem: migration tests curl times out on CI sometimes

Solution: provide option to skip tests with env variable
set in .travis.yml

Problem: downloader_test is unpredictable

Solution: copy EF's implementation (shameless!)

Problem: non idiomatic range loop

Solution: make idiomatic

Problem: peer test fails sometimes (times out)

Solution: remove done channel  and create
errProtocolReturn error (per EF)

Rel ethereumproject#245
@whilei whilei added this to Next in Geth Jun 6, 2017
@whilei whilei moved this from Next to Backlog in Geth Sep 11, 2017
@whilei whilei added this to the 4.3 - EVM+SputnikVM milestone Oct 21, 2017
@tzdybal tzdybal self-assigned this Dec 19, 2017
@tzdybal
Copy link
Contributor

tzdybal commented Feb 2, 2018

Accidentally found, that running tests locally with -test.memprofilerate=1 -memprofile memprof.out helps to reproduce the errors.

@whilei whilei mentioned this issue Mar 23, 2018
4 tasks
whilei added a commit that referenced this issue Apr 14, 2018
solution: move to a deterministic k-value using RFC6979

rel ethereum/go-ethereum#2190
rel ethereum/go-ethereum#3561
rel #245
@soc1c soc1c closed this as completed Jun 14, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
No open projects
Geth
Backlog
Development

No branches or pull requests

4 participants