qgis / QGIS

QGIS is a free, open source, cross platform (lin/win/mac) geographical information system (GIS)
https://qgis.org
GNU General Public License v2.0
10.62k stars 3.01k forks source link

Crash using raster hillshade renderer and OpenCL acceleration #52655

Open nicogodet opened 1 year ago

nicogodet commented 1 year ago

What is the bug or the crash?

This is new (since 3.30.0 or late 3.28)


Stack Trace

GTPin_Init :
GTPin_Init :
GTPin_Init :
clGetPlatformInfo :
QgsHillshadeRenderer::block :
QgsBrightnessContrastFilter::block :
QgsHueSaturationFilter::block :
QgsRasterResampleFilter::block :
QgsRasterProjector::block :
QgsRasterIterator::readNextRasterPartInternal :
QgsRasterDrawer::draw :
QgsRasterDrawer::draw :
QgsRasterLayerRenderer::render :
QgsMapRendererParallelJob::renderLayerStatic :
QgsProfilePlotRenderer::replaceSourceInternal :
QgsMapRendererParallelJob::renderingFinished :
QgsMapRendererParallelJob::takeLabelingResults :
QtConcurrent::ThreadEngineBase::run :
QThreadPoolPrivate::reset :
QThread::start :
BaseThreadInitThunk :
RtlUserThreadStart :

QGIS Info
QGIS Version: 3.30.1-'s-Hertogenbosch
QGIS code revision: 9035a01e
Compiled against Qt: 5.15.3
Running against Qt: 5.15.3
Compiled against GDAL: 3.6.3
Running against GDAL: 3.6.3

System Info
CPU Type: x86_64
Kernel Type: winnt
Kernel Version: 10.0.19044

Hard to reproduce unfortunately...

gentle ping @vcloarec as you recently played with hillshade for global map shading

Steps to reproduce the issue

  1. Enable OpenCL acceleration
  2. Use hillshade symbology on raster layer

Versions

QGIS Version: 3.30.1-'s-Hertogenbosch QGIS code revision: 9035a01e Compiled against Qt: 5.15.3 Running against Qt: 5.15.3 Compiled against GDAL: 3.6.3 Running against GDAL: 3.6.3

Win10

Supported QGIS version

New profile

Additional context

No response

vcloarec commented 1 year ago

@nicogodet , global map shading does not used the same pipe than the raster hillshade renderer, and this crash seems to happen in the hillshade renderer pipe.

Does it happen also with 3.28 as you said? In that case, it is sure that is not the global map shading changes that is the origin if this issue, global map shading was added in 3.30.

nicogodet commented 1 year ago

On 3.28

Python Stack Trace
Windows fatal exception: access violation

Thread 0x0000567c (most recent call first):

Windows fatal exception: access violation

Thread 0x0000567c (most recent call first):

Stack Trace

memcpy_repmovs memcpy.asm:114
QgsHillshadeRenderer::block :
QgsBrightnessContrastFilter::block :
QgsHueSaturationFilter::block :
QgsRasterResampleFilter::block :
QgsRasterProjector::block :
QgsRasterIterator::readNextRasterPartInternal :
QgsRasterDrawer::draw :
QgsRasterDrawer::draw :
QgsRasterLayerRenderer::render :
QgsMapRendererCustomPainterJob::doRender :
QgsMapRendererCustomPainterJob::staticRender :
QgsMapRendererCustomPainterJob::renderSynchronously :
QThreadPoolPrivate::reset :
QThread::start :
BaseThreadInitThunk :
RtlUserThreadStart :

QGIS Info
QGIS Version: 3.28.7-Firenze
QGIS code revision: fedae0eb52
Compiled against Qt: 5.15.3
Running against Qt: 5.15.3
Compiled against GDAL: 3.7.0
Running against GDAL: 3.7.0

System Info
CPU Type: x86_64
Kernel Type: winnt
Kernel Version: 10.0.19044

It seems it happens when a render job is cancel or a repaint is asked while previous one isn't finished It's very hard to reproduce