expo / eas-cli

Fastest way to build, submit, and update iOS and Android apps
https://docs.expo.dev/eas/
MIT License
832 stars 85 forks source link

EAS update stuck after "Export was successful." #1907

Open JamesHemery opened 1 year ago

JamesHemery commented 1 year ago

Build/Submit details page URL

No response

Summary

I try Expo SDK 49 with the tabs template : yarn create expo --template tabs@beta

After installing dev-client and eas-update, I run eas update --branch preview-test

And then it gets stuck on "⠏ Exporting..." after "Export was successful. Your exported files can be found in dist"

Managed or bare?

managed

Environment

expo-env-info 1.0.5 environment info: System: OS: macOS 13.3 Shell: 5.9 - /bin/zsh Binaries: Node: 18.12.1 - ~/.nvm/versions/node/v18.12.1/bin/node Yarn: 1.22.19 - ~/.nvm/versions/node/v18.12.1/bin/yarn npm: 8.19.2 - ~/.nvm/versions/node/v18.12.1/bin/npm Watchman: 2023.06.08.00 - /opt/homebrew/bin/watchman Managers: CocoaPods: 1.12.1 - /opt/homebrew/bin/pod SDKs: iOS SDK: Platforms: DriverKit 22.4, iOS 16.4, macOS 13.3, tvOS 16.4, watchOS 9.4 IDEs: Xcode: 14.3.1/14E300c - /usr/bin/xcodebuild npmPackages: expo: ~49.0.0-beta.0 => 49.0.0-beta.0 react: 18.2.0 => 18.2.0 react-dom: 18.2.0 => 18.2.0 react-native: 0.72.0 => 0.72.0 react-native-web: ~0.18.10 => 0.18.12 npmGlobalPackages: eas-cli: 3.14.0 expo-cli: 6.3.8 Expo Workflow: managed

✔ Validating global prerequisites versions passed ✔ Checking for incompatible packages passed ✔ Checking for conflicting global packages in project passed ✖ Verifying prebuild support package versions are compatible failed Issues: Expected package @expo/config-plugins@~7.2.2 Found invalid: @expo/config-plugins@6.0.2 (for more info, run: npm why @expo/config-plugins) Expected package @expo/prebuild-config@~6.2.4 Found invalid: @expo/prebuild-config@6.0.1 (for more info, run: npm why @expo/prebuild-config) Advice: • Upgrade dependencies that are using the invalid package versions. ✖ Checking dependency versions for compatibility with the installed Expo SDK failed Issues: Some dependencies are incompatible with the installed expo version: expo-router@2.0.0-rc.9 - expected version: 2.0.0-rc.8 Your project may not work correctly until you install the correct versions of the packages. Fix with: npx expo install --fix Found outdated dependencies Advice: • Use npx expo install --check to review and upgrade your dependencies. NOT SUPPORTED: option format. validateFormats: false can be used instead. ✔ Validating Expo Config passed ✔ Checking package.json for common issues passed

✖ Found one or more possible issues with the project. See above logs for issues and advice to resolve.

Error output

[expo-cli] Experimental path aliases feature is enabled. Learn more: https://docs.expo.dev/guides/typescript/#path-aliases [expo-cli] Starting Metro Bundler [expo-cli] Web Bundling complete 8765ms [expo-cli] Android Bundling complete 8766ms [expo-cli] iOS Bundling complete 8767ms [expo-cli] iOS Building Hermes bytecode for the bundle [expo-cli] Android Building Hermes bytecode for the bundle [expo-cli] [expo-cli] Bundle Size [expo-cli] ┌ index.web.js 1.16 MB [expo-cli] ├ index.android.hbc 1.32 MB [expo-cli] ├ index.ios.hbc 1.32 MB [expo-cli] ├ index.web.js.map 3.86 MB [expo-cli] ├ index.ios.hbc.map 4.81 MB [expo-cli] └ index.android.hbc.map 4.81 MB [expo-cli] 💡 JavaScript bundle sizes affect startup time. Learn more: https://expo.fyi/javascript-bundle-sizes [expo-cli] Finished saving JS Bundles [expo-cli] Static exporting with Metro is an experimental feature. [expo-cli] Experimental path aliases feature is enabled. Learn more: https://docs.expo.dev/guides/typescript/#path-aliases [expo-cli] Starting Metro Bundler [expo-cli] Web Bundling complete 4282ms [expo-cli] [expo-cli] Web Bundling complete 4294ms [expo-cli] Web Bundling complete 4308ms [expo-cli] [expo-cli] [expo-cli] Exporting 8 files: [expo-cli] _expo/static/js/web/entry-d4b895843d3891f9d687a38a953c7ae0.js (1.16 MB) [expo-cli] _sitemap.html (15.7 kB) [expo-cli] (tabs)/index.html (15.7 kB) [expo-cli] (tabs)/two.html (15.7 kB) [expo-cli] [...missing].html (15.7 kB) [expo-cli] index.html (15.7 kB) [expo-cli] modal.html (15.7 kB) [expo-cli] two.html (15.7 kB) [expo-cli] [expo-cli] Finished saving static files [expo-cli] info Copying 12 asset files [expo-cli] info Copying 14 asset files [expo-cli] info Copying 13 asset files [expo-cli] info Done copying assets [expo-cli] info Done copying assets [expo-cli] info Done copying assets [expo-cli] Saving assets [expo-cli] saving /node_modules/@react-navigation/elements/src/assets/back-icon@1x.ios.png [expo-cli] saving /node_modules/@react-navigation/elements/src/assets/back-icon@1.5x.ios.png [expo-cli] saving /node_modules/@react-navigation/elements/src/assets/back-icon@2x.ios.png [expo-cli] saving /node_modules/@react-navigation/elements/src/assets/back-icon@3x.ios.png [expo-cli] saving /node_modules/@react-navigation/elements/src/assets/back-icon@4x.ios.png [expo-cli] saving /node_modules/@react-navigation/elements/src/assets/back-icon-mask.png [expo-cli] saving /node_modules/expo-router/assets/error.png [expo-cli] saving /node_modules/expo-router/assets/file.png [expo-cli] saving /node_modules/expo-router/assets/pkg.png [expo-cli] saving /node_modules/expo-router/assets/forward.png [expo-cli] saving /node_modules/@expo/metro-runtime/assets/alert-triangle.png [expo-cli] saving /node_modules/@expo/metro-runtime/assets/loader.png [expo-cli] saving /node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome.ttf [expo-cli] saving /assets/fonts/SpaceMono-Regular.ttf [expo-cli] saving /node_modules/@react-navigation/elements/src/assets/back-icon@1x.android.png [expo-cli] saving /node_modules/@react-navigation/elements/src/assets/back-icon@1.5x.android.png [expo-cli] saving /node_modules/@react-navigation/elements/src/assets/back-icon@2x.android.png [expo-cli] saving /node_modules/@react-navigation/elements/src/assets/back-icon@3x.android.png [expo-cli] saving /node_modules/@react-navigation/elements/lib/module/assets/back-icon.png [expo-cli] saving /node_modules/@expo/metro-runtime/assets/chevron-left.png [expo-cli] saving /node_modules/@expo/metro-runtime/assets/chevron-right.png [expo-cli] saving /node_modules/@expo/metro-runtime/assets/close.png [expo-cli] Files successfully saved. [expo-cli] Processing asset bundle patterns: [expo-cli] - /Users/james/Dev/expo-starter/*/ [expo-cli] Dumping asset map [expo-cli] Dumping source maps [expo-cli] Preparing additional debugging files [expo-cli] Export was successful. Your exported files can be found in dist ⠏ Exporting...

Reproducible demo or steps to reproduce from a blank project

  1. yarn create expo --template tabs@beta
  2. Install and configure eas-update
  3. Run eas update --branch preview-test
quinlanj commented 1 year ago

hey @JamesHemery ! Are you able to reproduce this issue with some regularity? During the update command, eas-cli is spawning another process to export the project (expo/cli) . It runs successfully but is not exiting, which indicates that there's some socket, file or network handles left open.

I'm not able to reproduce your issue, but if you are able to reproduce your issue once more, we can start by debugging the spawned process, expo export. Please run this command in your project directory:

npx why-is-node-running ./node_modules/@expo/cli/build/bin/cli export --output-dir dist --dump-sourcemap --dump-assetmap --platform all

In addition to the regular output, it should give you instructions about sending SIGUSR1, like this:

kill -SIGUSR1 6105 for logging
Experimental path aliases feature is enabled. Learn more: https://docs.expo.dev/guides/typescript/#path-aliases
Starting Metro Bundler
iOS node_modules/expo-router/entry.js ░░░░░░░░░░░░░░░░  0.0% ( 0/13)
Android node_modules/expo-router/entry.js ░░░░░░░░░░░░░░░░  0.0% (0/1)

In this example, you should open another terminal window and run kill -SIGUSR1 6105 when your command is hanging.

At this point, your hanging command should dump a bunch of logs of reasons why it isn't exiting. If you are able to report back to us with these logs, it will be extremely helpful. Thank you!

maxsonaraujo commented 1 year ago

hey @JamesHemery ! Are you able to reproduce this issue with some regularity? During the update command, eas-cli is spawning another process to export the project (expo/cli) . It runs successfully but is not exiting, which indicates that there's some socket, file or network handles left open.

I'm not able to reproduce your issue, but if you are able to reproduce your issue once more, we can start by debugging the spawned process, expo export. Please run this command in your project directory:

npx why-is-node-running ./node_modules/@expo/cli/build/bin/cli export --output-dir dist --dump-sourcemap --dump-assetmap --platform all

In addition to the regular output, it should give you instructions about sending SIGUSR1, like this:

kill -SIGUSR1 6105 for logging
Experimental path aliases feature is enabled. Learn more: https://docs.expo.dev/guides/typescript/#path-aliases
Starting Metro Bundler
iOS node_modules/expo-router/entry.js ░░░░░░░░░░░░░░░░  0.0% ( 0/13)
Android node_modules/expo-router/entry.js ░░░░░░░░░░░░░░░░  0.0% (0/1)

In this example, you should open another terminal window and run kill -SIGUSR1 6105 when your command is hanging.

At this point, your hanging command should dump a bunch of logs of reasons why it isn't exiting. If you are able to report back to us with these logs, it will be extremely helpful. Thank you!

....

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

FILEHANDLE

node:internal/async_hooks:202

thousands of this messages

wschurman commented 1 year ago

@MAXSONJORDAN is that the result of running the npx why-is-node-running ... command that quin posted?

maxsonaraujo commented 1 year ago

Yes, was the result of quin's command in my environment. was the same in two different machines.

LunatiqueCoder commented 1 year ago

I have the same issue, it's not related to EAS update, but to npx expo export after I set the output: 'static' in app.json like this:

  "web": {
    "bundler": "metro",
    "output": "static",
  },
👉 Click here to expand logs ``` # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # ZLIB node:internal/async_hooks:202 ./node_modules/compression/index.js:194 - ? zlib.createGzip(opts) ./node_modules/on-headers/index.js:35 - listener.call(this) ./node_modules/compression/index.js:103 - this._implicitHeader() ./node_modules/metro/src/Server.js:740 - mres.end(result.bundle); # ZLIB node:internal/async_hooks:202 ./node_modules/compression/index.js:194 - ? zlib.createGzip(opts) ./node_modules/on-headers/index.js:35 - listener.call(this) ./node_modules/compression/index.js:103 - this._implicitHeader() ./node_modules/metro/src/Server.js:740 - mres.end(result.bundle); # ZLIB node:internal/async_hooks:202 ./node_modules/node-fetch/lib/index.js:1686 - body = body.pipe(zlib.createGunzip(zlibOptions)); # ZLIB node:internal/async_hooks:202 ./node_modules/compression/index.js:194 - ? zlib.createGzip(opts) ./node_modules/on-headers/index.js:35 - listener.call(this) ./node_modules/compression/index.js:103 - this._implicitHeader() ./node_modules/metro/src/Server.js:740 - mres.end(result.bundle); # ZLIB node:internal/async_hooks:202 ./node_modules/node-fetch/lib/index.js:1686 - body = body.pipe(zlib.createGunzip(zlibOptions)); # ZLIB node:internal/async_hooks:202 ./node_modules/node-fetch/lib/index.js:1686 - body = body.pipe(zlib.createGunzip(zlibOptions)); # Timeout node:internal/async_hooks:202 node:internal/async_hooks:506 node:internal/timers:163 node:internal/timers:197 # Timeout node:internal/async_hooks:202 node:internal/async_hooks:506 node:internal/timers:163 node:internal/timers:197 # TLSWRAP node:internal/async_hooks:202 node:internal/deps/undici/undici:8311 node:internal/deps/undici/undici:9702 node:internal/deps/undici/undici:9701 node:internal/deps/undici/undici:9860 # TLSWRAP node:internal/async_hooks:202 node:internal/deps/undici/undici:8311 node:internal/deps/undici/undici:9702 node:internal/deps/undici/undici:9701 node:internal/deps/undici/undici:9860 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # TLSWRAP node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 # FILEHANDLE node:internal/async_hooks:202 ```
ivocalado commented 1 year ago

I passed by this exactly same problem. I noted that such problem happened in my case only when I define EXPO_TOKEN at org level. Using PAT or traditional credentials I did not face this problem.

palicko commented 1 year ago

In my case, this stuck was caused by metro config from @ui-kitten/metro-config. Related to https://github.com/akveo/react-native-ui-kitten/issues/1410

georgibakken commented 1 year ago

I am experiencing this while using Github Actions and expo-github-action, however it works fine running eas update --auto locally.

Any ideas?

jesse-savary commented 11 months ago

I have the same issue, it's not related to EAS update, but to npx expo export after I set the output: 'static' in app.json like this:

  "web": {
    "bundler": "metro",
    "output": "static",
  },

I passed by this exactly same problem. I noted that such problem happened in my case only when I define EXPO_TOKEN at org level. Using PAT or traditional credentials I did not face this problem.

Removing EXPO_TOKEN from our .env file solved the issue for us.

dj-salvo commented 10 months ago

@quinlanj @georgibakken @JamesHemery

Leaving this here for anyone who runs into this issue:

We ran into this problem within our GitHub workflow but not locally — using a larger runner seems to have done the trick. Logically, a low memory ceiling for node could also be a culprit for those of you that experience this outside of a build runner.

It's possible that the child process that spawns as a result of the export process within eas upgrade stalls when there's not enough memory — makes sense. Perhaps this is something that could be added to the troubleshooting documentation?

This bump also cut our bundle step from 13 minutes to 5 minutes. Neat 😎

ardasatata commented 8 months ago

I used monorepo & fixed this "Export was successful." issue by using a larger runner 🚀 it was 15 minutes using a standard private runner but now it's only ~5 minutes.