-
Notifications
You must be signed in to change notification settings - Fork 378
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
Error processing attestation code :: No issuer found for attestion code #4477
Comments
Update: The error is coming from here which seems like it could only be caused by the signature being incorrect since it appears to include all three issuers when retrieving them from onchain When running the function that caused the area with each code, all the results responded successfully and returns one of the three issuers as its source. |
This leads us to suspect its something specific to the lightnode running on the user's phone. We confirmed that the user has a 64 bit device. Next step is to to build geth for a 64 bit arm and run this test in a 64 bit arm docker container. |
We confirmed this is not a signature verification issue or anything related to the 64-bit geth client when calling Issuer1: 0xDdbca691842FD452d8F53575FdFdC2314eb3AD57 Issuer2: 0x7b3859147B1C173FfF7182E58A4Ec81C1d287224 Issuer3: 0x48aC52662CBF32f8FC0cd8c1122c7560b482c2AD I confirmed on-chain that Issuer1 is the issuer that is still in the INCOMPLETE state. I dug further into Martin’s logs. Unfortunately, we do not have logs from the original verification flow, but we have logs from a re-attempt with just the missing attestation. In this attempt, it identifies that 2/3 attestations are complete and that Issuer1 is remaining.
According to the slack discussion, the user was confident that he was sending Msg2 even though it corresponds to a COMPLETED issuer (Issuer2). Based on the slack conversation the other two messages return "Code already exists" errors. This message in this logged attempt did not receive a "Code already exists" error and moved to the next line in the code where it called
If this was indeed called with Msg2, that would explain why I cannot explain how Msg1 was marked as an |
[UPDATE] After I've talked with the user it seems that scenario I've described below is very similar to what has happened, so I've opened #4557 to fix this. I've done some small investigation and found something, that might be related to this issue. If we look here: celo-monorepo/packages/mobile/src/identity/reducer.ts Lines 132 to 137 in 938730c
we see that we add code to both attestationCodes and acceptedAttestationCodes on INPUT_ATTESTATION_CODE , which triggered right after some basic checks for the code and before actual smart contract call. If something goes wrong between INPUT_ATTESTATION_CODE and COMPLETE_ATTESTATION_CODE we would have wrong state (failed code would be in acceptedAttestationCodes ).
There is a workaround to prevent this: celo-monorepo/packages/mobile/src/identity/reducer.ts Lines 122 to 125 in 938730c
but what if a failed code did not trigger VerificationStatus.Failed because one of try { ... } catch has handle it?
I assume that earlier any error during the code entering should've lead to I think that this might be related to the issue, because if we look at the log:
In the following scenario this issue could occur:
|
@aslawson @i1skn Great work hunting this down so far. I think Ivan's assessment just above is probably right.
@i1skn that's correct. Given that the interplay between UI + Saga for verification is quite complex, we need to be careful about any changes to state management and error handling. |
### Description Fix a bug, described in details here - #4477 (comment) ### Other changes * Remove error toast, when verification fails, cause we show Modal instead. * Fix a bug, when user presses `Enter Codes` on the error modal but nothing happens until timer has elapsed. ### Tested iOS simulator ### Related issues - Fixes #4477 ### Backwards compatibility Yes
Expected Behavior
Users able to complete verification
Current Behavior
One of the three text messages resulted in this error.
Info [2020-07-16T17:14:11.355Z] identity/verification@attestationCodeReceiver :: Error processing attestation code :: No issuer found for attestion code in index.android.bundle:1884:11497
Can provide more specific information if needed
The text was updated successfully, but these errors were encountered: