expo: App freezes in dev mode (not in prod mode, also not with remote debugging)

Summary

app freezes WITHOUT remote debugging mode … It also doesn’t freeze in production mode and with different older apps. What I see is –> Error: EISDIR: illegal operation on a directory, read at Object.readSync (node:fs:723:3) <– during debugging. expo-sdk: 43, cli: 4.12.11, node: v16.13.0, npm: 7.15.0, expoGo: 2.22.2 IOS & Android

Managed or bare workflow? If you have made manual changes inside of the ios/ or android/ directories in your project, the answer is bare!

managed

What platform(s) does this occur on?

Android, iOS

Package versions

expo-sdk: 43, cli: 4.12.11, node: v16.13.0, npm: 7.15.0, expoGo: 2.22.2

Environment

Expo CLI 4.12.11 environment info: System: OS: Windows 10 10.0.19043 Binaries: Node: 16.13.0 - C:\Program Files\nodejs\node.EXE Yarn: 1.22.5 - C:\Program Files (x86)\Yarn\bin\yarn.CMD npm: 7.15.0 - C:\Program Files\nodejs\npm.CMD Watchman: 20200730.120504.0 - C:\Users\herma\AppData\Local\watchman\watchman.EXE IDEs: Android Studio: Version 2020.3.0.0 AI-203.7717.56.2031.7621141 npmPackages: expo: ^43.0.0 => 43.0.1 react: 17.0.1 => 17.0.1 react-dom: 17.0.1 => 17.0.1 react-native: 0.64.2 => 0.64.2 react-native-web: 0.17.1 => 0.17.1 Expo Workflow: managed

Reproducible demo or steps to reproduce from a blank project

metro.config.js: const { getDefaultConfig } = require(“@expo/metro-config”);

module.exports = (async () => { const { resolver: { sourceExts, assetExts } } = await getDefaultConfig(__dirname); return { transformer: { babelTransformerPath: require.resolve(“react-native-svg-transformer”), assetPlugins: [‘expo-asset/tools/hashAssetFiles’] //notwendig, ansonsten keine BackButtons & weitere Assets in IOS }, resolver: { assetExts: assetExts.filter(ext => ext !== “svg”), sourceExts: […sourceExts, “svg”] } }; })();

Stacktrace (if a crash is involved)

No response

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Reactions: 1
  • Comments: 21 (9 by maintainers)

Most upvoted comments

@ramiel1999 - i was able to reproduce with the uuid package like you suggested! https://github.com/brentvatne/uuidont

confirmed that expo-cli@4.12.12 and @expo/metro-config@0.2.8 resolve this!

@htrappmaier please update expo-cli and if you have @expo/metro-config@0.2.7 in your project then update it to @expo/metro-config@0.2.8

hi there! we may need more information about this. is this happened to both on Expo Go Android v2.22.3 and Expo Go iOS v2.22.2? which is not happened to expo build, expo run:ios, expo run:android, and eas build.

Okay I have been battling with this for 5 hours and I guess I am into something. I am developing an app, and I have been using expo-cli version 4.12.8 I believe. I updated today to 4.12.11, and I am experiencing the same issue. App works in remote debug but freezes in expo go.

I was so frustrated to the point where I removed all dependencies and then installing them one by one until the app breaks. Here is what I found:

When the expo-cli initializes a new app. It installs uuid version 3.4.0 which can be seen in package-lock.json; however, I am alson using uuid in my project so I was doing what any other developer does. npm install --save uuid which installs the latest version: 8.3.2 and use it in my app as I wanted to. This is where things break. I am not sure why expo-cli installs v3.4.0 and why it breaks when installing latest version.

Try it for yourself by cloning your project, removing uuid from package.json and run your app. It should run fine but with uuid v3.4.0. Dont try to simply remove uuid from package json and running npm install. I tried and I guess because of some cache or something it doesnt work. Clone your project, remove uuid from package.json and npm install && npm start

Let me know if it fixes your issues, but still this shouldnt be a solution. I want to use latest version of uuid to use uuid.validate() method which is not available in v3.4.0