Skip to content

fix: drain binding test child stdio#613

Open
roblandry wants to merge 1 commit into
withcatai:masterfrom
roblandry:fix/drain-binding-test-stdio
Open

fix: drain binding test child stdio#613
roblandry wants to merge 1 commit into
withcatai:masterfrom
roblandry:fix/drain-binding-test-stdio

Conversation

@roblandry
Copy link
Copy Markdown

Summary

  • always pipe stdout/stderr for the Node binding-test child process
  • drain those streams in the parent when logs are not requested
  • preserve the existing behavior of only forwarding logs after the binary has loaded when pipeOutputOnNode is enabled

Why

In an OpenClaw Debian 12 container with Intel Vulkan libraries installed, the Vulkan prebuilt addon can be imported directly and the GPU support check passes when the binding test child process uses piped stdio.

With the current default stdio: ["ignore", "ignore", "ignore", "ipc"], the child exits before sending its initial ready IPC message, causing getLlama() to skip otherwise-working prebuilt binaries and fall back to building from source.

Piping and draining stdio in the parent avoids attaching the child to ignored/null fds while still discarding output by default.

Validation

  • npm run test:typescript
  • npm run lint:eslint -- src/bindings/utils/testBindingBinary.ts

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant