-
Notifications
You must be signed in to change notification settings - Fork 93
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
Update to libv8-node 19.x #283
Conversation
Not sure if this is one issue or two issues, but that looks like a problem with managing V8 locks... |
Awesome, thanks @Fayti1703 |
Still WIP, but looks like we're changing the requirements for compiling mini_racer. If that's the case, we should probably also update the README (https://github.com/rubyjs/mini_racer#installation), which currently mentions:
I was also wondering if we should add a section to the README regarding supported macOS versions. I think @lloeki mentioned somewhere that the minimum supported macOS version changed with some v8 version. |
I appear to be having a task-dependency issue when compiling locally:
This also occurs with Going to try running a bisect, see if I can track down what exactly the problem is here. |
Looks to be caused by 657a6ff...? |
I've managed to pin down two issues here:
|
With a debug build of V8 (via a local libv8-node gem build), I get even more snapshot-related crashes due to invalid checksums. V8 says (for example):
This smells like a V8 bug, since as far as I can tell MR doesn't touch the snapshot data whatsoever. |
@Fayti1703 Did you by any chance attempt anything with node 20? |
Not yet -- though judging from the CI runs on #284, there's similar behavior on that version as well. I was planning on dumping out the checksum data on snapshot generation, trying to see if anything was off there (which would basically confirm it being a V8 issue), but I haven't found the time to do so yet. |
A few weeks ago I made a half-hearted attempt to trace things using GDB reverse debugging time travel, but no dice. Half-hearted because I was not very hopeful as GDB RD is quite limited + my RD skills are limited. A more potent RD is Maybe it's time I ramp my RD+ |
Out of curiosity: by rr you are referring to https://github.com/rr-debugger/rr? |
Yup, some vids are down below: https://rr-project.org |
VERSION = "0.8.0" | ||
LIBV8_NODE_VERSION = "~> 18.16.0.0" | ||
VERSION = "0.9.0" | ||
LIBV8_NODE_VERSION = "~> 19.9.0.0" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe we should skip non-LTS ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can find some more context to the plan we made a while ago here, @mathieujobin: #277
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, that indeed explains a lot.
Makes a lot of sense.
looking forward testing 0.10.0 with node20
I've moved to attempt things straight on node 20 here: #284 |
Not sure when this became required. Docs do say > The caller has to make sure that this is called from the right thread. but make no mention of required locking.
Merging this as is as per the plan. |
No description provided.