Bug report #7659

Zoom out on raster causes segfault.

Added by cgsbob - over 7 years ago. Updated over 7 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, [email protected]: 1242, [email protected]: 850, block=0x7fffffffa8e0, 
    [email protected]: 0, [email protected]: 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 over 7 years ago

  • Status changed from Open to Feedback

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

#2 Updated by cgsbob - over 7 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 over 7 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 - over 7 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 - over 7 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