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

Skip to content

Conversation

Dronplane
Copy link

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
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 a80f336 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