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

test-domain-with-abort-on-uncaught-exception.js fails on PPC platforms #3239

Closed
mhdawson opened this issue Oct 7, 2015 · 15 comments
Closed
Labels
domain Issues and PRs related to the domain subsystem. post-mortem Issues and PRs related to the post-mortem diagnostics of Node.js. test Issues and PRs related to the tests.

Comments

@mhdawson
Copy link
Member

mhdawson commented Oct 7, 2015

I've seen failures on this test starting yesterday, looks like it was added as part of:

#3035

and

#3036

not ok 196 test-domain-with-abort-on-uncaught-exception.js
#
#assert.js:89
#  throw new assert.AssertionError({
#  ^
#AssertionError: false == true
#    at ChildProcess.onChildExited (/jenkins-workspace/slave-j9nodelevm1/workspace/convergance-test-aix/arch/ppcle64/build/build/gcc48/gcc48/os/linux/node/test/parallel/test-domain-with-abort-on-uncaught-exception.js:168:22)
#    at emitTwo (events.js:87:13)
#    at ChildProcess.emit (events.js:172:7)
#    at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)

Have kicked off runs in community CI to confirm we see it there as well:

https://ci.nodejs.org/job/iojs+pr+ppc/20/

fyi @misterdjules

@misterdjules
Copy link

@mhdawson Can I get access to a shell on this machine?

@misterdjules misterdjules added post-mortem Issues and PRs related to the post-mortem diagnostics of Node.js. test Issues and PRs related to the tests. labels Oct 7, 2015
@mscdex mscdex added the domain Issues and PRs related to the domain subsystem. label Oct 7, 2015
@mhdawson
Copy link
Member Author

mhdawson commented Oct 7, 2015

Yes, was just checking how we'd do that. Can you send me your ssh public key and I'll add temporarily

@misterdjules
Copy link

@mhdawson Sent by email.

Also, why are ppc Jenkins agents not running https://ci.nodejs.org/job/node-test-pull-request/?If we want to avoid regressions for these platforms, we'll need some way for collaborators to check for regressions before changes get merged.

@dnakamura
Copy link
Contributor

Ive looked into it at it appears that v8::base::OS::abort() is generating a SIGTRAP rather than a SIGILL or SIGABRT as expected

Core was generated by `/home/devinn/node/out/Release/node --abort_on_uncaught_exception /home/devinn/node/test/parallel/test-domain-with-abort-on-uncaught-exception.js child throwInDomainErrHandler'.
Program terminated with signal 5, Trace/breakpoint trap.
#0  0x0000000010eaf874 in v8::base::OS::Abort()
Missing separate debuginfos, use: debuginfo-install glibc-2.17-78.el7.ppc64 libgcc-4.8.3-9.el7.ppc64 libstdc++-4.8.3-9.el7.ppc64
(gdb) bt
#0  0x0000000010eaf874 in v8::base::OS::Abort()
#1  0x000000001090ded8 in v8::internal::Isolate::Throw(v8::internal::Object*, v8::internal::MessageLocation*) ()

#2  0x0000000010a694dc in v8::internal::Runtime_Throw(int, v8::internal::Object**, v8::internal::Isolate*) ()
#3  0x00000204b7120128 in ?? ()
(gdb)

@misterdjules
Copy link

@dnakamura Thank you! This is what I expected. @mhdawson @dnakamura Can you try this patch: https://gist.github.com/misterdjules/d660a9a9acb1ddd9436c and let me know if that fixes the problem on ppc/AIX?

@dnakamura
Copy link
Contributor

@misterdjules It seems to fix the issue on Linux PPC, AIX still seems broken. Looking into the issue now

@misterdjules
Copy link

@dnakamura Are you on IRC in #io.js (Freenode server) by any chance? That would make realtime communication a lot easier :)

@dnakamura
Copy link
Contributor

@misterdjules I can be. Also, as it turns out I was using an old build :P looks like it works on AIX too.

@misterdjules
Copy link

@dnakamura OK, then no need to chat on IRC for that issue, but it would definitely help for future ones :)

Thank you for your help!

@mhdawson What's the best way for me to run the tests suite on all ppc platforms?

@mhdawson
Copy link
Member Author

mhdawson commented Oct 9, 2015

You can run for a given commit with the following job: https://ci.nodejs.org/job/node-test-commit-plinux/

@kapouer
Copy link
Contributor

kapouer commented Oct 13, 2015

Hello,
it's also failing on arm64, mips, mipsel (see https://buildd.debian.org/status/package.php?p=nodejs&suite=unstable). I'm trying @misterdjules patch on those now.

UPDATE: on arm64 at least the test pass with that patch.

@mhdawson
Copy link
Member Author

@misterdjules are you going to be able to put together a PR for the change in the near future ? It looks like it resolves the problem on plinux and amr64

misterdjules pushed a commit to misterdjules/node-1 that referenced this issue Oct 14, 2015
Add SIGTRAP and the corresponding exit code to the list of signals/exit
codes that are expected when running tests that throw an uncaught error
and have --abort-on-uncaught-exception enabled.

Also refactor a bit related comments so that they better reflect what's
actually happening.

Fixes nodejs#3239.
@misterdjules
Copy link

@mhdawson #3354.

@misterdjules
Copy link

@kapouer Thank you for the update! What about failures on mips and mipsel?

@kapouer
Copy link
Contributor

kapouer commented Oct 14, 2015

@misterdjules waiting for confirmation on the next build. I'll post the result here.

misterdjules pushed a commit that referenced this issue Oct 28, 2015
Add SIGTRAP and the corresponding exit code to the list of signals/exit
codes that are expected when running tests that throw an uncaught error
and have --abort-on-uncaught-exception enabled.

Also refactor a bit related comments so that they better reflect what's
actually happening.

Fixes #3239.

PR: #3354
PR-URL: #3354
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Johan Bergström <[email protected]>
misterdjules pushed a commit that referenced this issue Oct 29, 2015
Add SIGTRAP and the corresponding exit code to the list of signals/exit
codes that are expected when running tests that throw an uncaught error
and have --abort-on-uncaught-exception enabled.

Also refactor a bit related comments so that they better reflect what's
actually happening.

Fixes #3239.

PR: #3354
PR-URL: #3354
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Johan Bergström <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
domain Issues and PRs related to the domain subsystem. post-mortem Issues and PRs related to the post-mortem diagnostics of Node.js. test Issues and PRs related to the tests.
Projects
None yet
Development

No branches or pull requests

5 participants