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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions