[Paraview] Correct Extents for vtkImageData + Crash in ParaView 3.6.2

Michael Jackson mike.jackson at bluequartz.net
Wed Jan 27 14:48:32 EST 2010


Good Question.
    I kinda gave up and rewrote it as a MultiBlock Reader with a  
single output which now seems to be working. If you want me to go back  
and try out the old reader with a single output port I can pull from  
GIT and try it otherwise I am moving on..

___________________________________________________________
Mike Jackson                      www.bluequartz.net

On Jan 27, 2010, at 2:38 PM, Utkarsh Ayachit wrote:

> If you just make the reader produce a single output (change the number
> of output ports to 1) does it work?
>
> Utkarsh
>
> On Wed, Jan 27, 2010 at 10:16 AM, Mike Jackson
> <mike.jackson at bluequartz.net> wrote:
>> I am reading a data file that is a has dimensions 189 x 201 x 1.
>>
>>  During the RequestInformation I set the WHOLE_EXTENT to:
>>  int NumEvenCols = 189;
>>  int NumRows = 201;
>>  extents[0] = 0;
>>  extents[1] = NumEvenCols-1;
>>  extents[2] = 0;
>>  extents[3] = NumRows-1;
>>  extents[4] = 0;
>>  extents[5] = 0;
>>
>> outInfo->Set( vtkStreamingDemandDrivenPipeline::WHOLE_EXTENT(),  
>> extents, 6 );
>>
>> Then in the RequestData() method I initialize each vtkImageData  
>> object
>> (there are 6 output ports):
>> //------------------
>> output->SetScalarTypeToFloat();
>> int xDim=NumEvenCols;
>> int yDim=NumRows;
>> int zDim=1;
>> output->SetDimensions( xDim, yDim, zDim );
>> output->SetNumberOfScalarComponents( 1 );
>> output->AllocateScalars();
>> output->GetPointData()->GetScalars()->SetName("Data");
>> output->GetPointData()->SetActiveScalars("Data");
>> //------------------
>>
>> The data seems to be read OK but when the GUI tries to finish up the
>> display I get an "Unhandled exception at 0x01462f3f (QtCored4.dll) in
>> paraview.exe: 0xC0000005: Access violation writing location
>> 0xcdcdcdcd."
>>  with the following stack trace (Visual Studio 2008, Qt 4.6.1)
>>
>>        QtCored4.dll!QBasicAtomicInt::ref()  Line 319 + 0x8  
>> bytes       C++
>>        QtCored4.dll!QString::QString(const QString & other={...})   
>> Line 715
>> + 0x51 bytes    C++
>>>       pqCore.dll!pqView::getViewType()  Line 79 + 0x31 bytes  C++
>>        pqCore.dll!pqDisplayPolicy::getPreferredView(pqOutputPort *
>> opPort=0x0709cee0, pqView * currentView=0x06fbb598)  Line 187 + 0x18
>> bytes   C++
>>        pqCore.dll! 
>> pqDisplayPolicy::createPreferredRepresentation(pqOutputPort
>> * opPort=0x0709cee0, pqView * view=0x06fbb598, bool
>> dont_create_view=false)  Line 240 + 0x17 bytes  C++
>>        pqCore.dll! 
>> pqPendingDisplayManager::createPendingDisplays(pqView *
>> activeview=0x06fbb598)  Line 178 + 0x22 bytes   C++
>>        pqCore.dll!pqPendingDisplayManager::createPendingDisplays()   
>> Line 255   C++
>>        pqCore.dll! 
>> pqPendingDisplayManager::qt_metacall(QMetaObject::Call
>> _c=InvokeMetaMethod, int _id=5, void * * _a=0x00d4c870)  Line  
>> 92        C++
>>        QtCored4.dll!QMetaObject::metacall(QObject *  
>> object=0x0638cc30,
>> QMetaObject::Call cl=InvokeMetaMethod, int idx=9, void * *
>> argv=0x00d4c870)  Line 238      C++
>>        QtCored4.dll!QMetaObject::activate(QObject *  
>> sender=0x06a952b0,
>> const QMetaObject * m=0x67971f34, int local_signal_index=1, void * *
>> argv=0x00000000)  Line 3264 + 0x27 bytes        C++
>>        pqComponents.dll!pqObjectInspectorWidget::accepted()  Line  
>> 141 +
>> 0x15 bytes      C++
>>        pqComponents.dll!pqObjectInspectorWidget::accept()  Line  
>> 502    C++
>>        pqComponents.dll! 
>> pqObjectInspectorWidget::qt_metacall(QMetaObject::Call
>> _c=InvokeMetaMethod, int _id=9, void * * _a=0x00d4c9fc)  Line 114 +
>> 0x8 bytes       C++
>>        QtCored4.dll!QMetaObject::metacall(QObject *  
>> object=0x06a952b0,
>> QMetaObject::Call cl=InvokeMetaMethod, int idx=36, void * *
>> argv=0x00d4c9fc)  Line 238      C++
>>        QtCored4.dll!QMetaObject::activate(QObject *  
>> sender=0x06a98ac0,
>> const QMetaObject * m=0x65a88ca0, int local_signal_index=2, void * *
>> argv=0x00d4c9fc)  Line 3264 + 0x27 bytes        C++
>>        QtGuid4.dll!QAbstractButton::clicked(bool _t1=false)  Line  
>> 204 +
>> 0x15 bytes      C++
>>        QtGuid4.dll!QAbstractButtonPrivate::emitClicked()  Line  
>> 548     C++
>>        QtGuid4.dll!QAbstractButtonPrivate::click()  Line 540   C++
>>        QtGuid4.dll!QAbstractButton::mouseReleaseEvent(QMouseEvent *
>> e=0x00d4d2d4)  Line 1122        C++
>>        QtGuid4.dll!QWidget::event(QEvent * event=0x00d4d2d4)  Line  
>> 7979        C++
>>        QtGuid4.dll!QAbstractButton::event(QEvent * e=0x00d4d2d4)   
>> Line 1081    C++
>>        QtGuid4.dll!QPushButton::event(QEvent * e=0x00d4d2d4)  Line  
>> 680 C++
>>        QtGuid4.dll!QApplicationPrivate::notify_helper(QObject *
>> receiver=0x06a98ac0, QEvent * e=0x00d4d2d4)  Line 4298 + 0x11
>> bytes   C++
>>        QtGuid4.dll!QApplication::notify(QObject *  
>> receiver=0x06a98ac0,
>> QEvent * e=0x00d4d2d4)  Line 3863 + 0x2f bytes  C++
>>        QtCored4.dll!QCoreApplication::notifyInternal(QObject *
>> receiver=0x06a98ac0, QEvent * event=0x00d4d2d4)  Line 704 + 0x15
>> bytes   C++
>>        QtCored4.dll!QCoreApplication::sendSpontaneousEvent(QObject *
>> receiver=0x06a98ac0, QEvent * event=0x00d4d2d4)  Line 218 + 0x38
>> bytes   C++
>>        QtGuid4.dll!QApplicationPrivate::sendMouseEvent(QWidget *
>> receiver=0x06a98ac0, QMouseEvent * event=0x00d4d2d4, QWidget *
>> alienWidget=0x00000000, QWidget * nativeWidget=0x06a98ac0, QWidget  
>> * *
>> buttonDown=0x65c8fe9c, QPointer<QWidget> & lastMouseReceiver={...},
>> bool spontaneous=true)  Line 2961 + 0xe bytes   C++
>>        QtGuid4.dll!QETWidget::translateMouseEvent(const tagMSG &  
>> msg={...})
>>  Line 3230 + 0x2a bytes C++
>>        QtGuid4.dll!QtWndProc(HWND__ * hwnd=0x001c0348, unsigned int
>> message=514, unsigned int wParam=0, long lParam=1179701)  Line 1623 +
>> 0xc bytes       C++
>>        user32.dll!76836238()
>>        [Frames below may be incorrect and/or missing, no symbols  
>> loaded for
>> user32.dll]
>>        user32.dll!768368ea()
>>        user32.dll!76836899()
>>        user32.dll!76837d31()
>>        user32.dll!76837dfa()
>>        QtCored4.dll!QEventDispatcherWin32::processEvents(QFlags<enum
>> QEventLoop::ProcessEventsFlag> flags={...})  Line 770   C++
>>        QtGuid4.dll! 
>> QGuiEventDispatcherWin32::processEvents(QFlags<enum
>> QEventLoop::ProcessEventsFlag> flags={...})  Line 1139 + 0x15
>> bytes   C++
>>        QtCored4.dll!QEventLoop::processEvents(QFlags<enum
>> QEventLoop::ProcessEventsFlag> flags={...})  Line 150   C++
>>        QtCored4.dll!QEventLoop::exec(QFlags<enum
>> QEventLoop::ProcessEventsFlag> flags={...})  Line 197 + 0x23  
>> bytes      C++
>>        QtCored4.dll!QCoreApplication::exec()  Line 981 + 0x15  
>> bytes    C++
>>        QtGuid4.dll!QApplication::exec()  Line 3578     C++
>>        paraview.exe!main(int argc=1, char * * argv=0x03a918c8)   
>> Line 71 +
>> 0x8 bytes       C++
>>        paraview.exe!__tmainCRTStartup()  Line 582 + 0x19 bytes C
>>        paraview.exe!mainCRTStartup()  Line 399 C
>>
>> Now, what is odd is that if I set the Z Extent from 0 to 1, then I  
>> get
>> a rendering except that the rendering is wrong because there are  
>> now 2
>> slices in the z direction. So what am I doing wrong? I can send code
>> and data file if necessary.
>> _________________________________________________________
>> Mike Jackson                  mike.jackson at bluequartz.net
>> BlueQuartz Software                    www.bluequartz.net
>> Principal Software Engineer                  Dayton, Ohio
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.paraview.org/mailman/listinfo/paraview
>>



More information about the ParaView mailing list