Ethan Buchman
7670049a31
Merge pull request #845 from tendermint/fix/826-wait-for-rpc
...
rpc: wait for rpc servers to be available in tests
2017-11-15 03:29:05 +00:00
Ethan Buchman
0cd642bca7
Merge pull request #849 from tendermint/846-fix-TestFullRound1-race
...
fix TestFullRound1 race (Refs #846 )
2017-11-15 03:27:59 +00:00
Anton Kaliaev
fe3c92ecce
unescape $NODE_FLAGS (see comment)
2017-11-14 20:56:39 -06:00
Ethan Buchman
a969e24177
crank context timeouts
2017-11-15 01:42:15 +00:00
Emmanuel Odeke
7b0fa6c889
p2p: peer should respect errors from SetDeadline
...
Noticed while auditing the code that we aren't respecting
(*net.Conn) SetDeadline errors which return after
a connection has been killed and is simultaneously
being used.
For example given program, without SetDeadline error checks
```go
package main
import (
"log"
"net"
"time"
)
func main() {
conn, err := net.Dial("tcp", "tendermint.com:443")
if err != nil {
log.Fatal(err)
}
go func() {
<-time.After(400 * time.Millisecond)
conn.Close()
}()
for i := 0; i < 5; i++ {
if err := conn.SetDeadline(time.Now().Add(time.Duration(10 * time.Second))); err != nil {
log.Fatalf("set deadline #%d, err: %v", i, err)
}
log.Printf("Successfully set deadline #%d", i)
<-time.After(150 * time.Millisecond)
}
}
```
erraneously gives
```shell
2017/11/14 17:46:28 Successfully set deadline #0
2017/11/14 17:46:29 Successfully set deadline #1
2017/11/14 17:46:29 Successfully set deadline #2
2017/11/14 17:46:29 Successfully set deadline #3
2017/11/14 17:46:29 Successfully set deadline #4
```
However, if we properly fix it to respect that error with
```diff
--- wild.go 2017-11-14 17:44:38.000000000 -0700
+++ main.go 2017-11-14 17:45:40.000000000 -0700
@@ -16,7 +16,9 @@
conn.Close()
}()
for i := 0; i < 5; i++ {
- conn.SetDeadline(time.Now().Add(time.Duration(10 * time.Second)))
+ if err := conn.SetDeadline(time.Now().Add(time.Duration(10 *
time.Second))); err != nil {
+ log.Fatalf("set deadline #%d, err: %v", i, err)
+ }
log.Printf("Successfully set deadline #%d", i)
<-time.After(150 * time.Millisecond)
}
```
properly catches any problems and gives
```shell
$ go run main.go
2017/11/14 17:43:44 Successfully set deadline #0
2017/11/14 17:43:45 Successfully set deadline #1
2017/11/14 17:43:45 Successfully set deadline #2
2017/11/14 17:43:45 set deadline #3 , err: set tcp 10.182.253.51:57395:
use of closed network connection
exit status 1
```
2017-11-14 18:01:51 -07:00
Anton Kaliaev
fa60d8120e
fix TestFullRound1 race (Refs #846 )
...
```
==================
WARNING: DATA RACE
Write at 0x00c42d7605f0 by goroutine 844:
github.com/tendermint/tendermint/consensus.(*ConsensusState).updateToState()
/home/vagrant/go/src/github.com/tendermint/tendermint/consensus/state.go:465 +0x59e
I[11-14|22:37:28.781] Added to prevote vote="Vote{0:646753DCE124 1/02/1(Prevote) E9B19636DCDB {/CAD5FA805E8C.../}}" prevotes="VoteSet{H:1 R:2 T:1 +2/3:<nil> BA{2:X_} map[]}"
github.com/tendermint/tendermint/consensus.(*ConsensusState).finalizeCommit()
/home/vagrant/go/src/github.com/tendermint/tendermint/consensus/state.go:1229 +0x16a9
github.com/tendermint/tendermint/consensus.(*ConsensusState).tryFinalizeCommit()
/home/vagrant/go/src/github.com/tendermint/tendermint/consensus/state.go:1135 +0x721
github.com/tendermint/tendermint/consensus.(*ConsensusState).enterCommit.func1()
/home/vagrant/go/src/github.com/tendermint/tendermint/consensus/state.go:1087 +0x153
github.com/tendermint/tendermint/consensus.(*ConsensusState).enterCommit()
/home/vagrant/go/src/github.com/tendermint/tendermint/consensus/state.go:1114 +0xa34
github.com/tendermint/tendermint/consensus.(*ConsensusState).addVote()
/home/vagrant/go/src/github.com/tendermint/tendermint/consensus/state.go:1423 +0xdd6
github.com/tendermint/tendermint/consensus.(*ConsensusState).tryAddVote()
/home/vagrant/go/src/github.com/tendermint/tendermint/consensus/state.go:1317 +0x77
github.com/tendermint/tendermint/consensus.(*ConsensusState).handleMsg()
/home/vagrant/go/src/github.com/tendermint/tendermint/consensus/state.go:565 +0x7a9
github.com/tendermint/tendermint/consensus.(*ConsensusState).receiveRoutine()
/home/vagrant/go/src/github.com/tendermint/tendermint/consensus/state.go:523 +0x6d2
Previous read at 0x00c42d7605f0 by goroutine 654:
github.com/tendermint/tendermint/consensus.validatePrevote()
/home/vagrant/go/src/github.com/tendermint/tendermint/consensus/common_test.go:149 +0x57
github.com/tendermint/tendermint/consensus.TestFullRound1()
/home/vagrant/go/src/github.com/tendermint/tendermint/consensus/state_test.go:256 +0x3c5
testing.tRunner()
/usr/local/go/src/testing/testing.go:746 +0x16c
Goroutine 844 (running) created at:
github.com/tendermint/tendermint/consensus.(*ConsensusState).startRoutines()
/home/vagrant/go/src/github.com/tendermint/tendermint/consensus/state.go:258 +0x8c
github.com/tendermint/tendermint/consensus.startTestRound()
/home/vagrant/go/src/github.com/tendermint/tendermint/consensus/common_test.go:118 +0x63
github.com/tendermint/tendermint/consensus.TestFullRound1()
/home/vagrant/go/src/github.com/tendermint/tendermint/consensus/state_test.go:247 +0x1fb
testing.tRunner()
/usr/local/go/src/testing/testing.go:746 +0x16c
Goroutine 654 (running) created at:
testing.(*T).Run()
/usr/local/go/src/testing/testing.go:789 +0x568
testing.runTests.func1()
/usr/local/go/src/testing/testing.go:1004 +0xa7
testing.tRunner()
/usr/local/go/src/testing/testing.go:746 +0x16c
testing.runTests()
/usr/local/go/src/testing/testing.go:1002 +0x521
testing.(*M).Run()
/usr/local/go/src/testing/testing.go:921 +0x206
main.main()
github.com/tendermint/tendermint/consensus/_test/_testmain.go:106 +0x1d3
==================
```
2017-11-14 17:41:30 -06:00
caffix
8b7649b90c
enhancements made in response to PR full review comments
2017-11-14 18:26:06 -05:00
caffix
687834c99e
added initial trust metric test routines
2017-11-14 18:26:06 -05:00
caffix
54c25ccbf5
integrated trust metric store as per PR comments
2017-11-14 18:26:06 -05:00
caffix
e160a6198c
added initial trust metric design doc and code
2017-11-14 18:26:06 -05:00
Ethan Buchman
e69d36d54f
some more robust sleeps
2017-11-14 22:31:23 +00:00
Ethan Buchman
844c43e044
use stdlib context
2017-11-14 22:30:00 +00:00
Ethan Buchman
194712fd3b
rpc: wait for rpc servers to be available in tests
2017-11-14 21:51:49 +00:00
Anton Kaliaev
bee7c5c7aa
Merge tag 'v0.7.1' into develop
...
Tagged 0.7.1 release
2017-11-14 13:10:35 -06:00
Anton Kaliaev
76ef8a0697
Merge branch 'release/0.7.1'
2017-11-14 13:10:17 -06:00
Anton Kaliaev
bac924e399
update version
2017-11-14 13:09:27 -06:00
Anton Kaliaev
f808dd5596
update CHANGELOG
2017-11-14 13:09:19 -06:00
Anton Kaliaev
a5f624174d
Merge pull request #135 from tendermint/server/minor-refactor
...
server: minor refactor
2017-11-14 13:02:05 -06:00
Anton Kaliaev
bf34c378e9
Merge pull request #136 from tendermint/update-go-version-and-deps
...
Update go version and deps
2017-11-14 12:58:35 -06:00
Anton Kaliaev
1d49453ffb
fix integration tests ( Fixes #131 )
2017-11-14 12:53:40 -06:00
Anton Kaliaev
f2bf7d1b2d
update go version to 1.9.2
2017-11-14 12:26:01 -06:00
Anton Kaliaev
a52b98c70e
update deps
2017-11-14 12:25:52 -06:00
Ethan Buchman
30f675aafa
Merge pull request #839 from tendermint/bugfix/pubsub-failures
...
Fix nondeterministic tests failures related to pubsub
2017-11-14 18:13:47 +00:00
Ethan Buchman
695266e907
Merge pull request #844 from tendermint/bunch-up-p2p.AddrBook-wg-calls
...
p2p: comment on the wg.Add before go saveRoutine()
2017-11-14 17:18:27 +00:00
Ethan Buchman
3bd8782ab2
server: minor refactor
2017-11-14 17:10:22 +00:00
Ethan Buchman
3972635c23
Merge pull request #129 from paulrd/patch-1
...
Wrong 'error' variable is being read in socket_server.go
2017-11-14 16:54:49 +00:00
Ethan Buchman
3db44dacae
Merge pull request #840 from tendermint/fix/tests
...
Fix/tests
2017-11-14 15:48:17 +00:00
Emmanuel Odeke
62c1bc0a20
p2p: comment on the wg.Add before go saveRoutine()
...
Just noticed while auditing the code in p2p/addrbook.go,
wg.Add(1) but no subsequent defer.
@jaekwon and I had a discussion offline and we agreed to
comment about why the code was that way and why
we shouldn't move the wg.Add(1) into .saveRoutine() because
if go a.saveRoutine() isn't started before anyone invokes
a.Wait(), then we'd have raced a.saveRoutine().
2017-11-13 18:14:58 -07:00
Ethan Frey
2649c056cd
Minor cleanup
2017-11-13 14:54:14 +01:00
Ethan Frey
9d78be41b5
Update tmlibs to sdk-develop, fix broken test
2017-11-13 14:41:00 +01:00
Ethan Frey
2d4544d6ce
Tests compile
2017-11-13 14:36:43 +01:00
Ethan Frey
4173d1031e
go build compiles
2017-11-13 14:36:43 +01:00
Ethan Frey
9ef978c5ec
Fix errors except for es missing
2017-11-13 14:36:43 +01:00
Ethan Frey
946c9c573e
Handle generating keys
2017-11-13 14:36:43 +01:00
Ethan Frey
ac841a6124
Fixed imports
2017-11-13 14:36:43 +01:00
Jae Kwon
a2583e2783
Draft of suggested changes
2017-11-13 14:36:43 +01:00
Petabyte Storage
3863885c71
WIP: begin parallel refactoring with go-wire Write methods and MConnection
2017-11-12 22:11:15 -08:00
Anton Kaliaev
7dbf69df7d
Merge pull request #132 from tendermint/use-makefile-commands-in-readme
...
use Makefile commands in readme [ci skip]
2017-11-12 22:31:55 -05:00
Anton Kaliaev
64c756de47
use Makefile commands in readme [ci skip]
2017-11-12 22:30:41 -05:00
Ethan Buchman
238e2b72ee
Merge pull request #834 from tendermint/829-enable-logs-by-default
...
Enable logs by default
2017-11-12 07:06:14 +00:00
Ethan Buchman
a65ab3b0e0
Merge pull request #838 from tendermint/docker
...
docker update || 0.12.0
2017-11-12 06:51:01 +00:00
Ethan Buchman
aba8a8f4fc
consensus: crank timeout in timeoutWaitGroup
2017-11-12 06:41:15 +00:00
Ethan Buchman
0448c2b437
consensus: fix LastCommit log
2017-11-12 06:40:27 +00:00
Ethan Buchman
0ada0cf525
certifiers: test uses WaitForHeight
2017-11-12 00:43:16 +00:00
Jae Kwon
56e51bc113
CacheWrap() -> CacheDB() CacheDB
2017-11-11 17:37:30 -05:00
Anton Kaliaev
2442a0a698
Merge pull request #78 from tendermint/editorconfig
...
add .editorconfig
2017-11-11 11:32:59 -05:00
Anton Kaliaev
4ea6340f1a
add .editorconfig
2017-11-11 11:25:30 -05:00
Anton Kaliaev
7fa12662c4
check whatever we can read from the channel
...
```
panic: interface conversion: interface {} is nil, not types.TMEventData
goroutine 7690 [running]:
github.com/tendermint/tendermint/consensus.waitForAndValidateBlock.func1(0xc427727620, 0x3)
/go/src/github.com/tendermint/tendermint/consensus/reactor_test.go:292 +0x62b
created by github.com/tendermint/tendermint/consensus.timeoutWaitGroup
/go/src/github.com/tendermint/tendermint/consensus/reactor_test.go:349 +0xa4
exit status 2
FAIL github.com/tendermint/tendermint/consensus 38.614s
```
2017-11-10 18:16:31 -05:00
Anton Kaliaev
bc9c4e8dee
update readme [ci skip]
2017-11-10 15:38:32 -05:00
Anton Kaliaev
8004af2519
update docker readme
2017-11-10 15:17:13 -05:00