View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0023260 | Open CASCADE | OCCT:Mesh | public | 2012-07-11 15:49 | 2012-11-16 13:18 |
Reporter | Assigned To | ||||
Priority | normal | Severity | minor | ||
Status | closed | Resolution | fixed | ||
Platform | Linux, Windows | ||||
Product Version | 6.5.4 | ||||
Target Version | 6.5.4 | Fixed in Version | 6.5.4 | ||
Summary | 0023260: Regression: Instability in parallel incmesh on Linux. | ||||
Description | Test cases mesh standard_incmesh_parallel K2 R3 detect problem in parallel incmesh command on Linux. An exception was caught 0xb62cd10f : Standard_NullObject: Attempt to access to null object | ||||
Tags | No tags attached. | ||||
Test case number | Not needed | ||||
|
Looks like a regression of 0022850 issue. |
|
Reproduced in CR23087_CR23210_master GIT repository. |
|
The end file of mesh grid is updated in GIT. It will be necessary to delete TODO bloc for this problem after integration of fix. |
|
Added protection to the function which may have data race (according to the valgrind report). Fix pushed to the branch CR23260 Dear Andrey, Please review. |
|
Added protection for the BRep_Tool::PolygonOnTriangulation and BRep_Tool::UVPoints inside BRepMesh_FastDiscretFace::RestoreStructureFromTriangulation Dear Andrey, Please review |
|
I have changed slightly the order of operators so as to lock mutex only once; no other remarks. Please test |
|
The problem still exists in CR23273 heritable from CR23260. |
|
Problem was that the Standard_Mutex::SentryNested were created as temporary objects. So they did not have any effect. Fix has been pushed to the branch CR23260 Dear Andrey, Please review. |
|
No remarks, please test |
|
We recognized that the fix does not work; the possible reason is that map of edges uses TopTools_ShapeMapHasher which accounts for the edge location, thus edges with different locations are considered different and do not get protected from the data race. The fix to be tried is to change the map to use the edge's TShape (which is Handle) instead of the whole Edge. |
|
Map inside TopTools_MutexForShapeProvider now stores Handle_TopoDS_TShape as a key instead of TopoDS_Shape. Changes have been pushed to the git. Dear Andrey, Please review. |
|
No remarks, please test |
|
Test cases mesh standard_incmesh_parallel R3 hangs up or performance is decreased (killed by cpulimit 1000). Platforms are: Debian40, Mandriva2008, SL51-64. |
|
It is looks like a performance problem of stations. The incmesh is called 1000 times in circle for R3 case. The time for one incmesh call is about 1 second. cpulimit is set to 1000. It means the case may be killed by cputime if station has old processor. I think the issue may be closed. |
|
I tested the branch with a valgrind (helgrind tool was used). And now it doesn't report about any problems in occt code. So I also think that the problem is finally fixed. |
|
Dear BugMaster, The workbenches KAS:dev:mkv-23260-occt (GIT branch CR23260) KAS:dev:mkv-23260-products (GIT master) were compiled on Linux platform and tested. Regression: Not detected Improvements: Not detected Testing case: Not needed See results in /QADisk/occttests/results/KAS/dev/mkv-23260-products_18072012/lin See reference results in /QADisk/occttests/results/KAS/dev/products-20120706-opt_06072012/lin See test cases in /QADisk/occttests/tests/ED |
occt: master f67d0512 2012-07-20 13:18:29
|
0023260: Regression: Instability in parallel incmesh on Linux. Added protection to the function which may have data race (according to the valgrind report). Added protection to the BRepMesh_FastDiscretFace::RestoreStructureFromTriangulation function Slight reordering to optimize use of mutex (lock once) Now Standard_Mutex::SentryNested are created as named object. Map inside TopTools_MutexForShapeProvider now store Handle_TopoDS_TShape as a key instead of TopoDS_Shape |
Affected Issues 0023260 |
|
mod - src/BRepMesh/BRepMesh_FastDiscretFace.cdl | Diff File | ||
mod - src/BRepMesh/BRepMesh_FastDiscretFace.cxx | Diff File | ||
mod - src/TopTools/TopTools_MutexForShapeProvider.cxx | Diff File | ||
mod - src/TopTools/TopTools_MutexForShapeProvider.hxx | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2012-07-11 15:49 |
|
New Issue | |
2012-07-11 15:49 |
|
Assigned To | => dbv |
2012-07-11 15:49 |
|
Note Added: 0020910 | |
2012-07-11 15:49 |
|
Status | new => assigned |
2012-07-11 15:50 |
|
Note Added: 0020911 | |
2012-07-12 18:26 |
|
Note Added: 0020937 | |
2012-07-13 11:55 |
|
Reproducibility | always => random |
2012-07-13 16:27 |
|
Relationship added | related to 0023221 |
2012-07-16 12:48 |
|
Note Added: 0020982 | |
2012-07-16 12:48 |
|
Assigned To | dbv => abv |
2012-07-16 12:48 |
|
Status | assigned => resolved |
2012-07-16 14:43 |
|
Note Added: 0020987 | |
2012-07-16 15:11 |
|
Note Added: 0020988 | |
2012-07-16 15:11 |
|
Assigned To | abv => bugmaster |
2012-07-16 15:11 |
|
Status | resolved => reviewed |
2012-07-16 18:42 |
|
Assigned To | bugmaster => mkv |
2012-07-17 11:44 |
|
Note Added: 0021003 | |
2012-07-17 11:44 |
|
Assigned To | mkv => dbv |
2012-07-17 11:44 |
|
Status | reviewed => assigned |
2012-07-17 11:49 |
|
Platform | Linux => Linux, Windows |
2012-07-17 12:14 |
|
Note Added: 0021004 | |
2012-07-17 12:14 |
|
Assigned To | dbv => abv |
2012-07-17 12:14 |
|
Status | assigned => resolved |
2012-07-17 12:24 |
|
Relationship deleted | related to 0023221 |
2012-07-17 12:25 |
|
Relationship added | has duplicate 0023221 |
2012-07-17 12:42 |
|
Note Added: 0021005 | |
2012-07-17 12:42 |
|
Status | resolved => reviewed |
2012-07-17 13:42 |
|
Assigned To | abv => mkv |
2012-07-17 15:59 |
|
Note Added: 0021010 | |
2012-07-17 15:59 |
|
Assigned To | mkv => dbv |
2012-07-17 15:59 |
|
Status | reviewed => assigned |
2012-07-17 18:15 |
|
Note Added: 0021022 | |
2012-07-17 18:15 |
|
Assigned To | dbv => abv |
2012-07-17 18:15 |
|
Status | assigned => resolved |
2012-07-17 19:24 |
|
Note Added: 0021024 | |
2012-07-17 19:24 |
|
Assigned To | abv => bugmaster |
2012-07-17 19:24 |
|
Status | resolved => reviewed |
2012-07-18 12:36 |
|
Note Added: 0021041 | |
2012-07-18 12:36 |
|
Assigned To | bugmaster => dbv |
2012-07-18 12:36 |
|
Status | reviewed => assigned |
2012-07-18 15:13 |
|
Note Added: 0021050 | |
2012-07-18 15:13 |
|
Status | assigned => resolved |
2012-07-18 15:22 |
|
Status | resolved => reviewed |
2012-07-18 15:36 |
|
Note Added: 0021051 | |
2012-07-18 16:22 |
|
Assigned To | dbv => mkv |
2012-07-19 11:12 |
|
Assigned To | mkv => apn |
2012-07-19 12:00 | apn | Note Added: 0021061 | |
2012-07-19 12:02 | apn | Test case number | => Not needed |
2012-07-19 12:02 | apn | Assigned To | apn => bugmaster |
2012-07-19 12:02 | apn | Status | reviewed => tested |
2012-07-23 12:20 |
|
Changeset attached | => occt master f67d0512 |
2012-07-23 12:20 |
|
Assigned To | bugmaster => dbv |
2012-07-23 12:20 |
|
Status | tested => verified |
2012-07-23 12:20 |
|
Resolution | open => fixed |
2012-07-23 13:01 |
|
Relationship added | child of 0022850 |
2012-11-09 09:52 |
|
Category | OCCT:Modeling Algorithms => OCCT:Mesh |
2012-11-16 13:13 | bugmaster | Fixed in Version | => 6.5.4 |
2012-11-16 13:18 | bugmaster | Status | verified => closed |