-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
[Bug]: MetaMask app quits if dApp initiated transaction is rejected #12240
Comments
No errors on the application code should cause the whole app to crash. If we pinpoint where the error is happening, the confirmations team can work on handling it, but it still would be preferable to address the underlying problem of crashing the UI separately. |
@pedronfigueiredo It is unclear what the culprit of the crash is at the moment until some debugging is done. Based on the description atm, the assumption is that the error is either related confirmations UI and/or other logic under the hood, which is why it was assigned to confirmations team. I can see that @sleepytanya Referenced #12228. @sleepytanya Since it's referenced, could you confirm if that fixed this issue? If not, could you assist in identifying the crash message? A simple way to do this is to connect your physical device and open Android studio. Once you run MM, the application should appear as an option in the Logcat, which will spew out logs including the error that occurs when it crashes. Feel free to reach out if you're having issues. |
This issue seems related to the crash we are seeing in production #12266 |
@Cal-L @sethkfman Screen.Recording.2024-11-14.at.19.19.54.mov |
## **Description** Rejecting a transaction confirmation caused the app to crash. This was due to Hermes not supporting the recursive nature of the error `stack` during serialisation. Resolution: - Force the use of `7.0.1` of `@metamask/rpc-errors` since there are no API breaking changes. - Update the pre-existing patch to target this new version. ## **Related issues** Fixes: #12240 ## **Manual testing steps** See issue. ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
## **Description** Rejecting a transaction confirmation caused the app to crash. This was due to Hermes not supporting the recursive nature of the error `stack` during serialisation. Resolution: - Force the use of `7.0.1` of `@metamask/rpc-errors` since there are no API breaking changes. - Update the pre-existing patch to target this new version. ## **Related issues** Fixes: #12240 ## **Manual testing steps** See issue. ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
## **Description** Rejecting a transaction confirmation caused the app to crash. This was due to Hermes not supporting the recursive nature of the error `stack` during serialisation. Resolution: - Force the use of `7.0.1` of `@metamask/rpc-errors` since there are no API breaking changes. - Update the pre-existing patch to target this new version. ## **Related issues** Fixes: #12240 ## **Manual testing steps** See issue. ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
## **Description** Rejecting a transaction confirmation caused the app to crash. This was due to Hermes not supporting the recursive nature of the error `stack` during serialisation. Resolution: - Force the use of `7.0.1` of `@metamask/rpc-errors` since there are no API breaking changes. - Update the pre-existing patch to target this new version. ## **Related issues** Fixes: #12240 ## **Manual testing steps** See issue. ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
- fix: transaction reject crash (#12311) ## **Description** Rejecting a transaction confirmation caused the app to crash. This was due to Hermes not supporting the recursive nature of the error `stack` during serialisation. Resolution: - Force the use of `7.0.1` of `@metamask/rpc-errors` since there are no API breaking changes. - Update the pre-existing patch to target this new version. ## **Related issues** Fixes: #12240 ## **Manual testing steps** See issue. ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. [8fa867d](8fa867d) Co-authored-by: Matthew Walsh <[email protected]>
Describe the bug
DApp-initiated transactions can be confirmed successfully. However, every time when a transaction is rejected, the app unexpectedly quits. After quit the performance seems to be degraded.
Observed on Android devices only.
Expected behavior
Screenshots/Recordings
7.34.0 (1475):
reject.mov
7.34.1 (1480):
7_34_1.mov
Steps to reproduce
Error messages or log output
No response
Detection stage
During release testing
Version
7.34.0 (1475), 7.34.1 (1480)
Build type
None
Device
Samsung S24+
Operating system
Android
Additional context
No response
Severity
No response
The text was updated successfully, but these errors were encountered: