View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0026929 | Community | OCCT:Modeling Algorithms | public | 2015-11-25 18:09 | 2016-04-20 15:50 |
Reporter | Istvan Csanady | Assigned To | bugmaster | ||
Priority | high | Severity | crash | ||
Status | closed | Resolution | fixed | ||
Target Version | 7.0.0 | Fixed in Version | 7.0.0 | ||
Summary | 0026929: Extrema_ECC hang/crash | ||||
Description | See the attached code. In this case it hangs, but in some similar cases it crashed. Hang/crash occurs at Extrema_GenExtCC.gxx 0000291: std::sort(aPnts.begin(), aPnts.end(), comp); | ||||
Steps To Reproduce | test bugs modalg_6 bug26929 | ||||
Tags | No tags attached. | ||||
Test case number | |||||
|
main.cpp (86,308 bytes) |
|
Dear Alexander, please look at this issue and estimate if it has a very simple solution to be integrated in 7.0. Otherwise, change target version to 7.1. |
|
Branch CR26929 has been created by aml. SHA-1: fd6b9b3ff8daf6c8679387da07e9da6d341fe385 Detailed log of new commits: Author: aml Date: Wed Nov 25 22:49:03 2015 +0300 0026929: Extrema_ECC hang/crash Test case added. |
|
Shapes were converted into "restore" format and attached. Test case added. |
|
Branch CR26929 has been updated forcibly by aml. SHA-1: d248664d6ffcd0bb650f3684959e254c75c92972 |
|
Branch CR26929 has been updated forcibly by aml. SHA-1: 3a899dc7308bd47c4e23b989a03bcae8d051444f |
2015-11-26 09:22 developer |
OCC26629-edge.brep (24,362 bytes) |
2015-11-26 09:22 developer |
OCC26629-face.brep (58,648 bytes) |
|
Dear msv, This problem not reproduced on the following configurations: vc11-x64 Release / Debug vc10-x64 Release / Debug So, test case was created. Could you please review my modifications? |
|
I guess the problem was reported on OS X or iOS, and can be specific to this platform and/or CLang compiler. Istvan, can you please specify the configuration where you observe the problem (OCCT version / commit hash, OS, compiler)? |
|
Branch CR26929 has been updated forcibly by aml. SHA-1: 0835c04be48617581c72a633fd73580bff78e3a1 |
|
Branch CR26929 has been updated forcibly by aml. SHA-1: 2e35a9bf545a87795a3edd0adbe549e9282e7cf6 |
|
I have reviewed test case. Dear Istvan, could you please try to run the test script from the branch CR26929 within your configuration to make sure it reproduces the problem? |
|
Unfortunately I can not run tcl scripts on iOS, but based on the code it should. |
|
What about OS X then? |
|
I don't have MacOSX binaries, but I will compile them tomorrow morning. |
|
OCCT version: latest master, Clang, Xcode 7.1 |
|
But this one is not related to Clang optimizations, because it hangs in debug mode as well. |
|
Well, I can not even compile the master branch on OSX, TKernel compilation fails with linker error to std::bad_cast. |
|
Finally I compiled on OSX, but DRAWEXE crashes with libc++abi.dylib: terminating with uncaught exception of type Standard_DomainError Abort trap: 6 |
|
Dear bugmaster, could you check the test case in this branch on MacOSX? |
|
MacOS master test script crashed by CPU limit 100 and 300. See attached log.txt file |
|
log.txt (2,266 bytes) |
|
Easy to fix: just add these three lines to the comparator code if (theA.X() == theB.X() && theA.Y() == theB.Y()) { return &theA < &theB; } |
|
I do not like this solution. The performance will depend on ordering of objects in memory. We in OCCT try to avoid such behavior as much as possible. I think it is ill implementation of std::sort in CLang. |
|
Istvan, thank you for highlighting the problem! Can you try another fix: just replace "<=" by "<" at line 39: > if (theA.Y() <= theB.Y()) Here the point is that operator 'less' may not return true for equal objects |
|
Branch CR26929_1 has been created by msv. SHA-1: d1eff45ccdad6967985e81b12362aad1216c1dee Detailed log of new commits: Author: msv Date: Sat Mar 26 20:42:49 2016 +0300 Experimental change: make comparator returning false in the case of equal elements. Author: aml Date: Wed Nov 25 22:49:03 2015 +0300 0026929: Extrema_ECC hang/crash Test case added. |
|
Hi Istvan, Could you test this problem on the branch CR26929_1? Mikhail |
|
I have tested this change on a set of tests "bugs mod*", no regressions have been revealed. |
|
Branch CR26929_2 has been created by abv. SHA-1: 0b65fec2954ecdace867197f58a6b9eeab5ed0f6 Detailed log of new commits: Author: msv Date: Sat Mar 26 20:42:49 2016 +0300 0026929: Extrema_ECC hang/crash Comparator functor corrected to return false in the case of equal elements. Test case added. |
|
Igor, please compile branch CR26929 on OS X and check test bugs modalg_6 bug26929 |
|
Sorry, correct branch is indeed CR26929_2 |
|
Branch CR26929 has been deleted by kgv. SHA-1: 2e35a9bf545a87795a3edd0adbe549e9282e7cf6 |
|
Branch CR26929_1 has been deleted by kgv. SHA-1: d1eff45ccdad6967985e81b12362aad1216c1dee |
|
Branch CR26929_2 has been deleted by kgv. SHA-1: 0b65fec2954ecdace867197f58a6b9eeab5ed0f6 |
occt: master afb27815 2016-03-26 17:42:49
Committer: bugmaster Details Diff |
0026929: Extrema_ECC hang/crash Comparator functor corrected to return false in the case of equal elements. Test case added. |
Affected Issues 0026929 |
|
mod - src/Extrema/Extrema_GenExtCC.gxx | Diff File | ||
add - tests/bugs/modalg_6/bug26929 | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2015-11-25 18:09 | Istvan Csanady | New Issue | |
2015-11-25 18:09 | Istvan Csanady | Assigned To | => msv |
2015-11-25 18:09 | Istvan Csanady | File Added: main.cpp | |
2015-11-25 18:38 |
|
Note Added: 0048579 | |
2015-11-25 18:38 |
|
Assigned To | msv => aml |
2015-11-25 18:38 |
|
Status | new => assigned |
2015-11-25 22:24 |
|
File Added: aE | |
2015-11-25 22:24 |
|
File Added: aF | |
2015-11-25 22:30 |
|
File Deleted: aE | |
2015-11-25 22:30 |
|
File Deleted: aF | |
2015-11-25 22:31 |
|
File Added: aF | |
2015-11-25 22:31 |
|
File Added: aE | |
2015-11-25 22:50 | git | Note Added: 0048586 | |
2015-11-25 22:51 |
|
Note Added: 0048587 | |
2015-11-26 08:34 | git | Note Added: 0048588 | |
2015-11-26 09:21 | git | Note Added: 0048589 | |
2015-11-26 09:22 |
|
File Deleted: aF | |
2015-11-26 09:22 |
|
File Deleted: aE | |
2015-11-26 09:22 |
|
File Added: OCC26629-edge.brep | |
2015-11-26 09:22 |
|
File Added: OCC26629-face.brep | |
2015-11-26 09:24 |
|
Note Added: 0048590 | |
2015-11-26 09:24 |
|
Assigned To | aml => msv |
2015-11-26 09:24 |
|
Status | assigned => resolved |
2015-11-26 09:24 |
|
Steps to Reproduce Updated | |
2015-11-26 09:45 |
|
Note Added: 0048592 | |
2015-11-26 10:14 | git | Note Added: 0048593 | |
2015-11-26 10:38 | git | Note Added: 0048596 | |
2015-11-26 10:51 |
|
Note Added: 0048599 | |
2015-11-26 10:51 |
|
Assigned To | msv => Istvan Csanady |
2015-11-26 10:51 |
|
Status | resolved => feedback |
2015-11-26 15:32 | Istvan Csanady | Note Added: 0048611 | |
2015-11-26 17:22 |
|
Note Added: 0048614 | |
2015-11-26 19:07 | Istvan Csanady | Note Added: 0048621 | |
2015-11-27 14:57 | Istvan Csanady | Note Added: 0048633 | |
2015-11-27 14:58 | Istvan Csanady | Note Added: 0048634 | |
2015-11-27 15:19 | Istvan Csanady | Note Added: 0048635 | |
2015-11-27 16:13 | Istvan Csanady | Note Added: 0048637 | |
2015-11-27 16:53 |
|
Note Added: 0048639 | |
2015-11-27 16:53 |
|
Assigned To | Istvan Csanady => bugmaster |
2015-11-30 11:51 | bugmaster | Note Added: 0048647 | |
2015-11-30 11:51 | bugmaster | Assigned To | bugmaster => msv |
2015-11-30 11:51 | bugmaster | Status | feedback => assigned |
2015-11-30 11:53 | bugmaster | File Added: log.txt | |
2016-02-02 11:07 |
|
Target Version | 7.0.0 => 7.1.0 |
2016-03-24 16:54 | Istvan Csanady | Note Added: 0051966 | |
2016-03-24 19:50 |
|
Target Version | 7.1.0 => 7.0.0 |
2016-03-25 11:05 |
|
Note Added: 0051976 | |
2016-03-26 22:00 |
|
Note Added: 0052043 | |
2016-03-27 00:16 | git | Note Added: 0052044 | |
2016-03-27 00:18 |
|
Note Added: 0052045 | |
2016-03-27 00:21 |
|
Note Added: 0052046 | |
2016-03-28 11:06 | git | Note Added: 0052050 | |
2016-03-28 11:07 |
|
Note Added: 0052051 | |
2016-03-28 11:07 |
|
Assigned To | msv => bugmaster |
2016-03-28 11:07 |
|
Status | assigned => feedback |
2016-03-28 11:08 |
|
Priority | normal => high |
2016-03-28 17:17 |
|
Note Added: 0052081 | |
2016-03-29 15:55 | bugmaster | Changeset attached | => occt master afb27815 |
2016-03-29 15:55 | bugmaster | Status | feedback => verified |
2016-03-29 15:55 | bugmaster | Resolution | open => fixed |
2016-04-17 14:01 | git | Note Added: 0053029 | |
2016-04-17 14:01 | git | Note Added: 0053030 | |
2016-04-17 14:01 | git | Note Added: 0053031 | |
2016-04-20 15:42 |
|
Fixed in Version | => 7.0.0 |
2016-04-20 15:50 |
|
Status | verified => closed |