Bug report #7659

Zoom out on raster causes segfault.

Added by cgsbob - about 11 years ago. Updated about 11 years ago.

Status:Closed
Priority:Normal
Assignee:-
Category:Rasters
Affected QGIS version:master Regression?:No
Operating System:Linux Mint 13 Maya Easy fix?:No
Pull Request or Patch supplied:No Resolution:
Crashes QGIS or corrupts data:No Copied to github as #:16579

Description

I'm using 8b18577. When I zoom out I get a crash. Here is the backtrace:

#0  0x00007ffff0a3e425 in __GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00007ffff0a41b8b in __GI_abort () at abort.c:91
#2  0x00007ffff0a7c39e in __libc_message (do_abort=2, fmt=0x7ffff0b86008 "*** glibc detected *** %s: %s: 0x%s ***\
") at ../sysdeps/unix/sysv/linux/libc_fatal.c:201
#3  0x00007ffff0a86b96 in malloc_printerr (action=3, str=0x7ffff0b86118 "double free or corruption (!prev)", ptr=<optimized out>) at malloc.c:5007
#4  0x00007ffff49e8d6e in QgsRasterBlock::setIsNoDataExcept (this=0x1630fd0, theExceptRect=...) at /home/bob/dev/gis/Quantum-GIS/src/core/raster/qgsrasterblock.cpp:524
#5  0x00007fffcf933347 in QgsGdalProvider::block (this=0x9162890, theBandNo=1, theExtent=..., theWidth=1413, theHeight=756)
    at /home/bob/dev/gis/Quantum-GIS/src/providers/gdal/qgsgdalprovider.cpp:386
#6  0x00007ffff4a34c83 in QgsSingleBandPseudoColorRenderer::block (this=0x9266a70, bandNo=1, extent=..., width=1413, height=756)
    at /home/bob/dev/gis/Quantum-GIS/src/core/raster/qgssinglebandpseudocolorrenderer.cpp:116
#7  0x00007ffff4a35c59 in QgsBrightnessContrastFilter::block (this=0x8092ec0, bandNo=1, extent=..., width=1413, height=756)
    at /home/bob/dev/gis/Quantum-GIS/src/core/raster/qgsbrightnesscontrastfilter.cpp:125
#8  0x00007ffff4a36d31 in QgsHueSaturationFilter::block (this=0x93c72e0, bandNo=1, extent=..., width=1413, height=756)
    at /home/bob/dev/gis/Quantum-GIS/src/core/raster/qgshuesaturationfilter.cpp:131
#9  0x00007ffff4a2739d in QgsRasterResampleFilter::block (this=0x92691a0, bandNo=1, extent=..., width=1413, height=756)
    at /home/bob/dev/gis/Quantum-GIS/src/core/raster/qgsrasterresamplefilter.cpp:174
#10 0x00007ffff49f9d3c in QgsRasterProjector::block (this=0x9267490, bandNo=1, extent=..., width=1242, height=850)
    at /home/bob/dev/gis/Quantum-GIS/src/core/raster/qgsrasterprojector.cpp:729
#11 0x00007ffff4a0622d in QgsRasterIterator::readNextRasterPart (this=0x7fffffffa940, bandNumber=1, nCols=@0x7fffffffa8ec: 1242, nRows=@0x7fffffffa8f0: 850, block=0x7fffffffa8e0, 
    topLeftCol=@0x7fffffffa8f4: 0, topLeftRow=@0x7fffffffa8f8: 0) at /home/bob/dev/gis/Quantum-GIS/src/core/raster/qgsrasteriterator.cpp:101
#12 0x00007ffff4a1d219 in QgsRasterDrawer::draw (this=0x7fffffffa990, p=0x7fffffffb910, viewPort=0x98ce290, theQgsMapToPixel=0x11bdca0)
    at /home/bob/dev/gis/Quantum-GIS/src/core/raster/qgsrasterdrawer.cpp:63
#13 0x00007ffff4a0a063 in QgsRasterLayer::draw (this=0x9194ed0, theQPainter=0x7fffffffb910, theRasterViewPort=0x98ce290, theQgsMapToPixel=0x11bdca0)
    at /home/bob/dev/gis/Quantum-GIS/src/core/raster/qgsrasterlayer.cpp:464
#14 0x00007ffff4a096ae in QgsRasterLayer::draw (this=0x9194ed0, rendererContext=...) at /home/bob/dev/gis/Quantum-GIS/src/core/raster/qgsrasterlayer.cpp:429
#15 0x00007ffff488a937 in QgsMapRenderer::render (this=0x11bdba0, painter=0x7fffffffb910, forceWidthScale=0x0) at /home/bob/dev/gis/Quantum-GIS/src/core/qgsmaprenderer.cpp:545
#16 0x00007ffff4167931 in QgsMapCanvasMap::render (this=0x11bf9a0) at /home/bob/dev/gis/Quantum-GIS/src/gui/qgsmapcanvasmap.cpp:83
#17 0x00007ffff415fd9e in QgsMapCanvas::refresh (this=0x119ccf0) at /home/bob/dev/gis/Quantum-GIS/src/gui/qgsmapcanvas.cpp:417
#18 0x00007ffff416320f in QgsMapCanvas::zoomWithCenter (this=0x119ccf0, x=453, y=494, zoomIn=false) at /home/bob/dev/gis/Quantum-GIS/src/gui/qgsmapcanvas.cpp:1182
#19 0x00007ffff41761ab in QgsMapToolZoom::canvasReleaseEvent (this=0x1245cf0, e=0x7fffffffc720) at /home/bob/dev/gis/Quantum-GIS/src/gui/qgsmaptoolzoom.cpp:145
#20 0x00007ffff4162891 in QgsMapCanvas::mouseReleaseEvent (this=0x119ccf0, e=0x7fffffffc720) at /home/bob/dev/gis/Quantum-GIS/src/gui/qgsmapcanvas.cpp:1004
#21 0x00007ffff2a61144 in QWidget::event (this=0x119ccf0, event=0x7fffffffc720) at kernel/qwidget.cpp:8362
#22 0x00007ffff2e213b6 in QFrame::event (this=0x119ccf0, e=0x7fffffffc720) at widgets/qframe.cpp:557
#23 0x00007ffff304bb2b in QGraphicsView::viewportEvent (this=0x119ccf0, event=0x7fffffffc720) at graphicsview/qgraphicsview.cpp:2866
#24 0x00007ffff368e028 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<optimized out>, receiver=0x11b5fa0, event=0x7fffffffc720) at kernel/qcoreapplication.cpp:986
#25 0x00007ffff2a1085f in notify_helper (e=0x7fffffffc720, receiver=0x11b5fa0, this=0xcd2540) at kernel/qapplication.cpp:4555
#26 QApplicationPrivate::notify_helper (this=0xcd2540, receiver=0x11b5fa0, e=0x7fffffffc720) at kernel/qapplication.cpp:4531
#27 0x00007ffff2a160bf in QApplication::notify (this=<optimized out>, receiver=0x11b5fa0, e=0x7fffffffc720) at kernel/qapplication.cpp:4102
#28 0x00007ffff47e43dc in QgsApplication::notify (this=0x7fffffffd4d0, receiver=0x11b5fa0, event=0x7fffffffc720) at /home/bob/dev/gis/Quantum-GIS/src/core/qgsapplication.cpp:237
#29 0x00007ffff368de9c in QCoreApplication::notifyInternal (this=0x7fffffffd4d0, receiver=0x11b5fa0, event=0x7fffffffc720) at kernel/qcoreapplication.cpp:876                                 
#30 0x00007ffff2a11862 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231                                 
#31 QApplicationPrivate::sendMouseEvent (receiver=0x11b5fa0, event=0x7fffffffc720, alienWidget=0x11b5fa0, nativeWidget=0xdbde60, buttonDown=0x11b5fa0, lastMouseReceiver=...,                 
    spontaneous=true) at kernel/qapplication.cpp:3170                                                                                                                                         
#32 0x00007ffff2a90bf5 in QETWidget::translateMouseEvent (this=0xdbde60, event=<optimized out>) at kernel/qapplication_x11.cpp:4617                                                           
#33 0x00007ffff2a8fbae in QApplication::x11ProcessEvent (this=0x7fffffffd4d0, event=0x7fffffffcff0) at kernel/qapplication_x11.cpp:3732                                                       
#34 0x00007ffff2ab90d2 in x11EventSourceDispatch (s=0xcd4f70, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146                                                           
#35 0x00007fffef34dd53 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0                                                                                              
#36 0x00007fffef34e0a0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#37 0x00007fffef34e164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#38 0x00007ffff36bd3bf in QEventDispatcherGlib::processEvents (this=0xcd37d0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#39 0x00007ffff2ab8d5e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#40 0x00007ffff368cc82 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#41 0x00007ffff368ced7 in QEventLoop::exec (this=0x7fffffffd390, flags=...) at kernel/qeventloop.cpp:204
#42 0x00007ffff3691f67 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#43 0x0000000000526f18 in main (argc=3, argv=0x7fffffffe018) at /home/bob/dev/gis/Quantum-GIS/src/app/main.cpp:927

History

#1 Updated by Giovanni Manghi about 11 years ago

  • Status changed from Open to Feedback

does not happen here, can you attach sample data/project?

#2 Updated by cgsbob - about 11 years ago

I'll try to make my project smaller and put it up somewhere.

Btw, all of the layers are in NAD83 and I was using Openlayer plugin w/ Google Street (so my project is in EPSG:3857). If I get rid of the Openlayer layer and set it to NAD83, QGIS does not crash.

#3 Updated by Nyall Dawson about 11 years ago

Do you see this same behaviour without blend modes? In current master I'm seeing segfaults when zooming and panning certain rasters without any blending applied.

#4 Updated by cgsbob - about 11 years ago

  • Subject changed from Zoom out on rasters that use blendmode multiply causes crash to Zoom out on raster causes segfault.

Nyall Dawson wrote:

Do you see this same behaviour without blend modes? In current master I'm seeing segfaults when zooming and panning certain rasters without any blending applied.

Hi Nyall. I turned off blend mode and I still have segfaults. So, I've changed the summary of this ticket. I see there has been more work on the raster code, so I'm going to see if updating to master will solve this problem.

#5 Updated by cgsbob - about 11 years ago

  • Status changed from Feedback to Closed

I just updated to 3977cb6 and my project no longer crashes. So, I'm going to close this ticket.

Also available in: Atom PDF