Skip to content

[Android regression] [0.79.2 to 0.83.0] Background process freeze while having FG service running #360

@dkornilove

Description

@dkornilove

Environment

React Native Info Output

System:
  OS: Linux 6.6 Ubuntu 20.04.6 LTS (Focal Fossa)
  CPU: (12) x64 AMD Ryzen 5 5600 6-Core Processor
  Memory: 5.84 GB / 15.58 GB
  Shell:
    version: "5.8"
    path: /usr/bin/zsh
Binaries:
  Node:
    version: 22.9.0
    path: /home/norzqq/.nvm/versions/node/v22.9.0/bin/node
  Yarn:
    version: 1.22.22
    path: /home/norzqq/.nvm/versions/node/v22.9.0/bin/yarn
  npm:
    version: 10.8.3
    path: /home/norzqq/.nvm/versions/node/v22.9.0/bin/npm
  Watchman: Not Found
SDKs:
  Android SDK:
    API Levels:
      - "23"
      - "28"
      - "30"
      - "31"
      - "33"
      - "34"
      - "35"
      - "36"
    Build Tools:
      - 28.0.3
      - 30.0.2
      - 30.0.3
      - 31.0.0
      - 33.0.0
      - 34.0.0
      - 35.0.0
      - 36.0.0
    Android NDK: Not Found
IDEs:
  Android Studio: Not Found
Languages:
  Java:
    version: 17.0.11
    path: /home/norzqq/.sdkman/candidates/java/17.0.11-librca/bin/javac
  Ruby:
    version: 2.7.2
    path: /home/norzqq/.rvm/rubies/ruby-2.7.2-perf/bin/ruby
npmPackages:
  "@react-native-community/cli":
    installed: 20.0.0
    wanted: 20.0.0
  react:
    installed: 19.2.0
    wanted: 19.2.0
  react-native:
    installed: 0.83.0
    wanted: 0.83.0
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: true

Things I've done to figure out my issue

  • I used upgrade-helper to do my upgrade.
  • I followed all recommended changes from 0.79.2 → 0.83.0 migration guide
  • Updated all native dependencies through Gradle
  • Ran cd android && ./gradlew clean && ./gradlew build
  • Tested with a minimal reproducible example

Upgrading Version

From: React Native 0.79.2
To: React Native 0.83.0

Description

Issue Summary

After upgrading from React Native 0.79.2 to 0.83.0, a critical regression was introduced affecting background call handling. The app completely freezes when:

  1. An incoming call is active
  2. The app is not in focus or is minimized (backgrounded)
  3. Foreground service and native call activity are running

Expected Behavior

On RN 0.79.2:

  • App accepts incoming call via displayIncomingCall() from react-native-callkeep
  • Custom Foreground service starts successfully, fg notification is hanging in the notification shade
  • Background processes continue running while app is backgrounded (minimized or loses focus):
    • Event listeners for call state changes
    • Analytics tracking
    • Call duration counters
    • Audio device observers
    • Logging system

Actual Behavior

On RN 0.83.0:

  • App accepts incoming call and displays native call UI correctly
  • Foreground service starts successfully
  • When app loses focus or is minimized, ALL background processes completely freeze
  • App is unresponsive until user brings it back to foreground
  • Upon returning to foreground, frozen processes resume working

Device Information

  • Any android device, either simulator or real device

This is a regression introduced during the 0.79.2 → 0.83.0 upgrade. The same codebase works without any modifications on 0.79.2, indicating the root cause is within React Native's changes in this version range.

I would really like to know the direction in which I should further investigate this problem?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions