Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[android][0.76] AccessibilityValue in View throws exception: "Exception in HostFunction: Loss of precision during arithmetic conversion: (long) " #47635

Open
vincicat opened this issue Nov 15, 2024 · 10 comments
Labels
Needs: Triage 🔍 Newer Patch Available Platform: Android Android applications. Type: New Architecture Issues and PRs related to new architecture (Fabric/Turbo Modules)

Comments

@vincicat
Copy link

vincicat commented Nov 15, 2024

Description

Similar to react-native-elements/react-native-elements#3955 Sharcoux/slider#102 callstack/react-native-paper#4544, when any non-zero value is given to AccessibilityValue.now on Android, conversion occurs and an exception will be thrown.

(remark: Using Math.round() to avoid any (long) value will fix the issue temporarily.)

Both Expo (0.52) and bare React Native App (0.76.1 + SDK 34, 0.76.2 + SDK 35) can reproduce the bug. Expo 0.51 will not, so it is very likely related to New Architecture.

Issue not found on iOS.

Steps to reproduce

  1. go to https://snack.expo.dev/OEofab5meHPozAXyOQg6_
  2. switch to Android and make sure expo == 0.52
  3. click "Start Progress" to see the crash

React Native Version

0.76.2

Affected Platforms

Runtime - Android

Areas

Fabric - The New Renderer

Output of npx react-native info

Binaries:
  Node:
    version: 23.1.0
    path: /opt/homebrew/bin/node
  Yarn:
    version: 3.6.4
    path: /opt/homebrew/bin/yarn
  npm:
    version: 10.9.0
    path: /opt/homebrew/bin/npm
  Watchman:
    version: 2024.11.04.00
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.16.2
    path: /opt/homebrew/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 24.1
      - iOS 18.1
      - macOS 15.1
      - tvOS 18.1
      - visionOS 2.1
      - watchOS 11.1
  Android SDK: Not Found
IDEs:
  Android Studio: 2024.2 AI-242.23339.11.2421.12550806
  Xcode:
    version: 16.1/16B40
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.13
    path: /usr/bin/javac
  Ruby:
    version: 2.6.10
    path: /usr/bin/ruby
npmPackages:
  "@react-native-community/cli":
    installed: 15.0.0
    wanted: 15.0.0
  react:
    installed: 18.3.1
    wanted: 18.3.1
  react-native:
    installed: 0.76.1
    wanted: 0.76.1
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: true
iOS:
  hermesEnabled: true
  newArchEnabled: true

Stacktrace or Logs

Exception in HostFunction: Loss of precision during arithmetic conversion: (long) 0.00001

Reproducer

https://snack.expo.dev/OEofab5meHPozAXyOQg6_

Screenshots and Videos

No response

@vincicat vincicat added Needs: Triage 🔍 Type: New Architecture Issues and PRs related to new architecture (Fabric/Turbo Modules) labels Nov 15, 2024
@react-native-bot
Copy link
Collaborator

Tip

Newer version available: You are on a supported minor version, but it looks like there's a newer patch available - 0.76.2. Please upgrade to the highest patch for your minor or latest and verify if the issue persists (alternatively, create a new project and repro the issue in it). If it does not repro, please let us know so we can close out this issue. This helps us ensure we are looking at issues that still exist in the most recent releases.

@react-native-bot react-native-bot added the Platform: Android Android applications. label Nov 15, 2024
@react-native-bot
Copy link
Collaborator

Tip

Newer version available: You are on a supported minor version, but it looks like there's a newer patch available - undefined. Please upgrade to the highest patch for your minor or latest and verify if the issue persists (alternatively, create a new project and repro the issue in it). If it does not repro, please let us know so we can close out this issue. This helps us ensure we are looking at issues that still exist in the most recent releases.

@DominicWrege
Copy link

I have the same issue on iOS too.

@okanisildar
Copy link

I also have this issue on iOS. Math.round() is not even a temporary solution if you need a value to be between 0 and 1 like my use case.

@DominicWrege
Copy link

DominicWrege commented Nov 19, 2024

I am using the @react-native-picker/picker which causes the crash.

@vincicat
Copy link
Author

Tip

Newer version available: You are on a supported minor version, but it looks like there's a newer patch available - undefined. Please upgrade to the highest patch for your minor or latest and verify if the issue persists (alternatively, create a new project and repro the issue in it). If it does not repro, please let us know so we can close out this issue. This helps us ensure we are looking at issues that still exist in the most recent releases.

updated to 0.76.2, issue remains

@vincicat
Copy link
Author

@DominicWrege @okanisildar
Sorry to hear that but I don't have that issue on iOS, see if you can isolate the issue with an expo snack demo for iOS

@zbynekjadrnicek
Copy link

zbynekjadrnicek commented Nov 21, 2024

I have the same error after update to SDK 52. I use ProgressBar from react native paper and when I set its progress ratio to decimals, like 0.123, it throws error. But progress=1 works well.

@okanisildar
Copy link

@vincicat you can use this expo snack.

@DominicWrege
Copy link

DominicWrege commented Nov 21, 2024

@vincicat

The floating-point item font size causes the crash in my case.

Snack example

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Needs: Triage 🔍 Newer Patch Available Platform: Android Android applications. Type: New Architecture Issues and PRs related to new architecture (Fabric/Turbo Modules)
Projects
None yet
Development

No branches or pull requests

5 participants