Bug report #354

crash when refreshing view with a GRASS raster that was removed

Added by Redmine Admin about 13 years ago. Updated over 10 years ago.

Status:Closed
Priority:Low
Assignee:Redmine Admin
Category:GRASS
Affected QGIS version: Regression?:No
Operating System:Linux Easy fix?:No
Pull Request or Patch supplied: Resolution:fixed
Crashes QGIS or corrupts data: Copied to github as #:10413

Description

1. create a raster in GRASS (eg. r.mapcalc 'map=1')

2. open this raster QGIS

3. remove the raster in GRASS (g.remove rast=map)

4. zoom-in or out in QGIS - segfault:

(gdb) bt
#0  0xb5f67ee8 in get_map_row_nomask (fd=-1, rast=0x82e4ce0,
    row=<value optimized out>, data_type=0) at get_row.c:171
#3905  0xb5f6887e in get_map_row (fd=-1, rast=0x82e4ce0, row=0, data_type=0,
    null_is_zero=0, with_mask=1) at get_row.c:590
#3906  0xb5f68ae6 in G_get_c_raster_row (fd=0, buf=0x0, row=0) at get_row.c:810
#3907  0xb5d20907 in GRASSRasterBand::IRasterIO ()
   from /usr/local/lib/gdalplugins/gdal_GRASS.so
#3908  0xb6ffdca4 in GDALRasterBand::RasterIO () from /usr/local//lib/libgdal.so.1
#3909  0xb7fa987d in [[QgsRasterLayer]]::readData (this=0x81d7828,
    gdalBand=0x82b1d10, viewPort=0x82ca090) at qgsrasterlayer.cpp:4429
#3910  0xb7fb795d in [[QgsRasterLayer]]::drawSingleBandGray (this=0x81d7828,
    theQPainter=0x0, theRasterViewPort=0x82ca090, theQgsMapToPixel=0x80f2428,
    theBandNoInt=1) at qgsrasterlayer.cpp:1525
#3911  0xb7fb7fdb in [[QgsRasterLayer]]::draw (this=0x81d7828,
    theQPainter=0xbfeea6f8, theRasterViewPort=0x82ca090,
    theQgsMapToPixel=0x80f2428) at qgsrasterlayer.cpp:1414
#3912  0xb7fc3f99 in [[QgsRasterLayer]]::draw (this=0x81d7828,
    theQPainter=0xbfeea6f8, theViewExtent=0xbfeea5b0,
    theQgsMapToPixel=0x80f2428, drawingToEditingCanvas=true)
    at qgsrasterlayer.cpp:1377
#3913  0xb6ae1376 in [[QgsMapRender]]::render (this=0x8194438, painter=0xbfeea6f8)
    at qgsmaprender.cpp:261
#10 0xb6abfe8c in [[QgsMapCanvasMap]]::render (this=0x81947f0)
---Type <return> to continue, or q <return> to quit---
    at qgsmapcanvasmap.cpp:67
#3914 0xb6abb87d in [[QgsMapCanvas]]::render (this=0x80f3e10) at qgsmapcanvas.cpp:303
#3915 0xb6abb471 in [[QgsMapCanvas]]::drawContents (this=0x80f3e10, p=0x0, cx=0,
    cy=0, cw=0, ch=0) at qgsmapcanvas.cpp:282
#3916 0xb7bb0d6f in Q3ScrollView::drawContentsOffset ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQt3Support.so.4
#3917 0xb7bb3135 in Q3ScrollView::viewportPaintEvent ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQt3Support.so.4
#3918 0xb7bb26d5 in Q3ScrollView::eventFilter ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQt3Support.so.4
#3919 0xb7617c66 in QApplicationPrivate::notify_helper ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#3920 0xb76197d3 in QApplication::notify ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#3921 0xb7660076 in QApplicationPrivate::openPopup ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#3922 0xb7728a5a in QWidgetPrivate::drawWidget ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#3923 0xb7729246 in QWidgetPrivate::drawWidget ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#3924 0xb77286e5 in QWidgetPrivate::drawWidget ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#3925 0xb7729246 in QWidgetPrivate::drawWidget ()
---Type <return> to continue, or q <return> to quit---
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#3926 0xb77286e5 in QWidgetPrivate::drawWidget ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#3927 0xb7729246 in QWidgetPrivate::drawWidget ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#3928 0xb77286e5 in QWidgetPrivate::drawWidget ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#3929 0xb7729246 in QWidgetPrivate::drawWidget ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#3930 0xb77286e5 in QWidgetPrivate::drawWidget ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#3931 0xb7729246 in QWidgetPrivate::drawWidget ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#3932 0xb77290fb in QWidgetPrivate::drawWidget ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#3933 0xb77286e5 in QWidgetPrivate::drawWidget ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#3934 0xb7729246 in QWidgetPrivate::drawWidget ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#3935 0xb77286e5 in QWidgetPrivate::drawWidget ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#3936 0xb7729246 in QWidgetPrivate::drawWidget ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
---Type <return> to continue, or q <return> to quit---
#3937 0xb77290fb in QWidgetPrivate::drawWidget ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#3938 0xb77290fb in QWidgetPrivate::drawWidget ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#36 0xb77290fb in QWidgetPrivate::drawWidget ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#37 0xb77286e5 in QWidgetPrivate::drawWidget ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#38 0xb772969b in QWidgetPrivate::drawWidget ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#39 0xb7729d47 in QWidget::repaint ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#40 0xb7656d34 in QWidget::event ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#41 0xb7898d25 in QStatusBar::event ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#42 0xb7617c95 in QApplicationPrivate::notify_helper ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#43 0xb76197d3 in QApplication::notify ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#44 0xb7e1306a in QCoreApplication::sendPostedEvents ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtCore.so.4
#45 0xb7e31bdc in QEventDispatcherUNIX::processEvents ()
---Type <return> to continue, or q <return> to quit---
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtCore.so.4
#46 0xb767bd8b in non-virtual thunk to QDesktopWidget::~QDesktopWidget() ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#47 0xb7e1021e in QEventLoop::processEvents ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtCore.so.4
#48 0xb7e1043a in QEventLoop::exec ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtCore.so.4
#49 0xb7e13217 in QCoreApplication::exec ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtCore.so.4
#50 0xb7617a35 in QApplication::exec ()
   from /usr/local/Trolltech/Qt-4.1.4/lib/libQtGui.so.4
#51 0x0804c4d8 in main (argc=1, argv=0xbfeecc94) at main.cpp:604

grass57dataset.cpp.patch Magnifier (2.42 KB) Redmine Admin, 2006-11-09 08:04 AM

History

#1 Updated by Redmine Admin about 13 years ago

  • Resolution set to fixed
  • Status changed from Open to Closed

Fixed 9.11.2006 in GDAL, that means it should appear in 1.3.3.
The patch is attached and it should especially be applied to windows
builds.

Radim

#2 Updated by Anonymous over 10 years ago

Milestone Version 0.8 deleted

Also available in: Atom PDF