MantisBT - VTK | |||||
| View Issue Details | |||||
| ID | Project | Category | View Status | Date Submitted | Last Update |
| 0009895 | VTK | (No Category) | public | 2009-11-13 18:45 | 2016-08-12 09:55 |
| Reporter | Jerome Velut | ||||
| Assigned To | Kitware Robot | ||||
| Priority | normal | Severity | crash | Reproducibility | always |
| Status | closed | Resolution | moved | ||
| Platform | PC | OS | Linux | OS Version | Fedora 9/11 |
| Product Version | |||||
| Target Version | Fixed in Version | ||||
| Project | |||||
| Type | |||||
| Summary | 0009895: vtkEventQtSlotConnect::Connect crashes a simple Qt application when VTK is compiled in release mode only | ||||
| Description | I wanted to catch VTK event from a Qt application (ParaView, in fact). I used vtkEventQtSlotConnect to connect the renwin interactor events to a Qt widget. If I link the project to a Debug-compiled VTK, this works well. But a Release-mode VTK yields a seg fault. Here is the GDB backtrace for the modified SimpleView detailed thereafter: #################################################" Program received signal SIGSEGV, Segmentation fault. 0x01ad5ee4 in vtkSubjectHelper::AddObserver () from /home/dje/Softwares/Paraview-3.7-Release/bin/libvtkCommon.so.pv3.7 (gdb) backtrace #0 0x01ad5ee4 in vtkSubjectHelper::AddObserver () from /home/dje/Softwares/Paraview-3.7-Release/bin/libvtkCommon.so.pv3.7 #1 0x01ad5f9e in vtkObject::AddObserver () from /home/dje/Softwares/Paraview-3.7-Release/bin/libvtkCommon.so.pv3.7 #2 0x0047b063 in vtkQtConnection::SetConnection () from /home/dje/Softwares/Paraview-3.7-Release/bin/libQVTK.so.pv3.7 #3 0x0047a826 in vtkEventQtSlotConnect::Connect () from /home/dje/Softwares/Paraview-3.7-Release/bin/libQVTK.so.pv3.7 #4 0x0804c299 in SimpleView::SimpleView () #5 0x0804bd28 in main () | ||||
| Steps To Reproduce | Attached is a modified version of the SimpleView that you can find in VTK/Examples/GUI/Qt. The not-so-many modifications are enclosed between comments that contain "JEROME: " Basically, the following lines make an application crashes: vtkEventQtSlotConnect* VTKConnect = vtkEventQtSlotConnect::New( ); vtkRenderWindowInteractor* iren = this->ui->qvtkWidget ->GetRenderWindow( ) ->GetInteractor( ); VTKConnect->Connect( iren, vtkCommand::MouseWheelBackwardEvent, this, SLOT( catchVTKEvent()), 0, 1.0); | ||||
| Additional Information | I investigated on the RenderWindowInteractor validity: Surprisingly, this->ui->qvtkWidget ->GetRenderWindow( ) ->PrintSelf( cout, vtkIndent()); shows a different "Interactor: " value that the simple test cout << iren; My opinion is twofolds: (1) I misused the QVTKWidget, that's why the interactor is not valid (2) The QVTKWidget has a 'release-exclusive' bug. | ||||
| Tags | No tags attached. | ||||
| Relationships | |||||
| Attached Files | https://www.vtk.org/Bug/file/7656/SimpleViewConnectionBug.tar.bz2 | ||||
| Issue History | |||||
| Date Modified | Username | Field | Change | ||
| 2009-11-13 18:45 | Jerome Velut | New Issue | |||
| 2009-11-13 18:45 | Jerome Velut | File Added: SimpleViewConnectionBug.tar.bz2 | |||
| 2009-11-20 04:35 | Jerome Velut | Note Added: 0018491 | |||
| 2011-06-16 13:11 | Zack Galbreath | Category | => (No Category) | ||
| 2016-08-12 09:55 | Kitware Robot | Note Added: 0037120 | |||
| 2016-08-12 09:55 | Kitware Robot | Status | expired => closed | ||
| 2016-08-12 09:55 | Kitware Robot | Resolution | open => moved | ||
| 2016-08-12 09:55 | Kitware Robot | Assigned To | => Kitware Robot | ||
| Notes | |||||
|
|
|||||
|
|
||||
|
|
|||||
|
|
||||