Commit Graph

2592 Commits

Author SHA1 Message Date
Mamy Ratsimbazafy 19ed330f74
boolean fail gain 2020-09-30 16:46:31 +02:00
Mamy Ratsimbazafy a455dc1bc0
Bump confutils to allow overriding CLI options https://github.com/status-im/nim-confutils/pull/22 (#1781) 2020-09-30 16:37:29 +02:00
Ștefan Talpalaru 3c75e2ae28
update Grafana dashboard 2020-09-30 15:49:37 +02:00
tersec 7eaaab908c
fix output of proposer slashing test fixture (#1780)
* fix output of proposer slashing test fixture

* run make test

* a few more v0.12.3 spec refs
2020-09-30 13:12:03 +00:00
Mamy Ratsimbazafy 9f104d4344
more user friendly default log-level (#1777) 2020-09-29 17:55:58 +02:00
tersec a1a8da82b4
replace assertion with warning message (#1776) 2020-09-29 17:15:49 +02:00
Mamy Ratsimbazafy 6f455fb8e4
Revert "ARM64 BLST hotfix - disable BLST on ARM64 (#1753)" (#1775)
This reverts commit feece1382d.
2020-09-29 14:43:32 +02:00
Giovanni Petrantoni 0c921b7bc0
Multinet fixes (#1774)
* add missing hardcoded preset value

* wip

* wip
2020-09-29 10:12:57 +02:00
Mamy Ratsimbazafy 78ceeed804
Merge pull request #1772 from status-im/devel
Master <- Devel: Fix make spadina on MacOS
2020-09-29 10:11:50 +02:00
Sacha Saint-Leger eb9faf84f3
Update spadina.md
Fix Geth instructions link
2020-09-28 23:52:59 +02:00
Mamy Ratsimbazafy 98661914f1
Revert "bump nim-libbacktrace (#1769)" (#1773)
This reverts commit de1b3315e8.
2020-09-28 22:37:18 +02:00
Ștefan Talpalaru de1b3315e8
bump nim-libbacktrace (#1769)
* bump nim-libbacktrace

so it works with LTO

* macOS fix
2020-09-28 21:23:53 +02:00
Kim De Mey f6b8e26567
Fix typos [skip ci] (#1771) 2020-09-28 20:43:09 +02:00
Mamy André-Ratsimbazafy 4be37b7c4d
Don't resurrect submodules 2020-09-28 19:17:17 +02:00
mratsim fe16fba07d Makefile fix for make 3.81 (macOS) 2020-09-28 19:13:36 +02:00
Viktor Kirilov 2e6fd8976a
Ctrl+C now stops the BN when waiting for genesis (#1761)
* Ctrl+C now stops the BN when waiting for genesis

* proper shutdown when waiting for genesis if Ctrl+C is used
2020-09-28 17:19:57 +02:00
tersec a2270a5f27
update to v0.12.3 message ID for Spadina launch (#1762)
* update to v0.12.3 message ID for Spadina launch

* remove base64 import
2020-09-28 17:07:10 +02:00
yslcrypto b72ebbc168 spadina page: integrate feedback 2020-09-28 16:46:43 +02:00
Mamy Ratsimbazafy 793b9f67cf
Deactivate windows 32 (#1763) 2020-09-28 14:24:52 +02:00
yslcrypto 2045da3997 use permalinks when referring to makefile 2020-09-28 13:51:59 +02:00
Kim De Mey 23bec99341
Let also discovery used listen-address cli option instead of always any address (#1658) 2020-09-27 22:00:24 +02:00
yslcrypto 61568e4335 add spadina page and update book 2020-09-27 18:53:48 +02:00
Ștefan Talpalaru da3102c081
README: building a static binary 2020-09-27 00:49:22 +02:00
Ștefan Talpalaru 0152ab5bc7
add FixtureSSZConsensus-minimal.md 2020-09-27 00:48:42 +02:00
Ștefan Talpalaru 24ffb83604
update AllTests-mainnet.md 2020-09-26 23:58:12 +02:00
Ștefan Talpalaru 67b9f2b87f
Makefile: some cosmetic refactoring 2020-09-26 23:10:56 +02:00
Ștefan Talpalaru cdeab0308b
Makefile: fix typos 2020-09-26 22:55:46 +02:00
Ștefan Talpalaru ef47782e2e
config.nims: fix the fix 2020-09-26 13:19:01 +02:00
Mamy André-Ratsimbazafy 1f0c296ac6
Cache cancel fix: Nim removed my boolean ability 2020-09-25 20:48:33 +02:00
Mamy Ratsimbazafy 9a39bda5f1
BLSCurve EIP2333 updates for Spadina (breaks old keystore recovery) (#1742)
* BLSCurve EIP2333 updates for Spadina (breaks old keystore recovery)

* Workaround blst.h and vect.h having conflicting definition of limb_t
2020-09-25 19:52:02 +02:00
Jacek Sieka c472d5368b
avoid attestation pool copy in check (#1755) 2020-09-25 19:51:44 +02:00
Mamy Ratsimbazafy 94120ad011
Slash protection fixes (#1757)
* Address #1698

* Add test for #1699
2020-09-25 19:39:06 +02:00
Mamy André-Ratsimbazafy 5538e8133a
Actions: ensure windows dlls are always in path 2020-09-25 18:53:17 +02:00
Jacek Sieka 7837646079
anonymize libp2p messages (#1756)
* anonymize libp2p messages

* bump
2020-09-25 18:40:30 +02:00
Ștefan Talpalaru 4c516a1fce
Makefile: fix clean-* targets 2020-09-25 18:15:27 +02:00
Ștefan Talpalaru fffecbc8fd
Nim define for disabling LTO (#1751) 2020-09-25 18:15:02 +02:00
Mamy Ratsimbazafy feece1382d
ARM64 BLST hotfix - disable BLST on ARM64 (#1753) 2020-09-25 18:14:07 +02:00
Mamy Ratsimbazafy d6362026a4
Forgot that setup_official_tests is needed for symlink (#1758) 2020-09-25 18:13:46 +02:00
Sacha Saint-Leger c40325e814
Update README.md (#1754) 2020-09-25 16:43:34 +02:00
Zahary Karadjov b6262bfe46
Bugfix: prevent an error during deposit data generation 2020-09-25 17:11:36 +03:00
Mamy Ratsimbazafy ba95f07d1f
Actions cache fixes (#1752)
* Update Actions cache to v2 and fix corrupted EF cache keys

* Move the EF restore earlier so that we catch them ASAP
2020-09-25 16:05:29 +02:00
Eugene Kabanov 1bf8d3af33
Disconnect peers with low score. (#1747)
* Disconnect peers with low score.

* Change PeerScoreLow value.

* Add spec url for DisconnectionReason.
2020-09-25 15:43:45 +02:00
Mamy Ratsimbazafy 7ae689d1dd
Don't cancel Actions on master/devel (#1750) 2020-09-25 14:10:35 +02:00
tersec f96ad87d28
switch another 50+ spec refs from v0.12.2 to v0.12.3 (#1749) 2020-09-25 11:52:50 +00:00
Mamy Ratsimbazafy a02a9b3dc8
CI: Fix caching of EF fixtures + separate submodules install (#1748)
* Fix caching of EF fixtures + separate submodules install from beacon node compilation

* Always run make update
2020-09-25 12:36:56 +02:00
Ștefan Talpalaru 3936caae4b
Jenkins: don't abort older jobs in master/devel (#1746)
* Jenkins: don't abort older jobs in master/devel

* same for Jenkinsfile.benchmarks
2020-09-25 10:26:59 +00:00
tersec 6cf7e837ce
refactor exit pool and gossipsub-subscribe to exit pool message types (#1733)
* refactor exit pool and gossipsub-subscribe to all exit pool message types

* remove unused loop counter
2020-09-24 19:05:49 +02:00
tersec 6398a43cc1
update 120+ beacon_chain and validator spec refs from v0.12.2 to v0.12.3 (#1740) 2020-09-24 19:04:10 +02:00
Jacek Sieka b3a9afa0b1
libp2p: limit max gossip writes (#1739)
* libp2p: limit max gossip writes

* bump
2020-09-24 19:03:17 +02:00
Jacek Sieka 1a9e9fc398
use LTO in release builds (#1661)
* use LTO in release builds

This significantly (40%) speeds up block replay and hashing - for example replaying first 1000
blocks, without/with LTO:

```
[arnetheduck@tempus ncli]$ ../env.sh nim c -d:release ncli_db
[arnetheduck@tempus ncli]$ ./ncli_db bench --db:db --network:medalla --slots:1000
Loaded 215006 blocks, head slot 307400
All time are ms
     Average,       StdDev,          Min,          Max,      Samples,         Test
Validation is turned off meaning that no BLS operations are performed
   25468.481,        0.000,    25468.481,    25468.481,            1, Initialize DB
       0.297,        0.516,        0.053,       13.645,          721, Load block from database
      26.458,        0.000,       26.458,       26.458,            1, Load state from database
      20.737,        8.288,       11.096,      199.325,          690, Apply block
     333.069,       62.798,       45.225,      429.452,           31, Apply epoch block
       0.000,        0.000,        0.000,        0.000,            0, Database block store
```

```
[arnetheduck@tempus ncli]$ ../env.sh nim c -d:release --passc:-flto --passl:-flto --stacktrace:off ncli_db
[arnetheduck@tempus ncli]$ ./ncli_db bench --db:db --network:medalla --slots:1000
Loaded 215006 blocks, head slot 307400
All time are ms
     Average,       StdDev,          Min,          Max,      Samples,         Test
Validation is turned off meaning that no BLS operations are performed
   23903.006,        0.000,    23903.006,    23903.006,            1, Initialize DB
       0.253,        0.122,        0.047,        0.731,          721, Load block from database
      24.455,        0.000,       24.455,       24.455,            1, Load state from database
      18.734,        7.062,       10.346,      167.397,          690, Apply block
     194.869,       33.175,       29.311,      226.981,           31, Apply epoch block
```

Epoch processing is heavy on both arithmetics and hash caching, both of which get a
significant boost here.

This makes sense: nim creates lots of small functions spread out over many C files. A much
worse solution is to try to annotate code with `inline` - it copies functions to multiple
C files but still doesn't do intermodule optimizations significantly limiting the
compilers' ability to reason about the code, causing bloat and misrepresenting the usefulness
of a function to the call frequency analysis that drives actual (C-compiler) inlining and many
other optimizations.

In particular, many nim functions are part of `system` or the `C` backend - stack tracing,
memory allocation etc - nim's inlining system is pretty incomplete in that it does not deal
with these and many other cases.

* windows workaround

* skip LTO on windows for now
2020-09-24 18:40:28 +02:00