Skip to content

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

New issue

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

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

Already on GitHub? # to your account

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 <cjihrig@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
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 <cjihrig@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
# for free to join this conversation on GitHub. Already have an account? # 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