ZenGo-X / emerald-city

WASM/HW-friendly lightweight client application for threshold ECDSA
GNU General Public License v3.0
15 stars 6 forks source link

Doesn't work with keygen/sign clients of main repo #11

Open vhnatyk opened 5 years ago

vhnatyk commented 5 years ago

Unfortunately doesn't work with keygen/sign clients and artifacts from main repo. Good news is that the keygen/sign clients in this branch, that are restored work ok if not mixed with binaries from the main repo.

omershlo commented 5 years ago

any leads on what is causing this issue?

vhnatyk commented 5 years ago

any leads on what is causing this issue?

No, unfortunately not much, here is error message from signing

PartySignup { number: 5, uuid: "f119cd2b-4266-4365-8559-237a32c5e8ce" }
party 1 "round0" read success
party 2 "round0" read success
party 3 "round0" read success
party 4 "round0" read success
party 1 "round1" read success
party 2 "round1" read success
party 3 "round1" read success
party 4 "round1" read success
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error("invalid type: string \"dd514311a50da4c6000a5fe8cc194d9d29913216d3228fead197a6a9e6d29808\", expected a sequence", line: 1, column: 74)', src\libcore\result.rs:999:5
stack backtrace:
   0:   0x30d5df - std::sys_common::backtrace::print
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\sys_common\backtrace.rs:59
   1:   0x30d5df - std::panicking::default_hook::{{closure}}
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\panicking.rs:197
   2:   0x30d2df - std::panicking::default_hook
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\panicking.rs:211
   3:   0x30dd00 - std::panicking::rust_panic_with_hook
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\panicking.rs:474
   4:   0x30d8e1 - std::panicking::continue_panic_fmt
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\panicking.rs:381
   5:   0x30d7b8 - std::panicking::rust_begin_panic
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\panicking.rs:308
   6:   0x31ab32 - core::panicking::panic_fmt
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libcore\panicking.rs:85
   7:    0x5e60a - core::result::unwrap_failed::h39a0788cb0ea5a4f
   8:    0x6f221 - core::ptr::real_drop_in_place::h06f5dc22395a8827
   9:    0x756c5 - emerald_city::gg_2018::mta::_IMPL_SERIALIZE_FOR_MessageB::<impl serde::ser::Serialize for emerald_city::gg_2018::mta::MessageB>::serialize::ha24302a0ddf8e0fe
  10:   0x30df0e - std::panicking::try
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\panicking.rs:272
  11:   0x30df0e - std::panic::catch_unwind
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\panic.rs:388
  12:   0x30df0e - std::rt::lang_start_internal
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\rt.rs:48
  13:    0x73f6e - main
  14: 0x76956558 - BaseThreadInitThunk
  15: 0x77819573 - RtlGetAppContainerNamedObjectPath
  16: 0x77819543 - RtlGetAppContainerNamedObjectPath

maybe it's serialization format hex vs array of u32 (as if BigInt with format!) just a guess - keygen has a bit different error.

vhnatyk commented 5 years ago

Here is output of mixed keygen - 9 parties from main repo and one from emerald

Output from one keygen client of main repo

PartySignup { number: 5, uuid: "56813473-d36f-4dc7-bff9-1dd5cf74c981" }
party 1 "round1" read success
party 2 "round1" read success
party 3 "round1" read success
party 4 "round1" read success
party 6 "round1" read success
party 7 "round1" read success
party 8 "round1" read success
party 9 "round1" read success
party 10 "round1" read success
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error("invalid type: sequence, expected bigint", line: 1, column: 10)', src\libcore\result.rs:999:5
stack backtrace:
   0:   0xe791bf - std::sys_common::backtrace::print
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\sys_common\backtrace.rs:59
   1:   0xe791bf - std::panicking::default_hook::{{closure}}
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\panicking.rs:197
   2:   0xe78ebf - std::panicking::default_hook
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\panicking.rs:211
   3:   0xe798e0 - std::panicking::rust_panic_with_hook
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\panicking.rs:474
   4:   0xe794c1 - std::panicking::continue_panic_fmt
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\panicking.rs:381
   5:   0xe79398 - std::panicking::rust_begin_panic
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\panicking.rs:308
   6:   0xe869a2 - core::panicking::panic_fmt
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libcore\panicking.rs:85
   7:   0xbdfd6a - core::result::unwrap_failed::hece5308d41302d4a
   8:   0xbdb0f5 - <core::iter::adapters::Map<I,F> as core::iter::traits::iterator::Iterator>::fold::h8bda9b279419d6bd
   9:   0xbebea1 - <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T,I>>::from_iter::h42d7de982f0e9b14
  10:   0xbe32b7 - core::ptr::real_drop_in_place::h5ae95592b598b3c4
  11:   0xbec4e5 - <T as core::any::Any>::type_id::h00a671120549e0de
  12:   0xe79bfe - std::panicking::try
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\panicking.rs:272
  13:   0xe79bfe - std::panic::catch_unwind
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\panic.rs:388
  14:   0xe79bfe - std::rt::lang_start_internal
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\rt.rs:48
  15:   0xbeac6e - main
  16: 0x76956558 - BaseThreadInitThunk
  17: 0x77819573 - RtlGetAppContainerNamedObjectPath
  18: 0x77819543 - RtlGetAppContainerNamedObjectPath

Output from emerald keygen client

PartySignup { number: 10, uuid: "77484edd-3b35-472c-8a12-bd933e5ba4a5" }
party 1 "round1" read success
party 2 "round1" read success
party 3 "round1" read success
party 4 "round1" read success
party 5 "round1" read success
party 6 "round1" read success
party 7 "round1" read success
party 8 "round1" read success
party 9 "round1" read success
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error("invalid type: string \"18105278000881512754762714526607457800093730030605959510128005715487872571540290547200915976775191157421697870062884767381601281260222614302284999570555405793574452362360006766930832940431758503972884133096467127348948124211315848720653618315871083534081621129426529569825900487398182263160306469245316753384061961627817998732476065850932456717750810764011803989696893374345675301090225261265243851390750509505371568255152331780183104658129558783553691142790952711148464108839693517035690243594715507469778585266906533957574863402548345457876487834887478185569186350365489232090156766742070575681285134823729971897263\", expected a sequence", line: 1, column: 629)', src\libcore\result.rs:999:5
stack backtrace:
   0:   0x96fa5f - std::sys_common::backtrace::print
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\sys_common\backtrace.rs:59
   1:   0x96fa5f - std::panicking::default_hook::{{closure}}
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\panicking.rs:197
   2:   0x96f75f - std::panicking::default_hook
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\panicking.rs:211
   3:   0x970180 - std::panicking::rust_panic_with_hook
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\panicking.rs:474
   4:   0x96fd61 - std::panicking::continue_panic_fmt
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\panicking.rs:381
   5:   0x96fc38 - std::panicking::rust_begin_panic
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\panicking.rs:308
   6:   0x97cfb2 - core::panicking::panic_fmt
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libcore\panicking.rs:85
   7:   0x6dbaea - core::result::unwrap_failed::h1763e18f31955ebd
   8:   0x6e0334 - <core::iter::adapters::Map<I,F> as core::iter::traits::iterator::Iterator>::fold::hc6d64cb43ab4da24
   9:   0x6db4d1 - <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T,I>>::from_iter::h1c570d334931524c
  10:   0x6d1a61 - core::ptr::real_drop_in_place::ha091232be276dd52
  11:   0x6dd445 - emerald_city::curv::cryptographic_primitives::secret_sharing::feldman_vss::_IMPL_SERIALIZE_FOR_VerifiableSS::<impl serde::ser::Serialize for emerald_city::curv::cryptographic_primitives::secret_sharing::feldman_vss::VerifiableSS>::serialize::h5b7a6a00a47848dd
  12:   0x97038e - std::panicking::try
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\panicking.rs:272
  13:   0x97038e - std::panic::catch_unwind
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\panic.rs:388
  14:   0x97038e - std::rt::lang_start_internal
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\rt.rs:48
  15:   0x6da3be - main
  16: 0x76956558 - BaseThreadInitThunk
  17: 0x77819573 - RtlGetAppContainerNamedObjectPath
  18: 0x77819543 - RtlGetAppContainerNamedObjectPath
vhnatyk commented 5 years ago

Maybe this can be helpful - gg18_sign_client from emerald immediately crashes when launched with artifacts from main repo keygen like this:

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error("invalid type: string \"174692160202915337210512916811619393396531764432434886823099507882116501416029649351973165132459998541343084378465880595278976360664120871995143930088571298227941190300596203554868793814088352016274238257347158868427672861564652730562469803334403743094322331802384913519650430662059349404175479746517889950571\", expected a sequence", line: 1, column: 546)', src\libcore\result.rs:999:5    
stack backtrace:
   0:   0xd9d5df - std::sys_common::backtrace::print
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\sys_common\backtrace.rs:59
   1:   0xd9d5df - std::panicking::default_hook::{{closure}}
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\panicking.rs:197
   2:   0xd9d2df - std::panicking::default_hook
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\panicking.rs:211
   3:   0xd9dd00 - std::panicking::rust_panic_with_hook
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\panicking.rs:474
   4:   0xd9d8e1 - std::panicking::continue_panic_fmt
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\panicking.rs:381
   5:   0xd9d7b8 - std::panicking::rust_begin_panic
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\panicking.rs:308
   6:   0xdaab32 - core::panicking::panic_fmt
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libcore\panicking.rs:85
   7:   0xaee60a - core::result::unwrap_failed::h39a0788cb0ea5a4f
   8:   0xaff3d6 - core::ptr::real_drop_in_place::h06f5dc22395a8827
   9:   0xb056c5 - emerald_city::gg_2018::mta::_IMPL_SERIALIZE_FOR_MessageB::<impl serde::ser::Serialize for emerald_city::gg_2018::mta::MessageB>::serialize::ha24302a0ddf8e0fe
  10:   0xd9df0e - std::panicking::try
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\panicking.rs:272
  11:   0xd9df0e - std::panic::catch_unwind
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\panic.rs:388
  12:   0xd9df0e - std::rt::lang_start_internal
                       at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e\/src\libstd\rt.rs:48
  13:   0xb03f6e - main
  14: 0x76956558 - BaseThreadInitThunk
  15: 0x77819573 - RtlGetAppContainerNamedObjectPath
  16: 0x77819543 - RtlGetAppContainerNamedObjectPath