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/parallel/test-error-reporting.js fails with debug builds #7144

Closed
addaleax opened this issue Jun 4, 2016 · 4 comments
Closed

test/parallel/test-error-reporting.js fails with debug builds #7144

addaleax opened this issue Jun 4, 2016 · 4 comments
Assignees
Labels
test Issues and PRs related to the tests. v8 engine Issues and PRs related to the V8 dependency.

Comments

@addaleax
Copy link
Member

addaleax commented Jun 4, 2016

  • Version: master
  • Platform: x64 Linux
  • Subsystem: umm…?

Running test/fixtures/throws_error7.js using a debug build results in a V8 DCHECK() failure.

Bisecting says the regression was introduced in any of 069e02a, 89f2343, 079973b.

Output + stack trace:

#
# Fatal error in ../deps/v8/src/api.cc, line 168
# Check failed: !isolate_->external_caught_exception().
#

#0  v8::base::OS::Abort () at ../deps/v8/src/base/platform/platform-posix.cc:229
#1  0x0000000001c8d565 in V8_Fatal (file=0x1dc3407 "../deps/v8/src/api.cc", line=168, format=0x1dc030e "Check failed: %s.")
    at ../deps/v8/src/base/logging.cc:116
#2  0x000000000104b055 in v8::(anonymous namespace)::CallDepthScope::CallDepthScope (this=0x7fffffffc5b0, isolate=0x29f4e50, context=..., do_callback=false)
    at ../deps/v8/src/api.cc:168
#3  0x000000000105dc5b in v8::Object::Get (this=0x2a45840, context=..., key=...) at ../deps/v8/src/api.cc:3622
#4  0x000000000105de87 in v8::Object::Get (this=0x2a45840, key=...) at ../deps/v8/src/api.cc:3635
#5  0x0000000001ab26ab in node::FatalException (isolate=0x29f4e50, error=..., message=...) at ../src/node.cc:2412
#6  0x0000000001ab28c9 in node::OnMessage (message=..., error=...) at ../src/node.cc:2454
#7  0x00000000016bbc90 in v8::internal::MessageHandler::ReportMessage (isolate=0x29f4e50, loc=0x7fffffffc950, message=...) at ../deps/v8/src/messages.cc:132
#8  0x000000000169590d in v8::internal::Isolate::ReportPendingMessages (this=0x29f4e50) at ../deps/v8/src/isolate.cc:1511
#9  0x0000000001546235 in v8::internal::(anonymous namespace)::Invoke (isolate=0x29f4e50, is_construct=false, target=..., receiver=..., argc=1, 
    args=0x7fffffffcd70, new_target=...) at ../deps/v8/src/execution.cc:111
#10 0x0000000001546759 in v8::internal::Execution::Call (isolate=0x29f4e50, callable=..., receiver=..., argc=1, argv=0x7fffffffcd70)
    at ../deps/v8/src/execution.cc:164
#11 0x0000000001063b71 in v8::Function::Call (this=0x2a36c48, context=..., recv=..., argc=1, argv=0x7fffffffcd70) at ../deps/v8/src/api.cc:4404
#12 0x0000000001063ce7 in v8::Function::Call (this=0x2a36c48, recv=..., argc=1, argv=0x7fffffffcd70) at ../deps/v8/src/api.cc:4413
#13 0x0000000001ab72df in node::LoadEnvironment (env=0x7fffffffd270) at ../src/node.cc:3362
#14 0x0000000001ab9337 in node::StartNodeInstance (arg=0x7fffffffdb30) at ../src/node.cc:4311
#15 0x0000000001ab96cc in node::Start (argc=2, argv=0x29f37d0) at ../src/node.cc:4418
#16 0x0000000001aebed7 in main (argc=2, argv=0x7fffffffdc98) at ../src/node_main.cc:53

/cc @nodejs/v8

@addaleax addaleax added v8 engine Issues and PRs related to the V8 dependency. test Issues and PRs related to the tests. labels Jun 4, 2016
@bnoordhuis
Copy link
Member

It's not really a regression, node is doing something naughty: we call into the VM when an exception is pending.

Didn't test but moving the TryCatch in FatalException to before process_object->Get() might fix it.

addaleax referenced this issue Feb 5, 2017
With the upstream fix in V8, function declarations now
work fine in the vm module and the test is no longer failing.

Refs: https://codereview.chromium.org/2334733002
Fixes: #548
PR-URL: #9618
Reviewed-By: Ali Ijaz Sheikh <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
@jasnell
Copy link
Member

jasnell commented May 30, 2017

ping @addaleax

@addaleax
Copy link
Member Author

Yeah, I haven’t forgotten about this. I still occasionally run tests for debug builds and comment on PRs that introduced new failures; we were at 4 or 5 broken tests the last time I checked, and this particular one was still an issue, too.

All the recent async_hooks work has given me a bit more insight into how our error handling spaghetti code works, so I might be able to tackle this if I have a bit of free time.

@addaleax addaleax self-assigned this Oct 13, 2017
@addaleax
Copy link
Member Author

Closing this in favour of #17016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
test Issues and PRs related to the tests. v8 engine Issues and PRs related to the V8 dependency.
Projects
None yet
Development

No branches or pull requests

3 participants