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

New Debugger: Application under debug crashes when I want to step over an async method #49833

Open
ursmeili opened this issue Mar 5, 2025 · 9 comments
Assignees
Labels
Debugging Issues related to React Native DevTools or legacy JavaScript/Hermes debugging Needs: Attention Issues where the author has responded to feedback. Needs: Repro This issue could be improved with a clear list of steps to reproduce the issue.

Comments

@ursmeili
Copy link

ursmeili commented Mar 5, 2025

Description

When I use the new debugger, and I step over an async method using F10, the application under debug usually crashes. I have attached a GIF which shows the problem.

Because of this problem, the debugger is essentially useless.

When crashing, the following error is logged:

RangeError: Maximum call stack size exceeded (native stack depth)
    at metroRequire (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:72:60)
    at toString (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:381744:19)
    at call (native)
    at call (native)
    at anonymous (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:382063:30)
    at toString (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:381744:211)
    at call (native)
    at call (native)
    at anonymous (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:382063:30)
    at toString (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:381744:211)
    at call (native)
    at call (native)
    at anonymous (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:382063:30)
    at toString (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:381744:211)
    at call (native)
    at call (native)
    at anonymous (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:382063:30)
    at toString (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:381744:211)
    at call (native)
    at call (native)
    at anonymous (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:382063:30)
    at toString (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:381744:211)
    at call (native)
    at call (native)
    at anonymous (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:382063:30)
    at toString (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:381744:211)
    at call (native)
    at call (native)
    at anonymous (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:382063:30)
    at toString (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:381744:211)
    at call (native)
    at call (native)
    at anonymous (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:382063:30)
    at toString (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:381744:211)
    at call (native)
    at call (native)
    at anonymous (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:382063:30)
    at toString (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:381744:211)
    at call (native)
    at call (native)
    at anonymous (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:382063:30)
    at toString (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:381744:211)
    at call (native)
    at call (native)
    at anonymous (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:382063:30)
    at toString (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:381744:211)
    at call (native)
    at call (native)
    at anonymous (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:382063:30)
    at toString (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:381744:211)
    ... skipping 2587 frames
    at anonymous (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:2845:25)
    at apply (native)
    at navigateToExistingRecordingAsync (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:360459:29)
    at ?anon_0_ (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:360647:61)
    at next (native)
    at asyncGeneratorStep (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:2834:19)
    at _next (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:2848:29)
    at anonymous (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:2853:14)
    at tryCallTwo (address at InternalBytecode.js:1:1222)
    at doResolve (address at InternalBytecode.js:1:2541)
    at Promise (address at InternalBytecode.js:1:1318)
    at anonymous (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:2845:25)
    at ?anon_0_ (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:170898:36)
    at next (native)
    at asyncGeneratorStep (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:2834:19)
    at _next (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:2848:29)
    at anonymous (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:2853:14)
    at tryCallTwo (address at InternalBytecode.js:1:1222)
    at doResolve (address at InternalBytecode.js:1:2541)
    at Promise (address at InternalBytecode.js:1:1318)
    at anonymous (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:2845:25)
    at apply (native)
    at withErrorHandlingAsync (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:170888:41)
    at ?anon_0_ (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:360643:113)
    at next (native)
    at asyncGeneratorStep (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:2834:19)
    at _next (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:2848:29)
    at anonymous (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:2853:14)
    at tryCallTwo (address at InternalBytecode.js:1:1222)
    at doResolve (address at InternalBytecode.js:1:2541)
    at Promise (address at InternalBytecode.js:1:1318)
    at anonymous (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:2845:25)
    at apply (native)
    at onRecordingListItemPressedAsync (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:360652:30)
    at onPress (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:360704:67)
    at _performTransitionSideEffects (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:66348:22)
    at _receiveSignal (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:66304:45)
    at onResponderRelease (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:66163:32)
    at executeDispatch (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:8305:19)
    at executeDispatchesInOrder (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:8333:26)
    at executeDispatchesAndRelease (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:10291:35)
    at executeDispatchesAndReleaseTopLevel (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:10299:43)
    at forEach (native)
    at forEachAccumulated (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:8944:22)
    at runEventsInBatch (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:10312:27)
    at runExtractedPluginEventsInBatch (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:10345:25)
    at anonymous (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:10389:42)
    at batchedUpdates (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:25021:20)
    at batchedUpdates$1 (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:10267:36)
    at dispatchEvent (http://localhost:8081/index.bundle//&platform=android&dev=true&lazy=true&minify=false&app=ch.voicepoint.xenon&modulesOnly=false&runModule=true&excludeSource=true&sourcePaths=url-server&transform.routerRoot=app&transform.engine=hermes&transform.bytecode=1&unstable_transformProfile=hermes-stable:10358:25)

my dependencies from package.json:

"dependencies": {
    "@config-plugins/ffmpeg-kit-react-native": "~9.0.0",
    "@expo-google-fonts/roboto": "~0.2.3",
    "@expo/config-plugins": "~9.0.14",
    "@hookform/resolvers": "~3.10.0",
    "@microsoft/signalr": "~8.0.7",
    "@microsoft/signalr-protocol-msgpack": "~8.0.7",
    "@react-native-async-storage/async-storage": "~1.23.1",
    "@react-native-clipboard/clipboard": "~1.16.1",
    "@react-native-community/netinfo": "~11.4.1",
    "@react-native-community/slider": "~4.5.5",
    "@react-navigation/bottom-tabs": "~6.6.1",
    "@react-navigation/native": "~6.1.18",
    "@react-navigation/native-stack": "~6.11.0",
    "@shopify/flash-list": "~1.7.1",
    "@shopify/react-native-skia": "1.5.0",
    "axios": "1.7.8",
    "axios-retry": "~4.5.0",
    "core-js": "~3.40.0",
    "date-fns": "~2.30.0",
    "expo": "52.0.37",
    "expo-application": "~6.0.2",
    "expo-auth-session": "~6.0.2",
    "expo-av": "~15.0.2",
    "expo-build-properties": "~0.13.2",
    "expo-constants": "~17.0.6",
    "expo-crypto": "~14.0.2",
    "expo-device": "~7.0.2",
    "expo-font": "~13.0.3",
    "expo-jwt": "~1.8.2",
    "expo-linking": "~7.0.5",
    "expo-local-authentication": "~15.0.2",
    "expo-localization": "~16.0.1",
    "expo-navigation-bar": "~4.0.8",
    "expo-secure-store": "~14.0.1",
    "expo-splash-screen": "~0.29.22",
    "expo-status-bar": "~2.0.1",
    "ffmpeg-kit-react-native": "~6.0.2",
    "i18next": "~24.2.2",
    "immer": "~10.0.4",
    "inversify": "~6.2.2",
    "inversify-react": "~1.2.0",
    "linguist-js": "~2.8.1",
    "lodash-es": "~4.17.21",
    "react": "18.3.1",
    "react-dom": "18.3.1",
    "react-hook-form": "~7.54.2",
    "react-native": "0.76.7",
    "react-native-background-actions": "~4.0.1",
    "react-native-drawer-layout": "~4.1.1",
    "react-native-exit-app": "1.1.0",
    "react-native-fs": "~2.20.0",
    "react-native-gesture-handler": "~2.20.2",
    "react-native-gifted-chat": "~2.4.0",
    "react-native-logs": "~5.3.0",
    "react-native-mmkv": "^3.2.0",
    "react-native-modal": "~13.0.1",
    "react-native-paper": "~5.13.1",
    "react-native-paper-dates": "~0.22.30",
    "react-native-reanimated": "~3.16.7",
    "react-native-safe-area-context": "~4.12.0",
    "react-native-screens": "~4.4.0",
    "react-native-svg": "~15.8.0",
    "react-native-url-polyfill": "~2.0.0",
    "react-native-uuid": "~2.0.3",
    "react-native-version-info": "~1.1.1",
    "react-native-vision-camera": "~4.6.3",
    "react-native-web": "~0.19.13",
    "react-native-webview": "~13.12.5",
    "react-native-zip-archive": "~7.0.1",
    "reflect-metadata": "~0.2.2",
    "rxjs": "~7.8.1",
    "url-search-params-polyfill": "~8.2.5",
    "use-async-effect": "~2.2.7",
    "yup": "~1.6.1",
    "zustand": "~4.5.6"
  },

Steps to reproduce

I cannot reproduce this with a small project.

React Native Version

0.76.7

Output of npx @react-native-community/cli info

System:
  OS: Windows 10 10.0.19045
  CPU: (16) x64 12th Gen Intel(R) Core(TM) i7-1260P
  Memory: 4.83 GB / 31.71 GB
Binaries:
  Node:
    version: 18.20.0
    path: C:\Program Files\nodejs\node.EXE
  Yarn:
    version: 1.22.22
    path: C:\Program Files\nodejs\yarn.CMD
  npm:
    version: 10.5.0
    path: C:\Program Files\nodejs\npm.CMD
  Watchman: Not Found
SDKs:
  Android SDK:
    API Levels:
      - "33"
      - "34"
      - "35"
    Build Tools:
      - 30.0.3
      - 33.0.0
      - 33.0.1
      - 34.0.0
      - 35.0.0
    System Images:
      - android-32 | Google Play Intel x86_64 Atom
      - android-33 | Google Play Intel x86_64 Atom
      - android-34 | Google APIs Intel x86_64 Atom
      - android-34 | Google Play Intel x86_64 Atom
    Android NDK: Not Found
  Windows SDK:
    AllowDevelopmentWithoutDevLicense: Enabled
    Versions:
      - 10.0.22000.0
      - 10.0.22621.0
IDEs:
  Android Studio: Not Found
  Visual Studio:
    - 17.8.34112.27 (Visual Studio Professional 2022)
    - 17.9.34728.123 (Visual Studio Professional 2022)
Languages:
  Java:
    version: 11.0.20
    path: C:\Program Files\Microsoft\jdk-11.0.20.8-hotspot\bin\javac.EXE
  Ruby: Not Found
npmPackages:
  "@react-native-community/cli":
    installed: 15.1.3
    wanted: ~15.1.3
  react:
    installed: 18.3.1
    wanted: 18.3.1
  react-native:
    installed: 0.76.7
    wanted: 0.76.7
  react-native-windows: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: true
iOS:
  hermesEnabled: Not found
  newArchEnabled: Not found

Screenshots and Videos

Image

@react-native-bot react-native-bot added Needs: Author Feedback Needs: Repro This issue could be improved with a clear list of steps to reproduce the issue. labels Mar 5, 2025
@react-native-bot
Copy link
Collaborator

Warning

Missing reproducer: We could not detect a reproducible example in your issue report. Please provide either:

@cortinico cortinico added Debugging Issues related to React Native DevTools or legacy JavaScript/Hermes debugging and removed Debugging Issues related to React Native DevTools or legacy JavaScript/Hermes debugging labels Mar 5, 2025
@cipolleschi
Copy link
Contributor

Hi @ursmeili! Thanks for opening the issue. I forwarded it to the people in our DevX team that maintain Metro and React Native DevTools

@ursmeili
Copy link
Author

ursmeili commented Mar 7, 2025

I noticed that stack exceeded errors are showing in a lot of places, e.g. when hovering over a simple object which contains 2 functions:

Image

Also, sometimes, during debugging, suddenly stack overflow errors begin to flood the log

Image

Shortly after this happens, the application usually crashes and the debugger disconnects.

I really need help on this, it's almost impossible to debug RN applications currently.

@github-actions github-actions bot added Needs: Attention Issues where the author has responded to feedback. and removed Needs: Author Feedback labels Mar 7, 2025
@cipolleschi
Copy link
Contributor

We are seeing this issue also internally, so the team is taking care of it!

@vpume
Copy link

vpume commented Mar 11, 2025

I work on Windows and macOS, and I noticed that this problem only occurs on Windows. On macOS, the debugger seems to be much stabler.

👎 not true - after a while, it begins to crash on mac too, with the same symptomatics. Altough it seems to last longer until the crashes begin to happen.

@cipolleschi
Copy link
Contributor

@huntie can you have a look at this?

@huntie
Copy link
Member

huntie commented Mar 11, 2025

@ursmeili Thanks for raising!

We're treating this as a hi-pri bug — might take some time to resolve since we'll need to make fix in Hermes which we're pursuing.

  • Confirm we can repro on all platforms.
  • Source is inside Hermes' core debugger logic — specifically when stepping out of a promise with a breakpoint set.
  • Hermes had a WIP fix for this a while back, which was unfortunately abandoned and does not apply today.

@vpume
Copy link

vpume commented Mar 11, 2025

@huntie thanks a lot for looking into this. I just wonder why nobody else seem to have this problem - after all, working with promises is very common. Maybe most people still actually don't use the RN debugger, but rather console.log all over the place, I guess, because they don't know it has become much, much better in 0.76 :-)

I still think the bug is far worse if the debugger runs on Windows than on macOS, for some reason. On Windows, it usually crashes after just a few "F10" steps, whereas on macOS, I can work in the debugger for like 15 minutes before it eventually crashes. But it could just be coincidence of course.

@huntie
Copy link
Member

huntie commented Mar 11, 2025

@vpume Yeah! I also suspect out of the subset of people using breakpoints, a smaller subset actually use step over/step out(!), where the former (play/pause basic use) works fine in all cases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Debugging Issues related to React Native DevTools or legacy JavaScript/Hermes debugging Needs: Attention Issues where the author has responded to feedback. Needs: Repro This issue could be improved with a clear list of steps to reproduce the issue.
Projects
None yet
Development

No branches or pull requests

6 participants