Skip to content

Port fixes from node-16 branch to node 17 #41

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

Merged
merged 20 commits into from
Jan 28, 2023

Conversation

seanmakesgames
Copy link
Contributor

No description provided.

Fayti1703 and others added 16 commits January 23, 2023 21:18
Build the symbol table after adding each file instead of continually
rebuilding it.
This fixes an issue where functions that require ICU data segfault
the process due to an unexpected lack of ICU data.

The actual ICU data is provided by the icudt71_dat object.
Linking on Linux currently errors with `undefined reference to `'dlsym'`
Alpine Linux's `ar` program doesn't support having objects with the
same name in the archive twice, so we have to use the GNU extension
for including paths.

This commit *should* honestly be split into multiple separate commits,
but unfortunately pretty much all of these changes have to be applied
as a unit or a build step fails.
Let node figure out the snake business.
@seanmakesgames seanmakesgames marked this pull request as ready for review January 24, 2023 00:19
@seanmakesgames
Copy link
Contributor Author

@lloeki @SamSaffron
Failures on this run:

In file included from ../deps/v8/src/heap/cppgc/prefinalizer-handler.cc:5:
../deps/v8/src/heap/cppgc/prefinalizer-handler.h: In member function 'size_t cppgc::internal::PreFinalizerHandler::ExtractBytesAllocatedInPrefinalizers()':
../deps/v8/src/heap/cppgc/prefinalizer-handler.h:32:17: error: 'exchange' is not a member of 'std'

@Fayti1703
Copy link
Contributor

2.7 failures look like ye olde bundler libc detection problem.

@​v8: If you use `std::exchange`, include the header for it?
@Fayti1703
Copy link
Contributor

Fayti1703 commented Jan 24, 2023

482ac9c fixes the Ruby test in 3.1 musl. I expect that change to be specific to this version of node.

@seanmakesgames
Copy link
Contributor Author

@lloeki @SamSaffron we are green.

(except for the two 2.7 tests which are failing the same way as the 16 branch)

@lloeki
Copy link
Collaborator

lloeki commented Jan 24, 2023

2.7 failures look like ye olde bundler libc detection problem.

this should be fixable by updating rubygems+bundler. if not then there may be an upstream regression.

@seanmakesgames
Copy link
Contributor Author

2.7 failures look like ye olde bundler libc detection problem.

this should be fixable by updating rubygems+bundler. if not then there may be an upstream regression.

Are you doing this? Where do we update this?
I was never quite sure on which version pair for those- Is this a change in build.yml? I don't see a bundler version specified in there-

Maybe you can just make the change so we can see where that is controlled.

@lloeki
Copy link
Collaborator

lloeki commented Jan 24, 2023

Yeah I can make the change later today

@lloeki
Copy link
Collaborator

lloeki commented Jan 25, 2023

I pushed a bunch of commits to node-16 that makes CI green, one of them being about pinning rubygems. Probably these should be cherry-picked over here too.

@Fayti1703
Copy link
Contributor

(Note to self: Primary commits are 0fad627 & 4db6396)

@Fayti1703
Copy link
Contributor

I've dropped the change in ext/libv8-node/extconf.rb from 4db6396, since this branch doesn't yet have the Truffleruby dummy Makefile generation in.

@Fayti1703
Copy link
Contributor

Fayti1703 commented Jan 26, 2023

CI is almost entirely green, with a failure on darwin test due to the GC test: https://github.com/seanmakesgames/libv8-node/actions/runs/4009651664/jobs/6887267190

Looks like a transient failure, though. Probably something to do with how the V8 GC was feeling that run.
Reran with no changes and it's green: https://github.com/seanmakesgames/libv8-node/actions/runs/4009651664/jobs/6892966850

@seanmakesgames
Copy link
Contributor Author

@SamSaffron @lloeki
CI is 100% green here:
https://github.com/seanmakesgames/libv8-node/actions/runs/4009651664

Can we get a merge?

@lloeki lloeki merged commit 4411451 into rubyjs:node-17 Jan 28, 2023
@lloeki
Copy link
Collaborator

lloeki commented Jan 28, 2023

Done!

@seanmakesgames seanmakesgames deleted the node-17-test-port branch January 29, 2023 03:01
@SamSaffron
Copy link
Collaborator

wow looking amazing! how far are we from a new release here? Should we move 17 branch to main ? it is weird that the cutting edge is tucked away in a branch.

@seanmakesgames
Copy link
Contributor Author

Completely agree @SamSaffron - though are we stopping at 17 or going to 18?

@SamSaffron
Copy link
Collaborator

would love a go at 18 ❤️

@seanmakesgames
Copy link
Contributor Author

Looks like there's already a branch for 18; we'll do another rebase

@seanmakesgames
Copy link
Contributor Author

Was just about to make a PR from 18 to master, but I'd love for us to change master to main beforehand -- Can one of you make that change? @SamSaffron @lloeki

@lloeki
Copy link
Collaborator

lloeki commented Feb 1, 2023

On this project I don't merge into master, so:

  • Updated master to point to last node-18 commit
  • Created node-19 branch

I'd love for us to change master to main

This is a separate matter, please open a dedicated issue for that (one on libv8-node and one on mini_racer)

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

Successfully merging this pull request may close these issues.

4 participants