react / react/react-native

Performance logger does not automatically clean up timespan object properties, resulting in stoppage of XHR requests

Abierto
#41,180 1 comentario 3 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

🌐Networking Issue: Author Provided Repro Needs: Triage :mag:
Lenguaje dominante
C++
Estrellas
127k
Forks
25.3k
Merge medio
1 d 23 h
PR fusionados (30 d)
4

Descripción

Description

As previously reported here - https://github.com/facebook/react-native/issues/30288

Once the limit has been reached, no new XHR's can be made. Each will throw Property storage exceeds 196607 properties

React Native Version

0.72.6

Output of npx react-native info
info Fetching system and libraries information...
System:
  OS: macOS 13.5.2
  CPU: (10) arm64 Apple M1 Pro
  Memory: 205.81 MB / 32.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 16.16.0
    path: /usr/local/bin/node
  Yarn:
    version: 1.22.15
    path: /usr/local/bin/yarn
  npm:
    version: 8.11.0
    path: /usr/local/bin/npm
  Watchman:
    version: 2023.09.04.00
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.11.3
    path: /Users/mvestal/.rvm/gems/ruby-3.0.0/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 22.4
      - iOS 16.4
      - macOS 13.3
      - tvOS 16.4
      - watchOS 9.4
  Android SDK: Not Found
IDEs:
  Android Studio: 2021.2 AI-212.5712.43.2112.8815526
  Xcode:
    version: 14.3.1/14E300c
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 11.0.16
    path: /usr/bin/javac
  Ruby:
    version: 3.0.0
    path: /Users/mvestal/.rvm/rubies/ruby-3.0.0/bin/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.2.0
    wanted: 18.2.0
  react-native:
    installed: 0.72.6
    wanted: 0.72.6
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: false
iOS:
  hermesEnabled: true
  newArchEnabled: false
Steps to reproduce

Make 196608 XMLHttpRequests with unique URLs.

Snack, screenshot, or link to a repository

https://snack.expo.dev/R1hc74OsN

Screenshot 2023-10-24 at 4 00 07 PM

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Lea la llamada a startTimepan en XMLHttpRequest.js en las líneas 568-569 y la creación de timespan en createPerformanceLogger.js en las líneas 291-294. Reproduzca el problema con 196608 XMLHttpRequests utilizando URLs únicas y, a continuación, verifique que las propiedades de timespan ya no se acumulen hasta que las nuevas solicitudes XHR fallen con el Hermes property-limit error.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
javascript, react-native
Área
mobile-dev, networking, performance
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
38/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.