yarnpkg / yarnpkg/berry

[Bug?]: UV causing EBADF errors on Android during yarn install

Open
#4,002 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug upholded
Dominant language
TypeScript
Stars
8.1k
Forks
1.3k
PR merge metrics
No merged PRs in 30d

Description

Self-service
  • I'd be willing to implement a fix
Describe the bug

UV causing EBADF errors on Android. Possibly Azure AppService as well. Seems to be an issue code-server users are also encountering. Using NPM instead works perfectly.

➤ YN0001: │ Error: yargs@npm:13.3.2: EBADF: bad file descriptor, copyfile '/data/data/com.termux/files/home/.yarn/berry/cache/yargs-npm-13.3.2-1588f5dd4c-7.zip' -> '/data/data/com.termux/files/usr/tmp/xfs-4793c4c3/yargs-npm-13.3.2-1588f5dd4c-7.zip'  ➤ YN0001: │ Error: yargs@npm:16.2.0: EBADF: bad file descriptor, copyfile '/data/data/com.termux/files/home/.yarn/berry/cache/yargs-npm-16.2.0-547873d425-7.zip' -> '/data/data/com.termux/files/usr/tmp/xfs-581a5ccd/yargs-npm-16.2.0-547873d425-7.zip'  ➤ YN0001: │ Error: yargs@npm:14.2.3: EBADF: bad file descriptor, copyfile '/data/data/com.termux/files/home/.yarn/berry/cache/yargs-npm-14.2.3-b84ca3cee2-7.zip' -> '/data/data/com.termux/files/usr/tmp/xfs-79c6d10a/yargs-npm-14.2.3-b84ca3cee2-7.zip'  ➤ YN0001: │ Error: yeast@npm:0.1.2: EBADF: bad file descriptor, copyfile '/data/data/com.termux/files/home/.yarn/berry/cache/yeast-npm-0.1.2-19a347595d-7.zip' -> '/data/data/com.termux/files/usr/tmp/xfs-25e98209/yeast-npm-0.1.2-19a347595d-7.zip'     ➤ YN0001: │ Error: yorkie@npm:2.0.0: EBADF: bad file descriptor, copyfile '/data/data/com.termux/files/home/.yarn/berry/cache/yorkie-npm-2.0.0-90a2c44491-7.zip' -> '/data/data/com.termux/files/usr/tmp/xfs-4be4d46d/yorkie-npm-2.0.0-90a2c44491-7.zip'  ➤ YN0000: └ Completed in 4s 535ms
➤ YN0000: Failed with errors in 21s 835ms
To reproduce
  1. Install yarn on Android or ChromeOS with Android (easiest way is Termux from F-Droid app store)
  2. Run yarn on a large project like Vue
Environment
System:                                                                                                                        
  OS: android                                                                                                                  
  CPU: Unknown
Binaries:                                                                                                                      
  Node: 16.13.2 - /data/data/com.termux/files/usr/tmp/xfs-a915398e/node                                                        
  Yarn: 2.4.3 - /data/data/com.termux/files/usr/tmp/xfs-a915398e/yarn                                                          
  npm: 8.1.2 - /data/data/com.termux/files/usr/bin/npm
Additional context

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the reported yarn install failure in Termux on Android with Yarn 2.4.3, using a large project such as Vue, and compare it with npm. Trace the EBADF copyfile failure and identify the affected Yarn entry point; done means installs complete without these errors on the reported Android environment.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, node.js, typescript
Domain
cli, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.