MantisBT - ParaView
View Issue Details
0002312ParaView(No Category)public2005-09-29 15:272011-01-13 17:00
John Greenfield 
Utkarsh Ayachit 
highfeaturealways
closedfixed 
 
 
0002312: SNL: Better error handling when out of memory
Paraview should give an error message about being out of memory when it tries and fails to allocate memory during file opening.
No tags attached.
Issue History
2009-12-09 14:51Berk GeveciProject@3@ => ParaView
2011-01-13 17:00Source_changeset_attached => VTK master a2bd8391
2011-01-13 17:00Source_changeset_attached => VTK master 020ef709
2011-06-16 13:09Zack GalbreathCategory => (No Category)

Notes
(0003066)
Berk Geveci   
2005-09-29 15:35   
Fixing this would require either:

* fixing VTK's memory handling
* adding memory check in server manager. This can only warn the user when the memory is low and may not prevent core dump if a very large object's allocation fails

Either solution would delay release of 2.4.
(0003629)
Berk Geveci   
2006-01-31 10:25   
This would take roughly 2 weeks (or maybe more).
(0003691)
   
2006-02-07 15:52   
Step 1:
vtkDataArray uses operator new to allocated data which throws exception when memory allocation fails.

/cvsroot/ParaView/ParaView/VTK/Common/vtkAbstractArray.h,v <-- vtkAbstractArray.h
new revision: 1.6; previous revision: 1.5
/cvsroot/ParaView/ParaView/VTK/Common/vtkBitArray.h,v <-- vtkBitArray.h
new revision: 1.76; previous revision: 1.75
/cvsroot/ParaView/ParaView/VTK/Common/vtkCharArray.h,v <-- vtkCharArray.h
new revision: 1.51; previous revision: 1.50
/cvsroot/ParaView/ParaView/VTK/Common/vtkDataArrayTemplate.h,v <-- vtkDataArrayTemplate.hnew revision: 1.14; previous revision: 1.13
/cvsroot/ParaView/ParaView/VTK/Common/vtkDataArrayTemplate.txx,v <-- vtkDataArrayTemplate.txx
new revision: 1.21; previous revision: 1.20
/cvsroot/ParaView/ParaView/VTK/Common/vtkDoubleArray.h,v <-- vtkDoubleArray.h
new revision: 1.62; previous revision: 1.61
/cvsroot/ParaView/ParaView/VTK/Common/vtkFloatArray.h,v <-- vtkFloatArray.h
new revision: 1.77; previous revision: 1.76
/cvsroot/ParaView/ParaView/VTK/Common/vtkIdTypeArray.h,v <-- vtkIdTypeArray.h
new revision: 1.14; previous revision: 1.13
/cvsroot/ParaView/ParaView/VTK/Common/vtkIntArray.h,v <-- vtkIntArray.h
new revision: 1.79; previous revision: 1.78
/cvsroot/ParaView/ParaView/VTK/Common/vtkLongArray.h,v <-- vtkLongArray.h
new revision: 1.42; previous revision: 1.41
/cvsroot/ParaView/ParaView/VTK/Common/vtkLongLongArray.h,v <-- vtkLongLongArray.h
new revision: 1.2; previous revision: 1.1
/cvsroot/ParaView/ParaView/VTK/Common/vtkShortArray.h,v <-- vtkShortArray.h
new revision: 1.71; previous revision: 1.70
/cvsroot/ParaView/ParaView/VTK/Common/vtkSignedCharArray.h,v <-- vtkSignedCharArray.h
new revision: 1.2; previous revision: 1.1
/cvsroot/ParaView/ParaView/VTK/Common/vtkStringArray.h,v <-- vtkStringArray.h
new revision: 1.6; previous revision: 1.5
/cvsroot/ParaView/ParaView/VTK/Common/vtkUnsignedCharArray.h,v <-- vtkUnsignedCharArray.hnew revision: 1.73; previous revision: 1.72
/cvsroot/ParaView/ParaView/VTK/Common/vtkUnsignedIntArray.h,v <-- vtkUnsignedIntArray.h
new revision: 1.40; previous revision: 1.39
/cvsroot/ParaView/ParaView/VTK/Common/vtkUnsignedLongArray.h,v <-- vtkUnsignedLongArray.hnew revision: 1.40; previous revision: 1.39
/cvsroot/ParaView/ParaView/VTK/Common/vtkUnsignedLongLongArray.h,v <-- vtkUnsignedLongLongArray.h
new revision: 1.2; previous revision: 1.1
/cvsroot/ParaView/ParaView/VTK/Common/vtkUnsignedShortArray.h,v <-- vtkUnsignedShortArray.h
new revision: 1.58; previous revision: 1.57
/cvsroot/ParaView/ParaView/VTK/Common/vtkUnsigned__Int64Array.h,v <-- vtkUnsigned__Int64Array.h
new revision: 1.3; previous revision: 1.2
/cvsroot/ParaView/ParaView/VTK/Common/vtk__Int64Array.h,v <-- vtk__Int64Array.h
new revision: 1.3; previous revision: 1.2
(0003693)
Utkarsh Ayachit   
2006-02-07 15:53   
Step: vtkDataArray uses operator new to allocate memory, which throws exceptions when allocation fails.

/cvsroot/ParaView/ParaView/VTK/Common/vtkAbstractArray.h,v <-- vtkAbstractArray.h
new revision: 1.6; previous revision: 1.5
/cvsroot/ParaView/ParaView/VTK/Common/vtkBitArray.h,v <-- vtkBitArray.h
new revision: 1.76; previous revision: 1.75
/cvsroot/ParaView/ParaView/VTK/Common/vtkCharArray.h,v <-- vtkCharArray.h
new revision: 1.51; previous revision: 1.50
/cvsroot/ParaView/ParaView/VTK/Common/vtkDataArrayTemplate.h,v <-- vtkDataArrayTemplate.hnew revision: 1.14; previous revision: 1.13
/cvsroot/ParaView/ParaView/VTK/Common/vtkDataArrayTemplate.txx,v <-- vtkDataArrayTemplate.txx
new revision: 1.21; previous revision: 1.20
/cvsroot/ParaView/ParaView/VTK/Common/vtkDoubleArray.h,v <-- vtkDoubleArray.h
new revision: 1.62; previous revision: 1.61
/cvsroot/ParaView/ParaView/VTK/Common/vtkFloatArray.h,v <-- vtkFloatArray.h
new revision: 1.77; previous revision: 1.76
/cvsroot/ParaView/ParaView/VTK/Common/vtkIdTypeArray.h,v <-- vtkIdTypeArray.h
new revision: 1.14; previous revision: 1.13
/cvsroot/ParaView/ParaView/VTK/Common/vtkIntArray.h,v <-- vtkIntArray.h
new revision: 1.79; previous revision: 1.78
/cvsroot/ParaView/ParaView/VTK/Common/vtkLongArray.h,v <-- vtkLongArray.h
new revision: 1.42; previous revision: 1.41
/cvsroot/ParaView/ParaView/VTK/Common/vtkLongLongArray.h,v <-- vtkLongLongArray.h
new revision: 1.2; previous revision: 1.1
/cvsroot/ParaView/ParaView/VTK/Common/vtkShortArray.h,v <-- vtkShortArray.h
new revision: 1.71; previous revision: 1.70
/cvsroot/ParaView/ParaView/VTK/Common/vtkSignedCharArray.h,v <-- vtkSignedCharArray.h
new revision: 1.2; previous revision: 1.1
/cvsroot/ParaView/ParaView/VTK/Common/vtkStringArray.h,v <-- vtkStringArray.h
new revision: 1.6; previous revision: 1.5
/cvsroot/ParaView/ParaView/VTK/Common/vtkUnsignedCharArray.h,v <-- vtkUnsignedCharArray.hnew revision: 1.73; previous revision: 1.72
/cvsroot/ParaView/ParaView/VTK/Common/vtkUnsignedIntArray.h,v <-- vtkUnsignedIntArray.h
new revision: 1.40; previous revision: 1.39
/cvsroot/ParaView/ParaView/VTK/Common/vtkUnsignedLongArray.h,v <-- vtkUnsignedLongArray.hnew revision: 1.40; previous revision: 1.39
/cvsroot/ParaView/ParaView/VTK/Common/vtkUnsignedLongLongArray.h,v <-- vtkUnsignedLongLongArray.h
new revision: 1.2; previous revision: 1.1
/cvsroot/ParaView/ParaView/VTK/Common/vtkUnsignedShortArray.h,v <-- vtkUnsignedShortArray.h
new revision: 1.58; previous revision: 1.57
/cvsroot/ParaView/ParaView/VTK/Common/vtkUnsigned__Int64Array.h,v <-- vtkUnsigned__Int64Array.h
new revision: 1.3; previous revision: 1.2
/cvsroot/ParaView/ParaView/VTK/Common/vtk__Int64Array.h,v <-- vtk__Int64Array.h
new revision: 1.3; previous revision: 1.2
(0003695)
Utkarsh Ayachit   
2006-02-07 15:57   
BUG: Fixes Bug 0002312 - SNL: Better error handling when out of memory.
std::bad_alloc exceptions are caught on the server and a message is sent to the client. The client reports the message (which indicates ran out of memory) and closes the server connection. When server connection is dropped, dialog pops up to ask the user if the state must be saved and then the client exits.

/cvsroot/ParaView/ParaView/GUI/Client/vtkPVApplication.cxx,v <-- vtkPVApplication.cxx
new revision: 1.385; previous revision: 1.384
/cvsroot/ParaView/ParaView/Servers/Common/vtkClientConnection.cxx,v <-- vtkClientConnection.cxx
new revision: 1.5; previous revision: 1.4
/cvsroot/ParaView/ParaView/Servers/Common/vtkProcessModule.cxx,v <-- vtkProcessModule.cxxnew revision: 1.39; previous revision: 1.38
/cvsroot/ParaView/ParaView/Servers/Common/vtkProcessModule.h,v <-- vtkProcessModule.h
new revision: 1.37; previous revision: 1.36
/cvsroot/ParaView/ParaView/Servers/Common/vtkProcessModuleConnection.cxx,v <-- vtkProcessModuleConnection.cxx
new revision: 1.8; previous revision: 1.7
/cvsroot/ParaView/ParaView/Servers/ServerManager/vtkSMSourceProxy.cxx,v <-- vtkSMSourceProxy.cxx
new revision: 1.38; previous revision: 1.37
/cvsroot/ParaView/ParaView/VTK/CMakeLists.txt,v <-- CMakeLists.txt
new revision: 1.360; previous revision: 1.359


(0003703)
Utkarsh Ayachit   
2006-02-08 10:31   
Previous fix which relied on std::bad_alloc exception has been removed --- since vtkDataArray cannot use new/delete (since relloc if efficient).

Fixed without reliance on C++ exceptions. The ouput window throws error and warning events which can be handled. The event handler on the server side processmodule parses the text to check for out of memory errors and reports them accordingly." VTK/Common Servers/Common/
/cvsroot/ParaView/ParaView/VTK/Common/vtkOutputWindow.cxx,v <-- vtkOutputWindow.cxx
new revision: 1.39; previous revision: 1.38
/cvsroot/ParaView/ParaView/Servers/Common/vtkProcessModule.cxx,v <-- vtkProcessModule.cxxnew revision: 1.40; previous revision: 1.39