From: eap Date: Tue, 11 Sep 2007 06:12:36 +0000 (+0000) Subject: PAL16774,PAL16631(SALOME crash after a mesh computation that failed because of lack... X-Git-Tag: V4_1_0a1~21 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;ds=inline;h=f0331f699bd894bed05e3d2f79de7b86584e538d;p=modules%2Fsmesh.git PAL16774,PAL16631(SALOME crash after a mesh computation that failed because of lack of memory) Precise error message --- diff --git a/src/SMESH/SMESH_subMesh.cxx b/src/SMESH/SMESH_subMesh.cxx index e766df8ef..d490e6bbe 100644 --- a/src/SMESH/SMESH_subMesh.cxx +++ b/src/SMESH/SMESH_subMesh.cxx @@ -1335,7 +1335,7 @@ bool SMESH_subMesh::ComputeStateEngine(int event) _computeError = algo->GetComputeError(); } catch ( std::bad_alloc& exc ) { - printf("std::bad_alloc\n"); + printf("std::bad_alloc thrown inside algo->Compute()\n"); if ( _computeError ) { _computeError->myName = COMPERR_MEMORY_PB; //_computeError->myComment = exc.what(); @@ -1344,7 +1344,7 @@ bool SMESH_subMesh::ComputeStateEngine(int event) throw exc; } catch ( Standard_OutOfMemory& exc ) { - printf("Standard_OutOfMemory\n"); + printf("Standard_OutOfMemory thrown inside algo->Compute()\n"); if ( _computeError ) { _computeError->myName = COMPERR_MEMORY_PB; //_computeError->myComment = exc.what(); @@ -1393,7 +1393,6 @@ bool SMESH_subMesh::ComputeStateEngine(int event) if (ret) { _computeError.reset(); - //UpdateDependantsState( SUBMESH_COMPUTED ); // send event SUBMESH_COMPUTED } UpdateDependantsState( SUBMESH_COMPUTED ); // send event SUBMESH_COMPUTED } @@ -1611,15 +1610,6 @@ bool SMESH_subMesh::CheckComputeError(SMESH_Algo* theAlgo, const TopoDS_Shape& t noErrors = false; } } - if ( !theAlgo->OnlyUnaryInput() && !theShape.IsNull() && - theShape.ShapeType() == TopAbs_COMPOUND ) - { - for (TopoDS_Iterator subIt( theShape ); subIt.More(); subIt.Next()) { - SMESH_subMesh* sm = _father->GetSubMesh( subIt.Value() ); - if ( sm != this && !sm->CheckComputeError( theAlgo )) - noErrors = false; - } - } return noErrors; }