Today's Trends
minorInvestigatingNode.jsv1.4.4+38afee6c8

Bun 1.4.4+38afee6c8 Linux process.stdout._handle is undefined

  1. Investigating(current)
  2. Trending(upcoming)
  3. Workaround available(upcoming)
  4. Resolved(upcoming)

Executive summary

The `process.stdout._handle` property is undefined in Bun version 1.4.4+38afee6c8 on a Linux system, causing issues with synchronous writes to standard output and standard error due to the `setBlocking(true)` method failing with an EAGAIN error after writing more than 8 KB of data.

No verified workaround yet

None of the linked reports describe a mitigation. Follow this incident to hear when one appears.

Technical root cause

Under active investigation. No report has identified a root cause yet.

Evidence

1 report · 1 GitHubShow
  1. [1]
    GitHub First report
    process.stdout._handle is undefined, so setBlocking(true) is a no-op and native or writeSync writes to a piped fd 1 fail with EAGAIN after 8 KB (Linux)(opens GitHub issue in a new tab)

    What version of Bun is running? 1.4.4+38afee6c8 What platform is your computer? Linux 6.8.0-147-generic x86_64 What steps can reproduce the bug? repro.mjs: import { writeSync } from "node:fs"; // The Node idiom CLIs use before handing fd 1 to synchronous or native writers. if (!process.stdout.isTTY) process.stdout._handle?.setBlocking?.(true); process.stderr.write(process.stdout._handle: ${typeof process.stdout._handle}\n); const data = Buffer.alloc(1_048_576, "x"); let written = 0; try {…

    by Mattslayga 0upvotes 3comments

Timeline

  1. First report on GitHub issue

    process.stdout._handle is undefined, so setBlocking(true) is a no-op and native or writeSync writes to a piped fd 1 fail with EAGAIN after 8 KB (Linux)

    Source