Archived issue #0022589
Fix uninitialized memory access issues
Description
RLN contribution (RLN_fix400)
- Summary: Fix uninitialized memory access issues
- Detailed description: The code compiled on Linux with gcc4.4.1 in release mode
produced hang on GeomPlate algo while
worked in debug mode. Analysis with Intel Parallel
Inspector revealed several uninitialized memory
access problems. This fix addresses them
- IntRes2d_Transition, _Domain; Intf_SectionPoint;
Adapto3d_CurveOnSurface; Bnd_Box2d - initialization of all fields
- Summary: Fix uninitialized memory access issues
- Detailed description: The code compiled on Linux with gcc4.4.1 in release mode
produced hang on GeomPlate algo while
worked in debug mode. Analysis with Intel Parallel
Inspector revealed several uninitialized memory
access problems. This fix addresses them
- IntRes2d_Transition, _Domain; Intf_SectionPoint;
Adapto3d_CurveOnSurface; Bnd_Box2d - initialization of all fields
Public activity
6 archived notes
Participants are labeled by their role within this record.
SVN branch http://svn/svn/occt/branches/OCC22589_Advapp2varUninitializedData
for this BUG reviewed.
It seems patch doesn't fit the description - only "AdvApp2Var_Patch.cxx" was
changed. Please check that all changed files were added to this branch.
Otherwise patch looks fine (without remarks).
for this BUG reviewed.
It seems patch doesn't fit the description - only "AdvApp2Var_Patch.cxx" was
changed. Please check that all changed files were added to this branch.
Otherwise patch looks fine (without remarks).
RLN comment:
fix400 was partially integrated (Bnd, Intf, IntRes2d) or not required (e.g. Adaptor3d - as gp classes are now explicitly initialized).
It may be the reason why other files are not presented.
fix400 was partially integrated (Bnd, Intf, IntRes2d) or not required (e.g. Adaptor3d - as gp classes are now explicitly initialized).
It may be the reason why other files are not presented.
Dear Commenter 1,
Workbench KAS:dev:mkv-OCC22589-occt has been created from SVN branch http://svn/svn/occt/branches/OCC22589_Advapp2varUninitializedData
(and mkv-OCC22589-products from trunk) and compiled on Linux platform.
There is extraction error on Linux in following unit:
...
=====> QMesh:xcpp.fill
...
Error : the method QMesh_Discret::Perform() cannot have the keyword 'mutable' but 'out' because it does not comes from a Persistent or a Transient class.
Error : Check of QMesh has failed
Error : Failed during execution
Info : Step xcpp.fill
Error : Step xcpp.fill failed
Error : Step xcpp.src not done : almost QMesh:xcpp.fill failed
Error : Step xcpp.header not done : almost QMesh:xcpp.fill failed
Error : Step xcpp.template not done : almost QMesh:xcpp.fill failed
=====> QMesh:obj.cgen
Info : Step obj.cgen is up to date
Error : Step obj.inc not done : almost QMesh:xcpp.src failed
...
Error : Step obj.comp not done : almost QMesh:xcpp.src failed
Error : Step obj.idep not done : almost QMesh:obj.comp failed
Error : Could not find precedence step : WOKNT:obj.comp
Info : ------------------ Process report ------------------
...
Info : Failed QMesh (xcpp.fill xcpp.src xcpp.header xcpp.template obj.inc obj.comp obj.idep )
...
Info : ----------------------------------------------------
Workbench KAS:dev:mkv-OCC22589-occt has been created from SVN branch http://svn/svn/occt/branches/OCC22589_Advapp2varUninitializedData
(and mkv-OCC22589-products from trunk) and compiled on Linux platform.
There is extraction error on Linux in following unit:
...
=====> QMesh:xcpp.fill
...
Error : the method QMesh_Discret::Perform() cannot have the keyword 'mutable' but 'out' because it does not comes from a Persistent or a Transient class.
Error : Check of QMesh has failed
Error : Failed during execution
Info : Step xcpp.fill
Error : Step xcpp.fill failed
Error : Step xcpp.src not done : almost QMesh:xcpp.fill failed
Error : Step xcpp.header not done : almost QMesh:xcpp.fill failed
Error : Step xcpp.template not done : almost QMesh:xcpp.fill failed
=====> QMesh:obj.cgen
Info : Step obj.cgen is up to date
Error : Step obj.inc not done : almost QMesh:xcpp.src failed
...
Error : Step obj.comp not done : almost QMesh:xcpp.src failed
Error : Step obj.idep not done : almost QMesh:obj.comp failed
Error : Could not find precedence step : WOKNT:obj.comp
Info : ------------------ Process report ------------------
...
Info : Failed QMesh (xcpp.fill xcpp.src xcpp.header xcpp.template obj.inc obj.comp obj.idep )
...
Info : ----------------------------------------------------
2mkv, please rebase bug branch(es) from TRUNK before testing!
The bug branch wasn't updated since jule and surely it may be async from products TRUNK.
Branch was rebased and this 4-lines patch is ready for tests.
The bug branch wasn't updated since jule and surely it may be async from products TRUNK.
Branch was rebased and this 4-lines patch is ready for tests.
Dear Commenter 1,
SVN branch http://svn/svn/occt/branches/OCC22589_Advapp2varUninitializedData was merged with trunk.
Workbench KAS:dev:mkv-OCC22589-occt was updated from SVN branch http://svn/svn/occt/branches/OCC22589_Advapp2varUninitializedData
(and mkv-OCC22589-products from trunk) and compiled on Linux platform.
There are not regressions in mkv-OCC22589-products regarding to KAS:dev:products-652-opt
See results in /QADisk/occttests/results/KAS/dev/mkv-OCC21977-products_27092011/lin
See reference results in /QADisk/occttests/results/KAS/dev/products-652-opt_23092011/lin
See test cases in /QADisk/occttests/tests/ED
N.B. In order to launch testing case you can make use the following instructions
http://doc/doku.php?id=occt:certification
SVN branch http://svn/svn/occt/branches/OCC22589_Advapp2varUninitializedData was merged with trunk.
Workbench KAS:dev:mkv-OCC22589-occt was updated from SVN branch http://svn/svn/occt/branches/OCC22589_Advapp2varUninitializedData
(and mkv-OCC22589-products from trunk) and compiled on Linux platform.
There are not regressions in mkv-OCC22589-products regarding to KAS:dev:products-652-opt
See results in /QADisk/occttests/results/KAS/dev/mkv-OCC21977-products_27092011/lin
See reference results in /QADisk/occttests/results/KAS/dev/products-652-opt_23092011/lin
See test cases in /QADisk/occttests/tests/ED
N.B. In order to launch testing case you can make use the following instructions
http://doc/doku.php?id=occt:certification
Integrated into trunk of occt repository
Date: 2011-09-30 16:45:18 +0400 (Fri, 30 Sep 2011)
New Revision: 9147
Modified:
trunk/src/AdvApp2Var/AdvApp2Var_Patch.cxx
Date: 2011-09-30 16:45:18 +0400 (Fri, 30 Sep 2011)
New Revision: 9147
Modified:
trunk/src/AdvApp2Var/AdvApp2Var_Patch.cxx