# react-native-onesignal Android crash: Illegal callback invocation from native module

## What was going on

After adding react-native-onesignal to a released Android app, Crashlytics showed a trending crash: Fatal Exception: java.lang.RuntimeException: Illegal callback invocation from native module. This callback type only permits a single invocation from native code. The stack pointed at RNOneSignal's callback handling (onComplete in RNOneSignal.java), where a native callback could be invoked twice - e.g. from setExternalUserId flows - which React Native's bridge forbids. react-native-onesignal 3.7.3 / 4.x, react-native 0.62.

## The fix that worked

The SDK's native module invoked a React Native callback more than once, which the bridge forbids (single-invocation only). The OneSignal team shipped a permanent fix (PR #1341, released after 4.3.7) guarding the callback against double invocation. Upgrade react-native-onesignal past the May 2022 fix release. If you must stay on an old version, avoid passing callbacks into the subscription/external-user-id methods.

## Where this came from

https://github.com/OneSignal/react-native-onesignal/issues/1015