8000 Bug fix/fix msvc2019 build by Dronplane · Pull Request #11052 · arangodb/arangodb · GitHub
[go: up one dir, main page]

Skip to content

Bug fix/fix msvc2019 build #11052

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 22 commits into from
Mar 31, 2020
Merged

Bug fix/fix msvc2019 build #11052

merged 22 commits into from
Mar 31, 2020

Conversation

Dronplane
Copy link
Contributor

Fixes building and running on MSVC2019

@Simran-B
Copy link
Contributor

@Dronplane Will this allow to compile full ArangoDB with MSVC2019, or just IResearch?

@Dronplane
Copy link
Contributor Author

Full ArangoDB. IResearch itself already has msvc2019 support

@Simran-B
Copy link
Contributor

Awesome, thanks!

@goedderz
Copy link
Member

Jenkins runs into this assertion:

2020-02-08T18:47:34Z [12132] FATAL assertion failed in C:\vm03-windows\oskar\work\ArangoDB\arangod\Aql/SharedAqlItemBlockPtr.h:124: this != &other

with this backtrace:

0000003c`705fd460 00007ff7`827f361b arangod!abort(void)+0x35 [minkernel\crts\ucrt\src\appcrt\startup\abort.cpp @ 77]
(Inline Function) --------`-------- arangod!arangodb::aql::SharedAqlItemBlockPtr::operator=+0x77 [C:\vm02-windows\oskar\work\ArangoDB\arangod\Aql\SharedAqlItemBlockPtr.h @ 124]
0000003c`705fd490 00007ff7`827f3fd5 arangod!std::_Move_unchecked<arangodb::aql::SharedAqlItemBlockPtr *,arangodb::aql::SharedAqlItemBlockPtr *>(class arangodb::aql::SharedAqlItemBlockPtr * _First = 0x000001d1`222f7f20, class arangodb::aql::SharedAqlItemBlockPtr * _Last = 0x000001d1`222f7f28, class arangodb::aql::SharedAqlItemBlockPtr * _Dest = 0x000001d1`222f7f20)+0x9b [C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include\xutility @ 3632]
(Inline Function) --------`-------- arangod!std::vector<arangodb::aql::SharedAqlItemBlockPtr,std::allocator<arangodb::aql::SharedAqlItemBlockPtr> >::erase+0x8 [C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include\vector @ 1377]
0000003c`705fd4c0 00007ff7`827de905 arangod!arangodb::aql::AqlItemMatrix::popShadowRow(void)+0x1a5 [C:\vm02-windows\oskar\work\ArangoDB\arangod\Aql\AqlItemMatrix.cpp @ 199]
[...]

This is due to the following bug in the MSVC STL. It leads to self-move-assignments on an empty erase range, which in general leaves the elements in an undefined state.
https://developercommunity.visualstudio.com/content/problem/776568/vc-move-assigns-the-vector-to-itself-if-erase-is-c.html

I'll provide a patch for this case, but we should upgrade MSVC when a fixed version is available.

@KVS85
Copy link
Contributor
KVS85 commented Feb 11, 2020

@KVS85
Copy link
Contributor
KVS85 commented Feb 11, 2020

@KVS85
Copy link
Contributor
KVS85 commented Feb 11, 2020

@KVS85
Copy link
Contributor
KVS85 commented Feb 13, 2020

This will wait for VS 2019 16.5.0.

@jsteemann jsteemann added this to the devel milestone Feb 25, 2020
@KVS85
Copy link
Contributor
KVS85 commented Mar 30, 2020

@KVS85
Copy link
Contributor
KVS85 commented Mar 31, 2020

@KVS85 KVS85 added 3 Build compiling on targets 4 Windows labels Mar 31, 2020
@KVS85
Copy link
Contributor
KVS85 commented Mar 31, 2020

@KVS85
Copy link
Contributor
KVS85 commented Mar 31, 2020

@KVS85
Copy link
Contributor
KVS85 commented Mar 31, 2020

@KVS85 KVS85 marked this pull request as ready for review March 31, 2020 12:30
@KVS85 KVS85 requested review from graetzer and jsteemann and removed request for gnusi March 31, 2020 12:31
@KVS85
Copy link
Contributor
KVS85 commented Mar 31, 2020

Tests blue!

@KVS85 KVS85 merged commit a80f3 628C 36 into devel Mar 31, 2020
@KVS85 KVS85 deleted the bug-fix/fix-msvc2019-build branch March 31, 2020 13:19
ObiWahn added a commit that referenced this pull request Apr 1, 2020
…ture/validation-aql-functions

* 'devel' of https://github.com/arangodb/arangodb:
  cheapify IN lookups on unsorted arrays (#11342)
  Bug fix/fix msvc2019 build (#11052)
ObiWahn added a commit that referenced this pull request Apr 2, 2020
…idation-web-ui

* 'devel' of github.com:arangodb/arangodb:
  Fix an agency supervision bug. (#11356)
  (mostly) restore pre-3.7 API behavior (#11364)
  validation: AQL functions (#11327)
  Check MSVC_VERSION instead of CMAKE_GENERATOR (#11351)
  added sleep time (lousy fix)
  Feature/aql interleave function (#11352)
  cheapify IN lookups on unsorted arrays (#11342)
  Bug fix/fix msvc2019 build (#11052)
ObiWahn added a commit that referenced this pull request Apr 6, 2020
…ture/utf-8-validation

* 'devel' of https://github.com/arangodb/arangodb: (21 commits)
  Bug fix/headers cleanup (#11391)
  Feature/internal issue #672 (#11370)
  GraphNodes now copy the graph when cloned (#11345)
  fix lame compile error
  Feature/aql subquery execution block impl execute implementation harvesting (#11349)
  remove obsolete recoveryData
  Feature/dismantle mmfiles (#11354)
  Fix an agency supervision bug. (#11356)
  (mostly) restore pre-3.7 API behavior (#11364)
  validation: AQL functions (#11327)
  Check MSVC_VERSION instead of CMAKE_GENERATOR (#11351)
  added sleep time (lousy fix)
  Feature/aql interleave function (#11352)
  cheapify IN lookups on unsorted arrays (#11342)
  Bug fix/fix msvc2019 build (#11052)
  Allow easier removal of validation rules. (#11346)
  upgrade RocksDB (#11308)
  Introduce more type-safe identifiers (#11270)
  Bug fix/schema validation return code (#11341)
  Fix explainer output when restricting collections (#11338)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3 Build compiling on targets 4 Windows
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants
0