-
Notifications
You must be signed in to change notification settings - Fork 987
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Restored account for e2e doesn't receive messages from new users #9101
Comments
@churik A few questions: Does it always fail? Or sometimes it works some other it doesn't? Best guess is that because we keep only max 3 devices synchronized, during these tests it was probably sending to other devices, as it's recovered often, but only geth.log will tell. |
|
Yes, that's interesting, by the way I am receiving your messages, I have one recovered as well :) |
@cammellos reproduced again. |
Yes, seems like it has not targeted the correct devices: |
if you don't find obvious reason, I can change this particular test (didn't notice problems with others) |
Now it is used in 2 tests for chatting, one of them |
Is this something we can automate to make sure no regressions happen in the future? |
hm, it is automated. |
Perfect! Thank you for getting on this. |
this is due to a known limitation (as far as I can tell, further investigation is needed, but I am fairly positive), if you restore an account on multiple devices, only 3 will be kept in sync, in order of last activity (there needs to be a limit, otherwise it can be maliciously exploited by an attacker). In case of users that are used by e2e tests, it is recovered multiple times a day and it's likely to result in some of the devices being left out, which means that the message won't be received (eventually the list of the devices converges). Not sure we will be addressing the issue at the protocol level, as until we can rely on a decentralized form of storage (ipfs/swarm), there's bound to be a period of adjustment when the same account is recovered many times at the same day, this is generally not an issue with normal users as recovering an account is a fairly rare occurrence (does not happen daily). For specifically fixing the e2e tests, a solution would be to generate on each run a different keypair, rather than hardcoding it in the tests, it's a bit more complicated, but will effectively solve this issue, and allow us to run tests in parrallel, with that respect. |
@cammellos I'll fix the tests in this case, if it is not common issue and couldn't be reproduced normally. |
@cammellos |
1 time per day should not be enough to cause issues, I'll investigate, could you send me the geth.logs in the meantime of the user who did not receive the message? |
@cammellos sorry can't reproduce it again now - attached whole log of affected device. |
relevant and related to #9857 (basically it is the same as I can understand) |
looks like we don't have this issue anymore, feel free to reopen if necessary. |
well we still have it, sometimes peers just can't be discovered by other peers (correct me if I'm wrong here) if the account was restored a lot of times. |
yes, that's expected, it will always take some time for the algorithm to converge, that's due to the fact that we don't have decentralized storage, so I'd say it's a wont-fix for now, most of the users will not experience this issue I take, what do you think? |
agree |
Bug Report
Problem
basic_user
in e2e stops receive messages from unknown users (who don't add him as contact)Expected behavior
the message is received
Actual behavior
the message is not received
Notes
Was introduced in nightly 01/10/2019
Test case is here
Potentially this issue can be reproducible for other accounts, so needs to be addressed from my POV.
We use this account every day (restore it often) for testing purposes.
Acceptance Criteria
basic_user
is able to receive messages from new users again.Reproduction
basic_user
on device 2 (it is public, seed phrasetree weekend ceiling awkward universe pyramid glimpse raven pair lounge grant grief
)basic_user
(didn't add user to contact list)Additional Information
Logs
Ful adb: no_message.log
Status.log
Video + logs:
The text was updated successfully, but these errors were encountered: