View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0005928ParaView(No Category)public2007-10-22 19:302009-05-13 13:59
ReporterKen Moreland 
Assigned ToUtkarsh Ayachit 
PrioritynormalSeveritycrashReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target Version3.4Fixed in Version3.4 
Summary0005928: Geometry collected when representation first created
DescriptionThis bug happens with in client/server mode when the compositing threshold is something above 0. When you first add a representation, say from loading a file, vtkMPIMove always collects the data regardless of how big it is. For very big data sets, this can crash things (I have seen it happen).

A work around is to set the compositing threshold to 0.
Additional InformationThe problem occurs in vtkSMSimpleParallelStragegy::UpdatePipeline(). This method is called (indirectly) by the GUI when the representation is first created, before it is ever rendered, to set up the pipeline. This method tries to use the value from the GetUseCompositing method, which is basically set to the current compositing flag for the view. The problem is that the compositing flag was set based on the amount of geometry before the representation. The composite flag is not set again until vtkSMMultiProcessRenderView::BeginStillRender(). By this time, vtkMPIMove has already run and collected all of the geometry on the client (or crashed trying).
TagsNo tags attached.
Project
Topic Name
Type
Attached Files

- Relationships Relation Graph ] Dependency Graph ]

-  Notes
(0009591)
Utkarsh Ayachit (administrator)
2007-10-30 13:09

This fix entails some explanation.
First lets try to understand why the data was
always collected on the client unless there view was already compositing. The
view needed data size information to decide if compositing should be used.
Before getting the size, the view needed to update all representations to ensure
that correct data information is used for this check. Also, this data
information was obtained from the last UpdateSuppressor i.e. the one that did
the caching, so that even when caching was enabled and cache was used, we'd get
the correct data information. Hence, since the view updated all representations
before calling BeginStillRender or BeginInteractiveRender, all representations
used the most recent compositing state to deliver data.

This is now changed. BeginStillRender or BeginInteractiveRender no longer can
assume that all representation will be updated before these methods are
called. Infact, now, the view guarantees only one UpdateAllRepresentations()
call which is after the Begin*Render() and before PerformRender(). All
representations now guarantee that is GetRepresentedDataInformation() or
the methods returning memory sizes are called, the representation will update
the pipeline until before the data movement happens. For this we added a new
PreCollectUpdateSuppressor where-ever required. Thus, when Begin*Render method
does a size query, all representations are "partially" updated and correct
data information is returned. UpdateDataInformation on the representation
strategy updates the pipeline until the data distribution however, when using
cache if the data is cached for the current CacheTime, then it does not update
the pipeline, instead goes to the update suppressor keeping the cache, does a
cache update and then uses the data information from it.

/cvsroot/ParaView3/ParaView3/Qt/Core/pqPipelineRepresentation.cxx,v <-- pqPipelineRepresentation.cxx
new revision: 1.16; previous revision: 1.15
/cvsroot/ParaView3/ParaView3/Qt/Components/pqDisplayProxyEditor.cxx,v <-- pqDisplayProxyEditor.cxx
new revision: 1.44; previous revision: 1.43
/cvsroot/ParaView3/ParaView3/Servers/Common/CMakeLists.txt,v <-- CMakeLists.txt
new revision: 1.71; previous revision: 1.70
/cvsroot/ParaView3/ParaView3/Servers/Common/vtkPVDataSizeInformation.cxx,v <-- vtkPVDataSizeInformation.cxx
initial revision: 1.1
/cvsroot/ParaView3/ParaView3/Servers/Common/vtkPVDataSizeInformation.h,v <-- vtkPVDataSizeInformation.h
initial revision: 1.1
/cvsroot/ParaView3/ParaView3/Servers/Filters/vtkPVUpdateSuppressor.cxx,v <-- vtkPVUpdateSuppressor.cxx
new revision: 1.57; previous revision: 1.56
/cvsroot/ParaView3/ParaView3/Servers/Filters/vtkPVUpdateSuppressor.h,v <-- vtkPVUpdateSuppressor.h
new revision: 1.25; previous revision: 1.24
/cvsroot/ParaView3/ParaView3/Servers/ServerManager/vtkSMDataRepresentationProxy.cxx,v <-- vtkSMDataRepresentationProxy.cxx
new revision: 1.8; previous revision: 1.7
/cvsroot/ParaView3/ParaView3/Servers/ServerManager/vtkSMDataRepresentationProxy.h,v <-- vtkSMDataRepresentationProxy.h
new revision: 1.12; previous revision: 1.11
/cvsroot/ParaView3/ParaView3/Servers/ServerManager/vtkSMIceTCompositeViewProxy.cxx,v <-- vtkSMIceTCompositeViewProxy.cxx
new revision: 1.20; previous revision: 1.19
/cvsroot/ParaView3/ParaView3/Servers/ServerManager/vtkSMIceTMultiDisplayRenderViewProxy.cxx,v <-- vtkSMIceTMultiDisplayRenderViewProxy.cxx
new revision: 1.7; previous revision: 1.6
/cvsroot/ParaView3/ParaView3/Servers/ServerManager/vtkSMMultiProcessRenderView.cxx,v <-- vtkSMMultiProcessRenderView.cxx
new revision: 1.5; previous revision: 1.4
/cvsroot/ParaView3/ParaView3/Servers/ServerManager/vtkSMPVRepresentationProxy.cxx,v <-- vtkSMPVRepresentationProxy.cxx
new revision: 1.14; previous revision: 1.13
/cvsroot/ParaView3/ParaView3/Servers/ServerManager/vtkSMPVRepresentationProxy.h,v <-- vtkSMPVRepresentationProxy.h
new revision: 1.8; previous revision: 1.7
/cvsroot/ParaView3/ParaView3/Servers/ServerManager/vtkSMRenderViewProxy.cxx,v <-- vtkSMRenderViewProxy.cxx
new revision: 1.52; previous revision: 1.51
/cvsroot/ParaView3/ParaView3/Servers/ServerManager/vtkSMRepresentationProxy.h,v <-- vtkSMRepresentationProxy.h
new revision: 1.12; previous revision: 1.11
/cvsroot/ParaView3/ParaView3/Servers/ServerManager/vtkSMRepresentationStrategy.cxx,v <-- vtkSMRepresentationStrategy.cxx
new revision: 1.16; previous revision: 1.15
/cvsroot/ParaView3/ParaView3/Servers/ServerManager/vtkSMRepresentationStrategy.h,v <-- vtkSMRepresentationStrategy.h
new revision: 1.16; previous revision: 1.15
/cvsroot/ParaView3/ParaView3/Servers/ServerManager/vtkSMSimpleParallelStrategy.cxx,v <-- vtkSMSimpleParallelStrategy.cxx
new revision: 1.13; previous revision: 1.12
/cvsroot/ParaView3/ParaView3/Servers/ServerManager/vtkSMSimpleParallelStrategy.h,v <-- vtkSMSimpleParallelStrategy.h
new revision: 1.9; previous revision: 1.8
/cvsroot/ParaView3/ParaView3/Servers/ServerManager/vtkSMSimpleStrategy.cxx,v <-- vtkSMSimpleStrategy.cxx
new revision: 1.12; previous revision: 1.11
/cvsroot/ParaView3/ParaView3/Servers/ServerManager/vtkSMSimpleStrategy.h,v <-- vtkSMSimpleStrategy.h
new revision: 1.7; previous revision: 1.6
/cvsroot/ParaView3/ParaView3/Servers/ServerManager/vtkSMUniformGridParallelStrategy.h,v <-- vtkSMUniformGridParallelStrategy.h
new revision: 1.6; previous revision: 1.5
/cvsroot/ParaView3/ParaView3/Servers/ServerManager/vtkSMUnstructuredGridVolumeRepresentationProxy.cxx,v <-- vtkSMUnstructuredGridVolumeRepresentationProxy.cxx
new revision: 1.14; previous revision: 1.13
/cvsroot/ParaView3/ParaView3/Servers/ServerManager/vtkSMUnstructuredGridVolumeRepresentationProxy.h,v <-- vtkSMUnstructuredGridVolumeRepresentationProxy.h
new revision: 1.10; previous revision: 1.9
/cvsroot/ParaView3/ParaView3/Servers/ServerManager/vtkSMViewProxy.cxx,v <-- vtkSMViewProxy.cxx
new revision: 1.18; previous revision: 1.17
/cvsroot/ParaView3/ParaView3/Servers/ServerManager/vtkSMViewProxy.h,v <-- vtkSMViewProxy.h
new revision: 1.16; previous revision: 1.15
/cvsroot/ParaView3/ParaView3/Servers/ServerManager/Resources/rendering.xml,v <-- rendering.xml
new revision: 1.255; previous revision: 1.254
(0009612)
Alan Scott (manager)
2007-11-01 20:24

Not tested, since I don't know if it can be done.

- Issue History
Date Modified Username Field Change
2007-10-22 19:30 Ken Moreland New Issue
2007-10-22 19:31 Ken Moreland Status backlog => tabled
2007-10-22 19:31 Ken Moreland Assigned To => Utkarsh Ayachit
2007-10-30 13:09 Utkarsh Ayachit Status tabled => @80@
2007-10-30 13:09 Utkarsh Ayachit Resolution open => fixed
2007-10-30 13:09 Utkarsh Ayachit Note Added: 0009591
2007-11-01 20:24 Alan Scott Status @80@ => closed
2007-11-01 20:24 Alan Scott Note Added: 0009612
2009-05-13 13:58 Utkarsh Ayachit Target Version => 3.4
2009-05-13 13:59 Utkarsh Ayachit Fixed in Version => 3.4
2011-06-16 13:10 Zack Galbreath Category => (No Category)


Copyright © 2000 - 2017 MantisBT Team
Powered by Mantis Bugtracker