Skip to content
This repository has been archived by the owner on Aug 11, 2020. It is now read-only.

WTF? #344

Closed
wants to merge 1 commit into from
Closed

WTF? #344

wants to merge 1 commit into from

Conversation

jasnell
Copy link
Member

@jasnell jasnell commented Feb 13, 2020

After rebasing from nodejs/node, the build on Windows fails with a segfault when running node_mksnapshot... This commit fixes it but it's really not clear why. It's definitely something caused by the quic commit because without that commit the build works. Still trying to track it down.

/cc @addaleax

@jasnell
Copy link
Member Author

jasnell commented Feb 13, 2020

Oh, the other thing weird is that the build does not fail when using vcbuild experimental-quic debug

@addaleax
Copy link
Member

So... unfortunately, I cannot reproduce this locally on Windows :/

I'm good with landing this, but maybe leave comments saying that these are workarounds that should eventually be removed...

@jasnell
Copy link
Member Author

jasnell commented Feb 14, 2020

So the build works just fine for you on Windows? Interesting! Which visual studio version are you running?

@gengjiawen
Copy link
Member

gengjiawen commented Feb 15, 2020

Works on my windows too.

PS D:\Developer\quic\Release> ./node -p process.versions
{
  node: '14.0.0-pre',      
  v8: '7.9.317.25-node.29',
  uv: '1.34.2',
  zlib: '1.2.11',
  brotli: '1.0.7',
  ares: '1.15.0',
  modules: '81',
  nghttp2: '1.40.0',       
  napi: '5',
  llhttp: '2.0.4',
  openssl: '1.1.1d',
  ngtcp2: '0.1.90',
  nghttp3: '0.1.90',
  cldr: '36.0',
  icu: '65.1',
  tz: '2019c',
  unicode: '12.1'
}

Env:

  System:
    OS: Windows 10 10.0.18363
    CPU: (8) x64 Intel(R) Core(TM) i7-4720HQ CPU @ 2.60GHz
    Memory: 6.18 GB / 15.89 GB

@gengjiawen
Copy link
Member

Also build passed on github windows CI. Maybe try a clean build.

@jasnell
Copy link
Member Author

jasnell commented Feb 17, 2020

Ok, very interesting... Upgrading my local environment to visual studio build tools 2019 "fixes" the build issue.

So, recap:

Sometime in the past few weeks there's been some change in nodejs/node master that conflicts with the changes in the QUIC PR. I'm thinking it most likely has to do with the order in which headers are init'd. This change is apparently triggering some as yet unknown msvc bug in visual studio build tools 2017. Bisecting the exact change that introduced the problem is going to be difficult because there are over 110 commits and the QUIC commits have to be cherry-picked at each bisect which is going to take forever. For now, the "fix" is to just build with VS 19.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants