Skip to content
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

iOS app crashes at launch on release mode #90

Closed
brunobar79 opened this issue Aug 25, 2018 · 1 comment
Closed

iOS app crashes at launch on release mode #90

brunobar79 opened this issue Aug 25, 2018 · 1 comment

Comments

@brunobar79
Copy link
Contributor

Fatal Exception: RCTFatalException: Unhandled JS Exception: t must be composed with AccountTrackerController.

May be related to #19 ?

https://fabric.io/metamask/ios/apps/com.metamask.metamask/issues/5b80e0f36007d59fcdc0ea05?time=last-seven-days

@brunobar79
Copy link
Contributor Author

brunobar79 commented Aug 30, 2018

@bitpshr not sure if this helps but I was able to get a full stack trace by using stack-beautifier and the source map:

Unhandled JS Exception: t must be composed with PreferencesController., stack:
  at _this2 (./node_modules/gaba/BaseController.js:107:35)
  at ./node_modules/gaba/BaseController.js:105:41
  at onComposed (./node_modules/gaba/ComposableController.js:53:23)
  at ./node_modules/gaba/ComposableController.js:52:28
  at controllers (./node_modules/gaba/ComposableController.js:23:13)
  at ComposableController (./app/core/Engine.js:37:24)
  at state (./app/core/Engine.js:149:24)
  at state (./app/reducers/index.js:10:13)
  at action (./app/reducers/index.js:20:19)
  at restState (./node_modules/redux-persist/lib/persistReducer.js:130:39)
  at currentState (./node_modules/redux/lib/redux.js:219:36)
  at rehydrateAction (./node_modules/redux-persist/lib/persistStore.js:69:21)
  at config (./node_modules/redux-persist/lib/persistReducer.js:73:27)
  at _rehydrate (./node_modules/redux-persist/lib/persistReducer.js:78:20)
  at callback (./node_modules/react-native/Libraries/Core/Timers/JSTimers.js:151:6)
  at timersToCall (./node_modules/react-native/Libraries/Core/Timers/JSTimers.js:404:17)
  at moduleMethods (./node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:344:47)
  at module (./node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:107:26)
  at fn (./node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:291:8)
  at ./node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:106:17

Additionally I've tried this without success.

Not sure if you're using this on GABA....

The other theory is that it could be related to this

EDIT: Actually, the last one is my preferred theory! Check this out: https://github.com/MetaMask/gaba/blob/master/src/ComposableController.ts#L59

EDIT 2: Confirmed! We need to use class.name instead of class.constructor.name and we need to add a getter method on each controller that returns the name. I did that and it works!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant