Skip to content

SIGSEGV Android App Crash using waitReady in conjunction with Expo Crypto #608

@cumulussoftwareuk

Description

@cumulussoftwareuk

In a production app, we have a high crash rate being reported in Google Play Console.

I was able to reproduce the issue both on a physical device and in Android simulator, however the issue is highly transient in nature.

The logs indicate that the issue is caused when Polkadot is calling crypto.getRandomValues() with a typed array. This gets routed through the react-native-get-random-values polyfill to Expo Crypto, and finally into a memcopy operation in Expo Core writing to the array buffer that was passed through. However, when the write occurs, the memory seems to have become corrupted, be that through some form of re-allocation or garbage collection.

I have also raised an issue with Expo. However, there is no indication yet that they believe the issue to be on their side. On the issue I have added a sample app and a full stack trace.

I'd appreciate any help getting to the bottom of this please and hopefully reaching a fix.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions