Skip to content

Serial Executor hangs on Android 9 #84

Closed
@wfilleman

Description

@wfilleman

Current behavior

I'm upgrading my RN app from 0.56 to 0.59.3 and decided to move back to the community AsyncStorage solution. The problem I'm running into is that the serial Executor is getting jammed up processing getKey requests after about the 3rd request for a getKey. The result is in the JS side, the Promise never returns and locks up the app.

Expected behavior

The Serial Executor in use by the AsyncStorage solution would process the AsyncStorage request or fail but not go into a locked up state.

Repro steps

In my RN app, I have 4 AsyncStorage getKey requests during startup which all happen in succession. I've never seen the 4th request return. Sometimes I'll see requests 1-3 return before it hangs on the 4th. This happens on the Simulator and on the device. I've only tested on Android 9 sim and Pixel 2 Android 9.

To point to the Serial Executor as the problem, I removed all references to the Serial Executor in the AsyncStorage code base and just let the SQL Lite requests run on the main thread and it works perfectly.

Environment

  • Async Storage version: 1.3.3
  • React-Native version: 0.59.3
  • Platform tested: Android 9 sim and device (iOS sim and device works great)

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingplatform: AndroidThis is Android specific

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions