Skip to content
This repository has been archived by the owner on Nov 6, 2020. It is now read-only.

Fix Parity not closing on Ctrl-C #9886

Merged
merged 1 commit into from Nov 9, 2018
Merged

Fix Parity not closing on Ctrl-C #9886

merged 1 commit into from Nov 9, 2018

Conversation

ngotchac
Copy link
Contributor

@ngotchac ngotchac commented Nov 9, 2018

Fixes #9807

The issue was the references of Client in pm2 (in PubSubClient::new) were not being dropped. Using a Weak reference fixes the issue.

@ngotchac ngotchac added A0-pleasereview 🤓 Pull request needs code review. M4-core ⛓ Core client code / Rust. labels Nov 9, 2018
@tomusdrw tomusdrw added A8-looksgood 🦄 Pull request is reviewed well. and removed A0-pleasereview 🤓 Pull request needs code review. labels Nov 9, 2018
@tomusdrw
Copy link
Collaborator

tomusdrw commented Nov 9, 2018

I think it requires a patch, at least to beta.

@Tbaut
Copy link
Contributor

Tbaut commented Nov 9, 2018

🎉
yes only beta needs it.

Copy link
Contributor

@ascjones ascjones left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! How did you find this in the end?

@ngotchac
Copy link
Contributor Author

ngotchac commented Nov 9, 2018

@ascjones I was just looking at Client references, found some in the RPC layer, and disabling each RPC one by one led me to the PubSub one, proper detective work 👅

@ordian ordian added this to the 2.3 milestone Nov 9, 2018
@ordian
Copy link
Collaborator

ordian commented Nov 9, 2018

Can confirm it does work for light and full client 👍

@ascjones ascjones merged commit 17effd1 into master Nov 9, 2018
@ascjones ascjones deleted the ng-stop-client branch November 9, 2018 11:51
@c0gent
Copy link
Contributor

c0gent commented Nov 9, 2018

Nice work. Our high tech solution (replacing each Arc with a wrapper that tracks the origin of each reference) was just about to be put to use but you beat us to it.

At least if we ever run into this problem again I've got a solution ready.

peterjgilbert pushed a commit to oasislabs/parity-ethereum that referenced this pull request Nov 10, 2018
@Tbaut Tbaut mentioned this pull request Nov 13, 2018
15 tasks
ascjones pushed a commit that referenced this pull request Nov 13, 2018
Tbaut added a commit that referenced this pull request Nov 14, 2018
* Bump beta to version 2.2.1

* fix: Intermittent failing CI due to addr in use (#9885)

Allow OS to set port at runtime

* Use Weak reference in PubSubClient (#9886)

* Fix json tracer overflow (#9873)

* Fix json tracer overflow

* Replace trace_executed with a direct trace push

* Remove unused variable

* Add test for 5a51

* Remove duplicate json!

* Fix docker script (#9854)


* Dockerfile: change source path of the newly added check_sync.sh (#9869)

* Allow to seal work on latest block (#9876)

* Allow to seal work on latest block.

* Test from @todr to check sealing conditions.

* gitlab-ci: make android release build succeed (#9743)

* use docker cargo config file for android builds

* make android build succeed

* ethcore: use Machine::verify_transaction on parent block (#9900)

* ethcore: use Machine::verify_transaction on parent block

also fixes off-by-one activation of transaction permission contract

* ethcore: clarify call to verify_transaction

* foundation: #6692865, ropsten: #4417537, kovan: #9363457

* Remove rust-toolchain file (#9906)

* EIP-712 implementation (#9631)

* EIP-712 impl

* added more tests

* removed size parsing unwrap

* corrected TYPE_REGEX to disallow zero sized fixed length arrays, replaced LinkedHashSet with IndexSet, added API spec to docs, fixed Type::Byte encoding branch

* use Option<u64> instead of u64 for Type::Array::Length

* replace `.iter()` with  `.values()`

Co-Authored-By: seunlanlege <seunlanlege@gmail.com>

* tabify eip712.rs

* use proper comments for docs

* Cargo.lock: revert unrelated changes

* tabify encode.rs

* EIP 191 (#9701)

* added sign_191 rpc method

* fixed hash_structured_data return type

* added ConfirmationPayload::SignMessage for non-prefixed signatures, added tests for sign191

* renamed WithValidator -> PresignedTransaction

* rename applicationData to data in test

* adds docs for EIP191Version, renamed SignRequest to EIP191SignRequest

* light-fetch: Differentiate between out-of-gas/manual throw and use required gas from response on failure (#9824)

* fix start_gas, handle OOG exceptions & NotEnoughGas

* Change START_GAS: 50_000 -> 60_000
* When the `OutOfGas exception` is received then try to double the gas until it succeeds or block gas limit is reached
* When `NotEnoughBasGas error` is received then use the required gas provided in the response

* fix(light-fetch): ensure block_gas_limit is tried

Try the `block_gas_limit` before regard the execution as an error

* Update rpc/src/v1/helpers/light_fetch.rs

Co-Authored-By: niklasad1 <niklasadolfsson1@gmail.com>

* simplify cargo audit

* Use block header for building finality (#9914)

* ci: nuke the gitlab caches (#9855)
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A8-looksgood 🦄 Pull request is reviewed well. M4-core ⛓ Core client code / Rust.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Client doesn't shutdown gracefully on Ctrl-C
6 participants