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

Synchronization tweaks for IPC services #2028

Merged
merged 3 commits into from
Sep 1, 2016
Merged

Conversation

NikVolf
Copy link
Contributor

@NikVolf NikVolf commented Aug 31, 2016

fixes #2027

@NikVolf NikVolf added A0-pleasereview 🤓 Pull request needs code review. A3-inprogress ⏳ Pull request is in progress. No review needed at this stage. and removed A0-pleasereview 🤓 Pull request needs code review. labels Aug 31, 2016
@NikVolf NikVolf added A0-pleasereview 🤓 Pull request needs code review. and removed A3-inprogress ⏳ Pull request is in progress. No review needed at this stage. labels Aug 31, 2016
@@ -42,7 +42,7 @@ pub struct ModuleState {

#[derive(Ipc)]
pub trait ControlService {
fn shutdown(&self);
fn shutdown(&self) -> bool;
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Having a return type forces invocation to be synchronous
Until the exact issue will be found

@coveralls
Copy link

Coverage Status

Coverage decreased (-0.007%) to 85.387% when pulling 56c1018 on ipc-control-svc-seqcst into 25e6a4e on master.

@NikVolf NikVolf changed the title using sequentally consistent checks in control service Synchronization tweaks for IPC services Aug 31, 2016
@coveralls
Copy link

Coverage Status

Coverage decreased (-0.01%) to 85.383% when pulling bca7bda on ipc-control-svc-seqcst into 25e6a4e on master.

@coveralls
Copy link

Coverage Status

Coverage decreased (-0.04%) to 85.355% when pulling bca7bda on ipc-control-svc-seqcst into 25e6a4e on master.

@debris
Copy link
Collaborator

debris commented Sep 1, 2016

ctrl-c crashed the node with the following error:

2016-09-01 11:00:11     0/11/25 peers     41 MiB db    8 KiB chain    2 KiB queue   29 KiB sync
^C2016-09-01 11:00:39 Finishing work, please wait...
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Serialization(BinaryConvertError { member_tree: [], kind: SizeMismatch { expected: 1, found: 0 } })', ../src/libcore/result.rs:788
stack backtrace:
   1:        0x10e69889b - std::sys::backtrace::tracing::imp::write::h46e546df6e4e4fe6
   2:        0x10e69dd3a - std::panicking::default_hook::_$u7b$$u7b$closure$u7d$$u7d$::h077deeda8b799591
   3:        0x10e69d96a - std::panicking::default_hook::heb8b6fd640571a4f
   4:        0x10e682ed8 - std::panicking::rust_panic_with_hook::hd7b83626099d3416
   5:        0x10e69e316 - std::panicking::begin_panic::h941ea76fc945d925
   6:        0x10e683b18 - std::panicking::begin_panic_fmt::h30280d4dd3f149f5
   7:        0x10e69df6f - rust_begin_unwind
   8:        0x10e6c48f0 - core::panicking::panic_fmt::h2d3cc8234dde51b4
   9:        0x10e30bdf9 - core::result::unwrap_failed::h7fb1eff49b332d5c
  10:        0x10e30b1d9 - ethcore_ipc_hypervisor::service::HypervisorService::send_shutdown::hda75b4ec5c8d4a5f
  11:        0x10e30a0bc - ethcore_ipc_hypervisor::Hypervisor::shutdown::h3b511e62310e030e
  12:        0x10d9b1992 - parity::run::execute::h497d80819edf3ae9
  13:        0x10d99dd17 - parity::execute::h571dbc6454b59b6f
  14:        0x10da24f7c - parity::main::hc0b8b9a4c77213f8
  15:        0x10e69d52d - std::panicking::try::call::hca715a47aa047c49
  16:        0x10e69e3eb - __rust_try
  17:        0x10e69e385 - __rust_maybe_catch_panic
  18:        0x10e69d351 - std::rt::lang_start::h162055cb2e4b9fe7

@debris
Copy link
Collaborator

debris commented Sep 1, 2016

and after some time (looks like process was not closed)

--- ethcore/parity ‹ipc-control-svc-seqcst* ?› » thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Io(Error { repr: Custom(Custom { kind: TimedOut, error: StringError("Operation timed out") }) })', ../src/libcore/result.rs:788
stack backtrace:
   1:        0x105eb2b1b - std::sys::backtrace::tracing::imp::write::h46e546df6e4e4fe6
   2:        0x105eb7f7a - std::panicking::default_hook::_$u7b$$u7b$closure$u7d$$u7d$::h077deeda8b799591
   3:        0x105eb7baa - std::panicking::default_hook::heb8b6fd640571a4f
   4:        0x105e9d178 - std::panicking::rust_panic_with_hook::hd7b83626099d3416
   5:        0x105eb8556 - std::panicking::begin_panic::h941ea76fc945d925
   6:        0x105e9ddb8 - std::panicking::begin_panic_fmt::h30280d4dd3f149f5
   7:        0x105eb81af - rust_begin_unwind
   8:        0x105edeb30 - core::panicking::panic_fmt::h2d3cc8234dde51b4
   9:        0x10539acde - core::result::unwrap_failed::h7fb1eff49b332d5c
  10:        0x10522eb38 - parity::sync::main::hf03be485bc162ca1
  11:        0x1052216ee - parity::main::hc0b8b9a4c77213f8
  12:        0x105eb776d - std::panicking::try::call::hca715a47aa047c49
  13:        0x105eb862b - __rust_try
  14:        0x105eb85c5 - __rust_maybe_catch_panic
  15:        0x105eb7591 - std::rt::lang_start::h162055cb2e4b9fe7

@arkpar arkpar merged commit 3439c06 into master Sep 1, 2016
@NikVolf
Copy link
Contributor Author

NikVolf commented Sep 1, 2016

@debris probably you have orphanned process running while starting another one

@arkpar arkpar deleted the ipc-control-svc-seqcst branch October 3, 2016 15:35
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A0-pleasereview 🤓 Pull request needs code review.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Parity won't die
4 participants