[vtkusers] qtimageviewer example crashes with vtk 5.6.0

Clinton Stimpson clinton at elemtech.com
Wed May 5 16:02:56 EDT 2010


The "-graphicssystem opengl" option for Qt/VTK applications is not supported.

For the infinite recursion, I've seen that happen if there was a particluar 
QStyle used with a QVTKWidget that has no parent.  Changing QStyle or giving 
it a parent might solve your problem.
QWidget* parent_widget = new QWidget(NULL);
QVTKWidget* new_widget = new QVTKWidget(parent_widget);
QVBoxLayout* l = new QVBoxLayout(parent_widget);
l->setContentsMargins(0,0,0,0);
parent_widget->setLayout(l);
l->addWidget(new_widget);

If that doesn't fix your problem, then you'll have to put a breakpoint in 
QPaintEngine::drawPolygon to see from where it starts an infinite recursion.

Clint

On Wednesday, May 05, 2010 12:26:38 pm Thorben Kröger wrote:
> Hello,
> Today I tried migrating to vtk 5.6.0.
> However, my application using QVTK now crashes. I looked at the distributed
> Qt examples and qtimageviewer exhibits what seems to be the same crash:
> 
> GNU gdb (Gentoo 7.1 p1) 7.1
> Copyright (C) 2010 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later
> <http://gnu.org/licenses/gpl.html> This is free software: you are free to
> change and redistribute it. There is NO WARRANTY, to the extent permitted
> by law.  Type "show copying" and "show warranty" for details.
> This GDB was configured as "x86_64-pc-linux-gnu".
> For bug reporting instructions, please see:
> <http://bugs.gentoo.org/>...
> Reading symbols from
> /home/thorben/tmp/VTK/Examples/GUI/Qt/ImageViewer/qtimageviewer...(no
> debugging symbols found)...done.
> (gdb) r
> Starting program:
> /home/thorben/tmp/VTK/Examples/GUI/Qt/ImageViewer/qtimageviewer
> warning: no loadable sections found in added symbol-file
> /usr/lib64/debug/lib64/ld-2.11.1.so.debug
> [Thread debugging using libthread_db enabled]
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0x00007ffff71e3c8b in QPaintEngine::drawPolygon(QPoint const*, int,
> QPaintEngine::PolygonDrawMode) () from /usr/lib64/qt4/libQtGui.so.4
> (gdb)
> 
> The backtrace yields some 2000 call to drawPolygon() ...
> 
> What's also intersesting is that the program cannot use the opengl
> graphicssystem:
> 
> (gdb) r
> Starting program:
> /home/thorben/tmp/VTK/Examples/GUI/Qt/ImageViewer/qtimageviewer -
> graphicssystem opengl
> warning: no loadable sections found in added symbol-file
> /usr/lib64/debug/lib64/ld-2.11.1.so.debug
> [Thread debugging using libthread_db enabled]
> using visual class 4, id 9f
> QGLFramebufferObject: Framebuffer incomplete attachment.
> QGLFramebufferObject: Framebuffer incomplete attachment.
> Failed to create pixmap texture buffer of size  QSize(32, 192) , falling
> back to raster paint engine
> QGLFramebufferObject: Framebuffer incomplete attachment.
> QGLFramebufferObject: Framebuffer incomplete attachment.
> Failed to create pixmap texture buffer of size  QSize(128, 192) , falling
> back to raster paint engine
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0x00007ffff71e3c8b in QPaintEngine::drawPolygon(QPoint const*, int,
> QPaintEngine::PolygonDrawMode) () from /usr/lib64/qt4/libQtGui.so.4
> (gdb)
> 
> Has anyone come across this problem?
> 
> Thorben
> _______________________________________________
> 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 VTK FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
> 
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers



More information about the vtkusers mailing list