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

deps: V8: extend fix for inline methods to Win64 #40000

Closed
wants to merge 2 commits into from

Conversation

targos
Copy link
Member

@targos targos commented Sep 5, 2021

No description provided.

@nodejs-github-bot nodejs-github-bot added build Issues and PRs related to build files or the CI. needs-ci PRs that need a full CI run. v8 engine Issues and PRs related to the V8 dependency. labels Sep 5, 2021
@targos targos added windows Issues and PRs related to the Windows platform. dont-land-on-v12.x request-ci Add this label to start a Jenkins CI on a PR. labels Sep 5, 2021
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Sep 5, 2021
@nodejs-github-bot
Copy link
Collaborator

@jasnell jasnell added author ready PRs that have at least one approval, no pending requests for changes, and a CI started. fast-track PRs that do not need to wait for 48 hours to land. labels Sep 5, 2021
@github-actions
Copy link
Contributor

github-actions bot commented Sep 5, 2021

Fast-track has been requested by @jasnell. Please 👍 to approve.

@targos targos removed the fast-track PRs that do not need to wait for 48 hours to land. label Sep 5, 2021
@targos
Copy link
Member Author

targos commented Sep 5, 2021

Still broken on 32-bit

14:12:12 platform-embedded-file-writer-aix.obj : error LNK2019: unresolved external symbol "public: void __thiscall v8::internal::FixedArray::set(int,class v8::internal::Smi)" (?set@FixedArray@internal@v8@@QAEXHVSmi@23@@Z) referenced in function "protected: void __thiscall v8::internal::OrderedHashTable<class v8::internal::OrderedHashMap,2>::SetNumberOfBuckets(int)" (?SetNumberOfBuckets@?$OrderedHashTable@VOrderedHashMap@internal@v8@@$01@internal@v8@@IAEXH@Z) [C:\workspace\node-compile-windows\node\tools\v8_gypfiles\mksnapshot.vcxproj]
14:12:13 platform-embedded-file-writer-generic.obj : error LNK2001: unresolved external symbol "public: void __thiscall v8::internal::FixedArray::set(int,class v8::internal::Smi)" (?set@FixedArray@internal@v8@@QAEXHVSmi@23@@Z) [C:\workspace\node-compile-windows\node\tools\v8_gypfiles\mksnapshot.vcxproj]
14:12:13 platform-embedded-file-writer-mac.obj : error LNK2001: unresolved external symbol "public: void __thiscall v8::internal::FixedArray::set(int,class v8::internal::Smi)" (?set@FixedArray@internal@v8@@QAEXHVSmi@23@@Z) [C:\workspace\node-compile-windows\node\tools\v8_gypfiles\mksnapshot.vcxproj]
14:12:13 mksnapshot.obj : error LNK2001: unresolved external symbol "public: void __thiscall v8::internal::FixedArray::set(int,class v8::internal::Smi)" (?set@FixedArray@internal@v8@@QAEXHVSmi@23@@Z) [C:\workspace\node-compile-windows\node\tools\v8_gypfiles\mksnapshot.vcxproj]
14:12:13 ..\..\out\Release\mksnapshot.exe : fatal error LNK1120: 1 unresolved externals [C:\workspace\node-compile-windows\node\tools\v8_gypfiles\mksnapshot.vcxproj]

We need to find a long-term solution to this. The failure happens on x64 too with V8 9.3

@targos targos added the blocked PRs that are blocked by other issues or PRs. label Sep 5, 2021
@targos
Copy link
Member Author

targos commented Sep 5, 2021

I got the condition backwards 🤦🏻 . We actually need to keep the patch and extend it to x64...

@targos targos changed the title Revert "deps: fix V8 build issue with inline methods" deps: V8: extend fix for inline methods to Win64 Sep 5, 2021
@targos targos added request-ci Add this label to start a Jenkins CI on a PR. and removed blocked PRs that are blocked by other issues or PRs. labels Sep 5, 2021
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Sep 5, 2021
@nodejs-github-bot
Copy link
Collaborator

@targos
Copy link
Member Author

targos commented Sep 5, 2021

And now it fails in debug mode 😭

17:46:37 C:\workspace\node-compile-windows-debug\node\deps\v8\src\objects\fixed-array.h(139,5): error C2027: use of undefined type 'v8::internal::Map' [C:\workspace\node-compile-windows-debug\node\tools\v8_gypfiles\v8_init.vcxproj]
17:46:37 C:\workspace\node-compile-windows-debug\node\deps\v8\src\roots\roots.h(26): message : see declaration of 'v8::internal::Map' [C:\workspace\node-compile-windows-debug\node\tools\v8_gypfiles\v8_init.vcxproj]
17:46:37   v8_pch.cc
17:46:37 C:\workspace\node-compile-windows-debug\node\deps\v8\src\objects\fixed-array.h(139,5): error C2027: use of undefined type 'v8::internal::Map' [C:\workspace\node-compile-windows-debug\node\tools\v8_gypfiles\v8_compiler.vcxproj]
17:46:37 C:\workspace\node-compile-windows-debug\node\deps\v8\src\roots\roots.h(26): message : see declaration of 'v8::internal::Map' [C:\workspace\node-compile-windows-debug\node\tools\v8_gypfiles\v8_compiler.vcxproj]
17:46:40   v8_pch.cc
17:46:40 C:\workspace\node-compile-windows-debug\node\deps\v8\src\objects\fixed-array.h(139,5): error C2027: use of undefined type 'v8::internal::Map' [C:\workspace\node-compile-windows-debug\node\tools\v8_gypfiles\v8_base_without_compiler.vcxproj]
17:46:40 C:\workspace\node-compile-windows-debug\node\deps\v8\src\roots\roots.h(26): message : see declaration of 'v8::internal::Map' [C:\workspace\node-compile-windows-debug\node\tools\v8_gypfiles\v8_base_without_compiler.vcxproj]
17:46:40 

@targos targos added blocked PRs that are blocked by other issues or PRs. and removed author ready PRs that have at least one approval, no pending requests for changes, and a CI started. labels Sep 5, 2021
@addaleax
Copy link
Member

addaleax commented Sep 5, 2021

@targos You could just comment out the DCHECK?

@@ -84,7 +84,7 @@ bool FixedArray::is_the_hole(Isolate* isolate, int index) {
return get(isolate, index).IsTheHole(isolate);
}

#if !defined(_WIN32) || defined(_WIN64)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

_WIN32 actually is defined in windows 64bit mode. So this is windows ...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My another desperate try: #40010.

@gengjiawen
Copy link
Member

@targos You could just comment out the DCHECK?

Mostly likely won't help. It's a weird linker bug in vs.

@targos
Copy link
Member Author

targos commented Sep 6, 2021

Closing in favor of #40010

@targos targos closed this Sep 6, 2021
@addaleax
Copy link
Member

addaleax commented Sep 6, 2021

@targos You could just comment out the DCHECK?

Mostly likely won't help. It's a weird linker bug in vs.

@gengjiawen It’s actually not and I generally do know what I’m talking about.

@gengjiawen
Copy link
Member

@gengjiawen It’s actually not and I generally do know what I’m talking about.

You are probably right. I'm just speculating from past experience handling v8 build issue :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked PRs that are blocked by other issues or PRs. build Issues and PRs related to build files or the CI. needs-ci PRs that need a full CI run. v8 engine Issues and PRs related to the V8 dependency. windows Issues and PRs related to the Windows platform.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants