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

FATAL ERROR: v8::FromJust Maybe value is Nothing #56020

Open
rozzilla opened this issue Nov 27, 2024 · 2 comments
Open

FATAL ERROR: v8::FromJust Maybe value is Nothing #56020

rozzilla opened this issue Nov 27, 2024 · 2 comments

Comments

@rozzilla
Copy link

rozzilla commented Nov 27, 2024

Version

v20.18.0

Platform

Darwin N4V4PGFGPT 23.6.0 Darwin Kernel Version 23.6.0: Wed Jul 31 20:53:05 PDT 2024; root:xnu-10063.141.1.700.5~1/RELEASE_ARM64_T8112 arm64

Subsystem

No response

What steps will reproduce the bug?

Checkout the branch chore/node/v8-fatal-error-reproduction of this repo. Then:

  • npm run setup
  • npm run start

You'll get:

[14:28:51.817] INFO (31321): Starting the service "bug"...
FATAL ERROR: v8::FromJust Maybe value is Nothing
----- Native stack trace -----

 1: 0x104427d74 node::OnFatalError(char const*, char const*) ...

How often does it reproduce? Is there a required condition?

Always.

If you add a comment on the 2nd call to pino (line 6), it doesn't occur.

What is the expected behavior? Why is that the expected behavior?

Node should handle the shutdown differently, instead of throwing.

What do you see instead?

A stack trace of the error from v8

Additional information

I'm available to provide further information if this can help to fix the bug 😊

No response

@juanarbol
Copy link
Member

Hi, thanks for the report.

Would you mind adding the whole backtrace? Also a smaller repro case would be handy; like a code snippet.

@rozzilla
Copy link
Author

Hi, thanks for the report.

Hi @juanarbol 👋🏼

Would you mind adding the whole backtrace?

Here is the full log:

FATAL ERROR: v8::FromJust Maybe value is Nothing
----- Native stack trace -----

 1: 0x100cc7d74 node::OnFatalError(char const*, char const*)
 2: 0x100e58404 v8::api_internal::FromJustIsNothing()
 3: 0x100d7f89c node::worker::Worker::JoinThread()
 4: 0x100c69090 node::Environment::RunAndClearNativeImmediates(bool)::$_7::operator()(node::CallbackQueue<void, node::Environment*>*) const
 5: 0x100c68788 node::Environment::RunAndClearNativeImmediates(bool)
 6: 0x100c6ca50 node::Environment::InitializeLibuv()::$_1::__invoke(uv_async_s*)
 7: 0x1016a1b30 uv__async_io
 8: 0x1016b3c08 uv__io_poll
 9: 0x1016a20f4 uv_run
10: 0x100bf16f0 node::SpinEventLoopInternal(node::Environment*)
11: 0x100d7f3c0 node::worker::Worker::Run()
12: 0x100d82a1c node::worker::Worker::StartThread(v8::FunctionCallbackInfo<v8::Value> const&)::$_3::__invoke(void*)
13: 0x19bfd9f94 _pthread_start [/usr/lib/system/libsystem_pthread.dylib]
14: 0x19bfd4d34 thread_start [/usr/lib/system/libsystem_pthread.dylib]

Also a smaller repro case would be handy; like a code snippet.

The minimum repro case is documented above, I wasn't able to make it smaller 🤷🏼 You need to run node from this repo, following the instructions above.

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

2 participants