pinojs/thread-stream

Facing one test issue on PPC64LE architecture.

Opened this issue · 6 comments

I'm facing one test failure on PPC64LE architecture

🌈 SUMMARY RESULTS 🌈

SKIP ​ test/commonjs-fallback.test.js 3 skip of 3 4.042ms
~ yarn module resolution
~ yarn module resolution for directories with special characters
~ yarn module resolution for typescript commonjs modules

SKIP ​ test/never-drain.test.js 1 skip of 1 3.61ms
~ emit warning when the worker gracefully exit without the stream ended

FAIL ​ test/pkg/pkg.test.js 1 failed of 1 18s
✖ stdout maxBuffer length exceeded


Suites:   ​1 failed​, ​16 passed​, ​17 of 17 completed​
Asserts:  ​​​1 failed​, ​155 passed​, ​4 skip​, ​of 160​
Time:​   ​43s​

OS:

NAME="Red Hat Enterprise Linux"
VERSION="9.3 (Plow)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="9.3"
PLATFORM_ID="platform:el9"
PRETTY_NAME="Red Hat Enterprise Linux 9.3 (Plow)"
ANSI_COLOR="0;31"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:redhat:enterprise_linux:9::baseos"
HOME_URL="https://www.redhat.com/"
DOCUMENTATION_URL="https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 9"
REDHAT_BUGZILLA_PRODUCT_VERSION=9.3
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="9.3"

cc @mhdawson can your team take a look?

@pacostas, @lholmquist could you two prioritize taking a look at this. If you need help getting access to a PPC machine I think either Richard or Milad might be able to help, if not please let me know.

This is he full output of the error on ppc64le

./node_modules/tap/bin/run.js ./test/pkg/pkg.test.js
 ✖ stdout maxBuffer length exceeded

  test: worker test when packaged into executable using pkg
  at:
    line: 490
    column: 14
    file: node:child_process
    function: Socket.onChildStdout
  type: RangeError
  code: ERR_CHILD_PROCESS_STDIO_MAXBUFFER
  cmd: npx pkg /opt/app-root/src/pino/test/pkg/index.js --config
    /opt/app-root/src/pino/test/pkg/pkg.config.json
  stdout: "> pkg@6.2.0

    > Fetching base Node.js binaries to PKG_CACHE_PATH

    > \e[31mError!\e[39m 404: Not Found

    > Not found in remote cache:

    \  {\"tag\":\"v3.5\",\"name\":\"node-v14.21.3-linux-ppc64\"}

    > Building base binary from source:

    \  built-v14.21.3-linux-ppc64

    > Fetching Node.js source archive from nodejs.org...

    > Extracting Node.js source archive...

    >\

Which occurs from this line

const { stderr } = await exec(`npx pkg ${filePath} --config ${configPath}`)

This happaens as the npx pkg command tries to download the nodejs binary for ppc64le, but the pkg package references to it as ppc64 instead of ppc64le, so it does not match the url https://nodejs.org/dist/v14.21.3/node-v14.21.3-linux-ppc64le.tar.xz

I think you can skip that check in ppc64. Would you like to send a PR for that?

@pacostas we might want to see if we can fix that in pkg, but agree just skipping on ppc for now makes sense.

Could I get a PR?