View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0031628 | Community | OCCT:Configuration | public | 2020-06-25 11:23 | 2022-03-11 12:14 |
Reporter | kgv | Assigned To | bugmaster | ||
Priority | normal | Severity | major | ||
Status | closed | Resolution | fixed | ||
Product Version | 7.4.0 | ||||
Target Version | 7.5.0 | Fixed in Version | 7.5.0 | ||
Summary | 0031628: Configuration - Visual Studio 2019 compiler hangs on building 32-bit target | ||||
Description | Users have reported the issue with VS2019 building 32-bit targets: https://www.opencascade.com/content/visual-studio-2019-version-1644-hangs-when-building-occ The bug has been confirmed by MSFT and should be expected to be fixed in the next VS2019 update: https://developercommunity.visualstudio.com/content/problem/1082623/infinite-compilation-using-stdstable-sort.html?childToView=1091245#comment-1091245 Let see how soon it will be fixed and consider pushing one of available workarounds in case if it will come later than OCCT 7.5.0 release. | ||||
Steps To Reproduce | Build OCCT with MS Visual Studio 2019 in "Release" configuration of "Win32" platform with Whole Program Optimization disabled (it can be enabled with /GL command line key for compiler and /LTCG one for linker). The process of compilation is endless. | ||||
Tags | No tags attached. | ||||
Test case number | Not required | ||||
related to | 0031782 | closed | bugmaster | Open CASCADE | Modeling Algorithms - Regressions on VS 2019 (vc142) on fillet tests |
related to | 0032869 | new | Open CASCADE | Coding Rules, NCollection_Vector - remove workaround against VS2019 compiler bug | |
child of | 0031806 | new | bugmaster | Open CASCADE | Configuration - Visual Studio 2019 bugs |
|
As for the workaround suggested by MSFT, __declspec (noinline) should be added before the declaration of the method NCollection_Vector::Iterator::Differ(). |
|
Branch CR31628 has been created by tizmaylo. SHA-1: 31e189bc74bb3048652422447979c7dc9f392961 Detailed log of new commits: Author: tiv Date: Fri Jun 26 10:32:43 2020 +0300 0031628: Configuration - Visual Studio 2019 compiler hangs on building 32-bit target The workaround for a bug occurred in MS Visual Studio 2019 / Win32 / Release configuration with disabled Whole Program Optimization is implemented. This workaround was suggested by MSFT team: https://developercommunity.visualstudio.com/content/problem/1082623/infinite-compilation-using-stdstable-sort.html?childToView=1091245#comment-1091245 |
|
Patch is ready for review: http://jenkins-test-12.nnov.opencascade.com:8080/view/CR31628-master-TIV/view/ALL/ OCCT branch: CR31628. Products branch: master. |
|
Dear bugmaster, could you please check if 32-bit build no more hangs with latest Visual Studio 2019 update? > Submitted by Maett Oetschger on 6 August, 2020 - 17:57 > It seems that with Visual Studio 2019 Version 16.7.0 this bug is fixed. |
|
+#if defined (_MSC_VER) && (_MSC_VER >= 1920) && defined (_WIN32) && !defined (_DEBUG) Timur, _WIN32 is not the way to check for 32-bit target (if it is the purpose of this check here) - it is defined for both 32-bit and 64-bit targets using WinAPI. "#if !defined(_WIN64)" could be used for this purpose. |
|
Microsoft Visual Studio Professional 2019 Version 16.7.3 Problem reproduced |
|
Branch CR31628 has been updated forcibly by tizmaylo. SHA-1: c2b81859400b6872553324059f8d2a33a39920fa |
|
kgv You are right, !defined (_WIN64) is more appropriate here. This fix and small improvements to the comments in the code and to the commit message were forcibly pushed to the branch CR31628. |
|
Branch CR31628_1 has been created by kgv. SHA-1: fe9aad4b66cb01e6ba58bf6e060761fe3c5612c7 Detailed log of new commits: Author: tiv Date: Fri Jun 26 10:32:43 2020 +0300 0031628: Configuration - Visual Studio 2019 compiler hangs on building 32-bit target The workaround for a bug occurred in MS Visual Studio 2019 / Win32 / Release configuration with disabled Whole Program Optimization is implemented. The problem was at the line "std::stable_sort(aPairList.begin(), aPairList.end(), BRepExtrema_CheckPair_Comparator);" of BRepExtrema_DistShapeShape.cxx source file, and linked to NCollection_Vector::Differ() method. This workaround was suggested by MSFT team. |
|
Branch CR31628_1 has been updated forcibly by kgv. SHA-1: 624a1c6d427b2afefee1a1ad77b4bc28802669ca |
|
Please raise the patch - OCCT branch: CR31628_1. |
|
Branch CR31628_1 has been updated forcibly by kgv. SHA-1: 8c7a6da2be1f20b5ee1ff1adee7e8384c6278d86 |
|
Combination - OCCT branch : IR-2020-09-25 master SHA - d7bc5c833ec064bd103ebbff2882146ad5a7e7de a206de37fbfa0bf71bd534ae47192bbec23b8522 Products branch : IR-2020-09-25 SHA - a8c0c30ba368a2503bbdf9800228ace93993dfff was compiled on Linux, MacOS and Windows platforms and tested in optimize mode. Number of compiler warnings: No new/fixed warnings Regressions/Differences/Improvements: No regressions/differences CPU differences: Debian80-64: OCCT Total CPU difference: 18039.260000000093 / 17637.5100000001 [+2.28%] Products Total CPU difference: 12124.200000000114 / 12092.06000000011 [+0.27%] Windows-64-VC14: OCCT Total CPU difference: 19753.9375 / 18982.296875 [+4.07%] Products Total CPU difference: 13527.921875 / 13315.40625 [+1.60%] Image differences : No differences that require special attention Memory differences : No differences that require special attention |
|
Branch CR31628_1 has been deleted by inv. SHA-1: 8c7a6da2be1f20b5ee1ff1adee7e8384c6278d86 |
|
Branch CR31628 has been deleted by inv. SHA-1: c2b81859400b6872553324059f8d2a33a39920fa |
occt: master 0b55d29b 2020-06-26 07:32:43 tiv Committer: bugmaster Details Diff |
0031628: Configuration - Visual Studio 2019 compiler hangs on building 32-bit target The workaround for a bug occurred in MS Visual Studio 2019 / Win32 / Release configuration with disabled Whole Program Optimization is implemented. The problem was at the line "std::stable_sort(aPairList.begin(), aPairList.end(), BRepExtrema_CheckPair_Comparator);" of BRepExtrema_DistShapeShape.cxx source file, and linked to NCollection_Vector::Differ() method. This workaround was suggested by MSFT team. |
Affected Issues 0031628 |
|
mod - src/NCollection/NCollection_Vector.hxx | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2020-06-25 11:23 | kgv | New Issue | |
2020-06-25 11:23 | kgv | Assigned To | => bugmaster |
2020-06-25 11:24 | kgv | Assigned To | bugmaster => kgv |
2020-06-25 11:46 |
|
Note Added: 0092710 | |
2020-06-26 10:38 | git | Note Added: 0092750 | |
2020-06-26 13:00 |
|
Note Added: 0092757 | |
2020-06-26 13:02 |
|
Status | new => resolved |
2020-06-26 13:02 |
|
Steps to Reproduce Updated | |
2020-06-26 15:10 |
|
Steps to Reproduce Updated | |
2020-08-06 19:34 | kgv | Note Added: 0093440 | |
2020-08-06 19:34 | kgv | Assigned To | kgv => bugmaster |
2020-08-06 19:34 | kgv | Status | resolved => feedback |
2020-08-17 10:31 | kgv | Assigned To | bugmaster => kgv |
2020-08-17 10:31 | kgv | Status | feedback => resolved |
2020-08-28 18:24 | bugmaster | Assigned To | kgv => bugmaster |
2020-08-28 18:24 | bugmaster | Status | resolved => feedback |
2020-09-06 11:22 | kgv | Note Added: 0094162 | |
2020-09-06 11:23 | kgv | Note Edited: 0094162 | |
2020-09-09 17:35 | bugmaster | Note Added: 0094315 | |
2020-09-10 00:15 | git | Note Added: 0094333 | |
2020-09-10 00:18 |
|
Note Added: 0094334 | |
2020-09-11 15:40 |
|
Target Version | 7.5.0 => 7.6.0 |
2020-09-11 15:59 | kgv | Target Version | 7.6.0 => 7.5.0 |
2020-09-19 15:32 | kgv | Relationship added | related to 0031781 |
2020-09-21 17:22 | kgv | Relationship added | related to 0031782 |
2020-09-22 19:25 | kgv | Status | feedback => reviewed |
2020-09-22 19:45 | git | Note Added: 0095216 | |
2020-09-22 19:47 | git | Note Added: 0095217 | |
2020-09-22 19:47 | kgv | Note Added: 0095218 | |
2020-09-22 19:48 | git | Note Added: 0095219 | |
2020-09-27 12:13 | bugmaster | Test case number | => Not required |
2020-09-27 14:11 | bugmaster | Note Added: 0095363 | |
2020-09-27 14:11 | bugmaster | Status | reviewed => tested |
2020-09-27 14:13 | bugmaster | Changeset attached | => occt master 0b55d29b |
2020-09-27 14:13 | bugmaster | Status | tested => verified |
2020-09-27 14:13 | bugmaster | Resolution | open => fixed |
2020-09-27 14:29 | git | Note Added: 0095389 | |
2020-09-27 14:30 | git | Note Added: 0095403 | |
2020-09-30 10:06 | kgv | Relationship added | child of 0031806 |
2020-09-30 10:18 | kgv | Relationship deleted | related to 0031781 |
2020-12-02 16:22 |
|
Fixed in Version | => 7.5.0 |
2020-12-02 17:13 |
|
Status | verified => closed |
2022-03-11 12:14 | kgv | Relationship added | related to 0032869 |