Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Segfault on quitting viz3d using the 'q' key

The same problem occurred on both of my Ubuntu and Windows machines, i.e., when I run the viz3d tutorial example and hit the 'q' key to quit, exceptions are thrown. But if I press 'e' instead, no error happens.

So for Windows, I have Windows-8_x64 + qt-5.3 + vtk-6.1.0 + opencv-2.4.10. When I run the example, the error is like:

Unhandled exception at 0x00007FFBBCD8A776 (opencv_viz2410d.dll) in testViz.exe: 0xC0000005: Access violation reading location 0x0000000000000000.

And the Visual Studio debugger takes me to the function in vizimpl.cpp:

void cv::viz::Viz3d::VizImpl::ExitCallback::Execute(vtkObject*, 
                                                    unsigned long event_id, 
                                                    void*)
{
    if (event_id == vtkCommand::ExitEvent)
    {
        viz->interactor_->TerminateApp();
        viz->interactor_ = 0;
    }
}

For Ubuntu, I have Ubuntu-12.04_x64 + qt-5.0.2 + vtk-6.1.0 + opencv-2.4.9, and the error is "Segmentation fault (core dumped)".

The stack of the QtCreator debugger GDB offered more insight:

0 cv::viz::Viz3d::VizImpl::ExitCallback::Execute(vtkObject, unsigned long, void) /usr/local/lib/libopencv_viz.so.2.4 0x7ffff7bb6048
1 vtkSubjectHelper::InvokeEvent vtkObject.cxx 620 0x7ffff5f20286
2 vtkObject::InvokeEvent vtkObject.cxx 789 0x7ffff5f20795
3 vtkRenderWindowInteractor::ExitCallback vtkRenderWindowInteractor.cxx 296 0x7ffff1fb5870
4 vtkInteractorStyle::OnChar vtkInteractorStyle.cxx 702 0x7ffff2006b4a
5 cv::viz::vtkVizInteractorStyle::OnChar() /usr/local/lib/libopencv_viz.so.2.4 0x7ffff7bc2193
6 vtkInteractorStyle::ProcessEvents vtkInteractorStyle.cxx 1145 0x7ffff20087dc
7 vtkCallbackCommand::Execute vtkCallbackCommand.cxx 42 0x7ffff5dbe02d
8 vtkSubjectHelper::InvokeEvent vtkObject.cxx 620 0x7ffff5f20286
9 vtkObject::InvokeEvent vtkObject.cxx 789 0x7ffff5f20795
10 vtkXRenderWindowInteractorCallback vtkXRenderWindowInteractor.cxx 857 0x7ffff15a4097
11 XtDispatchEventToWidget /usr/lib/x86_64-linux-gnu/libXt.so.6 0x7fffe805d256
12 ?? /usr/lib/x86_64-linux-gnu/libXt.so.6 0x7fffe805d9e6
13 XtDispatchEvent /usr/lib/x86_64-linux-gnu/libXt.so.6 0x7fffe805daa4
14 vtkXRenderWindowInteractor::Start vtkXRenderWindowInteractor.cxx 300 0x7ffff15a2259
15 cv::viz::Viz3d::VizImpl::spinOnce(int, bool) /usr/local/lib/libopencv_viz.so.2.4 0x7ffff7bb66af
16 main testViz.cpp 109 0x403eb3

So does someone have any idea, or get the same error? Could this be some bug in the viz module?

Segfault on quitting viz3d using the 'q' key

The same problem occurred on both of my Ubuntu and Windows machines, i.e., when I run the viz3d tutorial example and hit the 'q' key to quit, exceptions are thrown. But if I press 'e' instead, no error happens.

So for Windows, I have Windows-8_x64 + qt-5.3 + vtk-6.1.0 + opencv-2.4.10. When I run the example, the error is like:

Unhandled exception at 0x00007FFBBCD8A776 (opencv_viz2410d.dll) in testViz.exe: 0xC0000005: Access violation reading location 0x0000000000000000.

And the Visual Studio debugger takes me to the function in vizimpl.cpp:

void cv::viz::Viz3d::VizImpl::ExitCallback::Execute(vtkObject*, 
                                                    unsigned long event_id, 
                                                    void*)
{
    if (event_id == vtkCommand::ExitEvent)
    {
        viz->interactor_->TerminateApp();
        viz->interactor_ = 0;
    }
}

For Ubuntu, I have Ubuntu-12.04_x64 + qt-5.0.2 + vtk-6.1.0 + opencv-2.4.9, and the error is "Segmentation fault (core dumped)".

The stack of the QtCreator debugger GDB offered more insight:

0 cv::viz::Viz3d::VizImpl::ExitCallback::Execute(vtkObject, unsigned long, void) /usr/local/lib/libopencv_viz.so.2.4 0x7ffff7bb6048
1 vtkSubjectHelper::InvokeEvent vtkObject.cxx 620 0x7ffff5f20286
2 vtkObject::InvokeEvent vtkObject.cxx 789 0x7ffff5f20795
3 vtkRenderWindowInteractor::ExitCallback vtkRenderWindowInteractor.cxx 296 0x7ffff1fb5870
4 vtkInteractorStyle::OnChar vtkInteractorStyle.cxx 702 0x7ffff2006b4a
5 cv::viz::vtkVizInteractorStyle::OnChar() /usr/local/lib/libopencv_viz.so.2.4 0x7ffff7bc2193
6 vtkInteractorStyle::ProcessEvents vtkInteractorStyle.cxx 1145 0x7ffff20087dc
7 vtkCallbackCommand::Execute vtkCallbackCommand.cxx 42 0x7ffff5dbe02d
8 vtkSubjectHelper::InvokeEvent vtkObject.cxx 620 0x7ffff5f20286
9 vtkObject::InvokeEvent vtkObject.cxx 789 0x7ffff5f20795
10 vtkXRenderWindowInteractorCallback vtkXRenderWindowInteractor.cxx 857 0x7ffff15a4097
11 XtDispatchEventToWidget /usr/lib/x86_64-linux-gnu/libXt.so.6 0x7fffe805d256
12 ?? /usr/lib/x86_64-linux-gnu/libXt.so.6 0x7fffe805d9e6
13 XtDispatchEvent /usr/lib/x86_64-linux-gnu/libXt.so.6 0x7fffe805daa4
14 vtkXRenderWindowInteractor::Start vtkXRenderWindowInteractor.cxx 300 0x7ffff15a2259
15 cv::viz::Viz3d::VizImpl::spinOnce(int, bool) /usr/local/lib/libopencv_viz.so.2.4 0x7ffff7bb66af
16 main testViz.cpp 109 0x403eb3

So does someone have any idea, or get the same error? Could this be some bug in the viz module?