Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build fails - O_NONBLOCK stdout/stderr set by node causes problems with 3rd party software #22837

Closed
AdamMajer opened this issue Sep 13, 2018 · 1 comment

Comments

@AdamMajer
Copy link
Contributor

  • Version: v10.x-staging, v10.9.0, v10.10.0
  • Platform: openSUSE Tumbleweed, SLES 15, openSUSE Leap 15
  • Subsystem: build

Since the #21257, NodeJS has stopped building with QEMU. Logs showed nothing as the cause was NodeJS leaving stdin/stderr in O_NONBLOCK state which then resulted in other processes that expect blocking console to break during build.

Reverting the linked revert has fixed the problem for v10.9.0, but the problem remains with v10.x-staging

https://build.opensuse.org/package/live_build_log/devel:languages:nodejs/nodejs_git/SLE_15/x86_64
(note, this log may be replaced Soon with another snapshot).

[ 3199s] installing /home/abuild/rpmbuild/BUILDROOT/nodejs11-git.d03ce9df05-1.1.x86_64/usr/lib64/node_modules/npm10/node_modules/libnpmhook/LICENSE.md
[ 3199s] installing /home/abuild/rpmbuild/BUILDROOT/nodejs11-git.d03ce9df05-1.1.x86_64/usr/lib64/node_modules/npm10/node_modules/libnpmhook/package.json
[ 3199s] installing /home/abuild/rpmbuild/BUILDROOT/nodejs11-git.d03ce9df05-1.1.x86_64/usr/lib64/node_modules/npm10/node_modules/libnpmhook/index.js
[ 3199s] installing /home/abuild/rpmbuild/BUILDROOT/nodejs11-git.d03ce9df05-1.1.x86_64/usr/lib64/node_modules/npm10/node_modules/libnpmhook/CHANGELOG.md
[ 3199s] installing /home/abuild/rpmbuild/BUILDROOT/nodejs11-git.d03ce9df05-1.1.x86_64/usr/lib64/node_modules/npm10/node_modules/libnpmhook/config.js
[ 3199s] installing /home/abuild/rpmbuild/BUILDROOT/nodejs11-git.d03ce9df05-1.1.x86_64/usr/lib64/node_modules/npm10/node_modules/libnpmhook/README.md
[ 3199s] installing /home/abuild/rpmbuild/BUILDROOT/nodejs11-git.d03ce9df05-1.1.x86_64/usr/lib64/node_modules/npm10/node_modules/libnpmhook/node_modules/npm-registry-fetch/check-response.js
[ 3199s] installing /home/abuild/rpmbuild/BUILDROOT/nodejs11-git.d03ce9df05-1.1.x86_64/usr/lib64/node_modules/npm10/node_modules/libnpmhook/node_modules/npm-registry-fetch/LICENSE.md
[ 3199s] installing /home/abuild/rpmbuild/BUILDROOT/nodejs11-git.d03ce9df05-1.1.x86_64/usr/lib64/node_modules/npm10/node_modules/libnpmhook/node_modules/npm-registry-fetch/auth.js
[ 3199s] installing /home/abuild/rpmbuild/BUILDROOT/nodejs11-git.d03ce9df05-1.1.x86_64/usr/lib64/node_modules/npm10/node_modules/libnpmhook/node_modules/npm-registry-fetch/silentlog.js
[ 3199s] installing /home/abuild/rpmbuild/BUILDROOT/nodejs11-git.d03ce9df05-1.1.x86_64/usr/lib64/node_modules/npm10/node_modules/libnpmhook/node_modules/npm-registry-fetch/package.json
[ 3202s] installing /home/abuild/rpmbuild/BUILDROOT/nodejs11-git.d03ce9df05-1.1.x86_64/usr/lib64/node_modules/npm10/node_modules/libnpmhook/node_modules/npm-regis[ 3192.536261] sysrq: SysRq : Power Off
[ 3202s] [ 3192.537714] reboot: Power down
[ 3203s] ### VM INTERACTION END ###
[ 3203s] 
[ 3203s] build81 failed "build nodejs_git.spec" at Wed Sep 12 16:28:05 UTC 2018.
[ 3203s]

The truncated logs are a result of EAGAIN which is caused by node during build process. rpmbuild replaces /dev/pty with a pipe - same one for stdout and stderr. And that pipe is then O_NONBLOCK which causes the breakage.

@AdamMajer
Copy link
Contributor Author

Closing. Isolated build script with another pipe so it will not affect current file descriptors.

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

No branches or pull requests

1 participant