View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0002312ParaView(No Category)public2005-09-29 15:272011-01-13 17:00
ReporterJohn Greenfield 
Assigned ToUtkarsh Ayachit 
PriorityhighSeverityfeatureReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0002312: SNL: Better error handling when out of memory
DescriptionParaview should give an error message about being out of memory when it tries and fails to allocate memory during file opening.
TagsNo tags attached.
Project
Topic Name
Type
Attached Files

 Relationships

  Notes
(0003066)
Berk Geveci (administrator)
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 (administrator)
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 (administrator)
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 (administrator)
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 (administrator)
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


 Issue History
Date Modified Username Field Change
2009-12-09 14:51 Berk Geveci Project @3@ => ParaView
2011-01-13 17:00 Source_changeset_attached => VTK master a2bd8391
2011-01-13 17:00 Source_changeset_attached => VTK master 020ef709
2011-06-16 13:09 Zack Galbreath Category => (No Category)


Copyright © 2000 - 2018 MantisBT Team