Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

Merge release 1.7.0 into master #6928

Merged
merged 451 commits into from
Mar 13, 2019
Merged

Merge release 1.7.0 into master #6928

merged 451 commits into from
Mar 13, 2019

Conversation

heifner
Copy link
Contributor

@heifner heifner commented Mar 13, 2019

Change Description

  • See 1.7.0 release notes.
  • Created via: git merge release-1.7.x -X theirs

Consensus Changes

API Changes

Documentation Additions

brianjohnson5972 and others added 30 commits January 22, 2019 13:06
Remove obsolete poorly documented tutorial.
Also ensure Debian subdirectory has correct permissions regardless of
umask while packaging.
nodeos can't run the wallet plugin any longer so this help text doesn't apply
Remove some obsolete cleos help text for 'wallet stop'
Set minimum dependencies for Debian packages.
Return active producers when `producers` table doesn't exist
websocketpp's socket handlers run at ultra-high priority which means they can beat registration of HTTP endpoints because they are queued via low priority.

No real reason needed to queue up registration of handlers at this point so just remove this queue
Remove queued HTTP handler registration
…eature_tests from api_tests.

Fix broken test_print::test_prints() function in the test_api contract. 
This fixes the api_tests/print_tests test.
LTO objects confuse some of the older platforms/compilers we target
Convert unrelated FC_THROW to EOS_THROW and correct English in error
text.
Monitor wallet lock file and shut down if it's removed.
heifner and others added 28 commits February 21, 2019 15:32
Enable options to print full console output
When a shutdown signal is handled the sig_set is 1) canceled and 2) destroyed. This means that signals are no longer handled by boost::asio and revert back to default behavior. If someone accidentally hits ctrl-c a second time during a long shutdown they run the risk of leaving the database dirty as that second ctrl-c will be insta-kill.

This patch changes the behavior and keeps the sig_set active forever. This means that even after the first handled async_wait() on the sig_set (that starts an appbase quit), additional signals in the set are effectively “blocked” (not posix blocked, but blocked in the sense they are consumed and queued by the sig_set that is not being async_wait()ed on)
appbase: Block (queue) exit signals during shutdown - 1.7
The previous fix for blocking signals during shutdown seems to have problems on older platforms/compilers/stdlibs like gcc6. To be completely frank I couldn’t quite pinpoint the exact cause but I highly suspect it is something to do with the application instance being static and thus the ordering of static destructors being unfavorable.

I’ve changed the implementation such that during startup a separate thread is run that catches the signals but after startup that thread is retired and signal handling is then handled on the main io_service. Signals end up being blocked (queued) until destruction of application’s io_service because the async_wait() will hold a shared_ptr to the signal_set. The implementation ends up being a bit long winded but means there are no shenanigans trying to clean up threads after main() has fully returned.
appbase: rework blocking (queuing) exit signals during shutdown - 1.7
Update to appbase with FIFO pririty queue - v1.7.x
appbase: ensure ctrl-c during startup handled correctly - 1.7
- Fix small memory leak in net_plugin.
- Add additional deadline checks to transaction authorization.
Add back integration_test contract; fixes nodeos_under_min_avail_ram_lr_test
Somewhere along the line nodeos picked up a dependency on libicuuc
add libicu as dependency for .deb packages
@heifner heifner merged commit 686f0de into master Mar 13, 2019
@heifner heifner deleted the merge-release-1.7.0 branch March 13, 2019 23:55
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.